Lameche15
Messages postés156Date d'inscriptionmardi 9 septembre 2008StatutMembreDernière intervention15 septembre 2022
-
4 juin 2013 à 10:56
Utilisateur anonyme -
4 juin 2013 à 19:50
Bonjour à tous,
J'aimerais appeler une macro dans une autre macro,
C'est pkoi j'utilise la fonction call.
Je n'ai pas de paramètres et pourtant cela ne marche pas
"Erreur de compilation: sub, fonction ou property attendue"
Voici mon code si besoin, merci d'avance pour les courageux qui vont s'y plonger.
Sub TotalJrsT()
Dim totalrtt1, totalrtt2, totalrtt3, totalrtt4, totalrtt5, totalrtt6, totalrtt7, totalrtt8, totalrtt9, totalrtt10, totalrtt11, totalrtt12 As Single
Dim totalmal1, totalmal2, totalmal3, totalmal4, totalmal5, totalmal6, totalmal7, totalmal8, totalmal9, totalmal10, totalmal11, totalmal12 As Single
Dim totalfor1, totalfor2, totalfor3, totalfor4, totalfor5, totalfor6, totalfor7, totalfor8, totalfor9, totalfor10, totalfor11, totalfor12 As Single
Dim totalrec1, totalrec2, totalrec3, totalrec4, totalrec5, totalrec6, totalrec7, totalrec8, totalrec9, totalrec10, totalrec11, totalrec12 As Single
Dim totalaa1, totalaa2, totalaa3, totalaa4, totalaa5, totalaa6, totalaa7, totalaa8, totalaa9, totalaa10, totalaa11, totalaa12 As Single
Dim totalish1, totalish2, totalish3, totalish4, totalish5, totalish6, totalish7, totalish8, totalish9, totalish10, totalish11, totalish12 As Single
Dim total1, total2, total3, total4, total5, total6, total7, total8, total9, total10, total11, total12 As Single, TotalJrsT As Single
Dim CArj, CArf, CArm, CAra, CArmai, CArjuin, CArjuil, CAraout, CArs, CAro, CArn, CArd, CA, CAreport As Single
Dim Cellule As Range
For i = 10 To 198 Step 3
TotalJrsT = 0
Range("B" & i, "AF" & i + 1).Select
For Each Cellule In Selection
If Cellule.Interior.Color vbWhite And Cellule.Value "" Then
TotalJrsT = TotalJrsT + 0.5
End If
Next Cellule
'Selection Cellule
CAreport = Sheets("Janvier").Range("AP" & i).Value
'*******************************************************************************Change mode de calcul
total1 = Sheets("Janvier").Range("AG" & i).Value
total2 = Sheets("Février").Range("AG" & i).Value
total3 = Sheets("Mars").Range("AG" & i).Value
total4 = Sheets("Avril").Range("AG" & i).Value
total5 = Sheets("Mai").Range("AG" & i).Value
total6 = Sheets("Juin").Range("AG" & i).Value
total7 = Sheets("Juillet").Range("AG" & i).Value
total8 = Sheets("Aout").Range("AG" & i).Value
total9 = Sheets("Septembre").Range("AG" & i).Value
total10 = Sheets("Octobre").Range("AG" & i).Value
total11 = Sheets("Novembre").Range("AG" & i).Value
total12 = Sheets("Décembre").Range("AG" & i).Value
CArj = (29 + CAreport) - total1
CArf = CArj - total2
CArm = CArf - total3
CAra = CArm - total4
CArmai = CAra - total5
CArjuin = CArmai - total6
CArjuil = CArjuin - total7
CAraout = CArjuil - total8
CArs = CAraout - total9
CAro = CArs - total10
CArn = CAro - total11
CArd = CArn - total12
'Traitement des mi-temps
If i 16 Or i 184 Or i = 187 Then
'Sheets("Janvier").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Janvier").cells(i, "AO").Value = CArj - 13.5
'Sheets("Février").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Février").cells(i, "AO").Value = CArf - 13.5
'Sheets("Mars").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Mars").cells(i, "AO").Value = CArm - 13.5
'Sheets("Avril").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Avril").cells(i, "AO").Value = CAra - 13.5
'Sheets("Mai").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Mai").cells(i, "AO").Value = CArmai - 13.5
'Sheets("Juin").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Juin").cells(i, "AO").Value = CArjuin - 13.5
'Sheets("Juillet").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Juillet").cells(i, "AO").Value = CArjuil - 13.5
'Sheets("Aout").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Aout").cells(i, "AO").Value = CAraout - 13.5
'Sheets("Septembre").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Septembre").cells(i, "AO").Value = CArs - 13.5
'Sheets("Octobre").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Octobre").cells(i, "AO").Value = CAro - 13.5
'Sheets("Novembre").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Novembre").cells(i, "AO").Value = CArn - 13.5
'Sheets("Décembre").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Décembre").cells(i, "AO").Value = CArd - 13.5
Else
'Sheets("Janvier").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Janvier").cells(i, "AO").Value = CArj
'Sheets("Février").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Février").cells(i, "AO").Value = CArf
'Sheets("Mars").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Mars").cells(i, "AO").Value = CArm
'Sheets("Avril").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Avril").cells(i, "AO").Value = CAra
'Sheets("Mai").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Mai").cells(i, "AO").Value = CArmai
'Sheets("Juin").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Juin").cells(i, "AO").Value = CArjuin
'Sheets("Juillet").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Juillet").cells(i, "AO").Value = CArjuil
'Sheets("Aout").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Aout").cells(i, "AO").Value = CAraout
'Sheets("Septembre").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Septembre").cells(i, "AO").Value = CArs
'Sheets("Octobre").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Octobre").cells(i, "AO").Value = CAro
'Sheets("Novembre").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Novembre").cells(i, "AO").Value = CArn
'Sheets("Décembre").cells(i, "AN").Value = TotalJrsT
ActiveSheet.cells(i, "AN").Value = TotalJrsT
Sheets("Décembre").cells(i, "AO").Value = CArd
End If
Sheets("Récap Annuel").Range("B" & i) = Sheets("Janvier").Range("AG" & i).Value + Sheets("Février").Range("AG" & i).Value + Sheets("Mars").Range("AG" & i).Value + Sheets("Avril").Range("AG" & i).Value + Sheets("Mai").Range("AG" & i).Value + Sheets("Juin").Range("AG" & i).Value + Sheets("Juillet").Range("AG" & i).Value + Sheets("Aout").Range("AG" & i).Value + Sheets("Septembre").Range("AG" & i).Value + Sheets("Octobre").Range("AG" & i).Value + Sheets("Novembre").Range("AG" & i).Value + Sheets("Décembre").Range("AG" & i).Value
Sheets("Récap Annuel").Range("C" & i) = Sheets("Janvier").Range("AH" & i).Value + Sheets("Février").Range("AH" & i).Value + Sheets("Mars").Range("AH" & i).Value + Sheets("Avril").Range("AH" & i).Value + Sheets("Mai").Range("AH" & i).Value + Sheets("Juin").Range("AH" & i).Value + Sheets("Juillet").Range("AH" & i).Value + Sheets("Aout").Range("AH" & i).Value + Sheets("Septembre").Range("AH" & i).Value + Sheets("Octobre").Range("AH" & i).Value + Sheets("Novembre").Range("AH" & i).Value + Sheets("Décembre").Range("AH" & i).Value
Sheets("Récap Annuel").Range("D" & i) = Sheets("Janvier").Range("AI" & i).Value + Sheets("Février").Range("AI" & i).Value + Sheets("Mars").Range("AI" & i).Value + Sheets("Avril").Range("AI" & i).Value + Sheets("Mai").Range("AI" & i).Value + Sheets("Juin").Range("AI" & i).Value + Sheets("Juillet").Range("AI" & i).Value + Sheets("Aout").Range("AI" & i).Value + Sheets("Septembre").Range("AI" & i).Value + Sheets("Octobre").Range("AI" & i).Value + Sheets("Novembre").Range("AI" & i).Value + Sheets("Décembre").Range("AI" & i).Value
Sheets("Récap Annuel").Range("E" & i) = Sheets("Janvier").Range("AJ" & i).Value + Sheets("Février").Range("AJ" & i).Value + Sheets("Mars").Range("AJ" & i).Value + Sheets("Avril").Range("AJ" & i).Value + Sheets("Mai").Range("AJ" & i).Value + Sheets("Juin").Range("AJ" & i).Value + Sheets("Juillet").Range("AJ" & i).Value + Sheets("Aout").Range("AJ" & i).Value + Sheets("Septembre").Range("AJ" & i).Value + Sheets("Octobre").Range("AJ" & i).Value + Sheets("Novembre").Range("AJ" & i).Value + Sheets("Décembre").Range("AJ" & i).Value
Sheets("Récap Annuel").Range("F" & i) = Sheets("Janvier").Range("AK" & i).Value + Sheets("Février").Range("AK" & i).Value + Sheets("Mars").Range("AK" & i).Value + Sheets("Avril").Range("AK" & i).Value + Sheets("Mai").Range("AK" & i).Value + Sheets("Juin").Range("AK" & i).Value + Sheets("Juillet").Range("AK" & i).Value + Sheets("Aout").Range("AK" & i).Value + Sheets("Septembre").Range("AK" & i).Value + Sheets("Octobre").Range("AK" & i).Value + Sheets("Novembre").Range("AK" & i).Value + Sheets("Décembre").Range("AK" & i).Value
Sheets("Récap Annuel").Range("G" & i) = Sheets("Janvier").Range("AL" & i).Value + Sheets("Février").Range("AL" & i).Value + Sheets("Mars").Range("AL" & i).Value + Sheets("Avril").Range("AL" & i).Value + Sheets("Mai").Range("AL" & i).Value + Sheets("Juin").Range("AL" & i).Value + Sheets("Juillet").Range("AL" & i).Value + Sheets("Aout").Range("AL" & i).Value + Sheets("Septembre").Range("AL" & i).Value + Sheets("Octobre").Range("AL" & i).Value + Sheets("Novembre").Range("AL" & i).Value + Sheets("Décembre").Range("AL" & i).Value
Sheets("Récap Annuel").Range("H" & i) = Sheets("Janvier").Range("AM" & i).Value + Sheets("Février").Range("AM" & i).Value + Sheets("Mars").Range("AM" & i).Value + Sheets("Avril").Range("AM" & i).Value + Sheets("Mai").Range("AM" & i).Value + Sheets("Juin").Range("AM" & i).Value + Sheets("Juillet").Range("AM" & i).Value + Sheets("Aout").Range("AM" & i).Value + Sheets("Septembre").Range("AM" & i).Value + Sheets("Octobre").Range("AM" & i).Value + Sheets("Novembre").Range("AM" & i).Value + Sheets("Décembre").Range("AM" & i).Value
Sheets("Récap Annuel").Range("i" & i) = Sheets("Janvier").Range("AN" & i).Value + Sheets("Février").Range("AN" & i).Value + Sheets("Mars").Range("AN" & i).Value + Sheets("Avril").Range("AN" & i).Value + Sheets("Mai").Range("AN" & i).Value + Sheets("Juin").Range("AN" & i).Value + Sheets("Juillet").Range("AN" & i).Value + Sheets("Aout").Range("AN" & i).Value + Sheets("Septembre").Range("AN" & i).Value + Sheets("Octobre").Range("AN" & i).Value + Sheets("Novembre").Range("AN" & i).Value + Sheets("Décembre").Range("AN" & i).Value
Next i
Range("A10").Activate
End Sub
Sub Calculer()
Dim TotalCA As Single, TotalRTT As Single, TotalAA As Single, totalish As Single, TotalREC As Single, TotalFOR As Single, TotalMAL As Single, TotalJrsT As Single
Dim Cellule As Range
'Dim Constantes As Range
'Set Constantes = Selection.SpecialCells(xlConstants)
'ActiveCell.EntireRow.Select
For i = 10 To 198 Step 3
TotalCA = 0
TotalRTT = 0
TotalMAL = 0
TotalAA = 0
TotalFOR = 0
TotalREC = 0
totalish = 0
'TotalJrsT = 0
Range("A" & i).EntireRow.Select
For Each Cellule In Selection
If Cellule.Interior.Color = vbRed Then
TotalCA = TotalCA + 0.5
End If
If Cellule.Interior.Color = vbBlue Then
TotalRTT = TotalRTT + 0.5
End If
If Cellule.Interior.Color = vbGreen Then
TotalMAL = TotalMAL + 0.5
End If
If Cellule.Interior.Color = vbCyan Then
TotalFOR = TotalFOR + 0.5
End If
If Cellule.Interior.Color = vbYellow Then
TotalREC = TotalREC + 0.5
End If
If Cellule.Interior.Color = vbMagenta Then
TotalAA = TotalAA + 0.5
End If
If Cellule.Value = "ISH" Then
totalish = totalish + 1
End If
If Cellule.Interior.Color = Null Then
TotalCA = TotalCA
TotalRTT = TotalRTT
TotalMAL = TotalMAL
TotalFOR = TotalFOR
TotalREC = TotalREC
TotalAA = TotalAA
totalish = totalish
End If
Next Cellule
'Selection cellule
'ligne = ActiveCell.Row
cells(i, "AG").Value = TotalCA
cells(i, "AH").Value = TotalRTT
cells(i, "AI").Value = TotalMAL
cells(i, "AJ").Value = TotalFOR
cells(i, "AK").Value = TotalREC
cells(i, "AL").Value = TotalAA
cells(i, "AM").Value = totalish
'cells(i, "AN").Value = TotalJrsT
Next i
Range("A10").Activate
Call TotalJrsT
End Sub
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 4 juin 2013 à 12:46
Bonjour,
Je n'aime pas du tout (car elles révèlent trop de choses) les approximations.
1) La "fonction Cell" n'existe pas
2) tu n'(utilises d'ailleurs pas le mot "'cell" dans ton code, mais bel et bien "Cells".
3) Et Cells non plus n'est pas une "fonction"
Revient en corrigeant ta "terminologie" ou sinon je vais, moi, te répondre en mettant de"s "machins" et des "trucs" partout.
On ne peut valablement développer si l'on n'a pas une idée précise de ce qu'est chaque "chose" !
Commence par ce petit effort, s'il te plait.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Bonjour à tous,
ucfoutu, il parlait bien de la fonction l'instruction Call.
Mais je te l'accorde, avec tout son code "balancé" comme ça... ça laisse place à la confusion.
Lameche15, fait un effort de mieux t'expliquer et avec un schéma plus court s'il te plait.
Lameche15
Messages postés156Date d'inscriptionmardi 9 septembre 2008StatutMembreDernière intervention15 septembre 2022 4 juin 2013 à 14:03
Désolé je n'aurais pas du mettre le code.
En fait c la dernière ligne du code (call TotalJrst) qui plante.
Je ne comprend pas pourquoi car dans d'autres macros d'autres classeur excel j'arrive à utiliser "call".
Lameche15
Messages postés156Date d'inscriptionmardi 9 septembre 2008StatutMembreDernière intervention15 septembre 2022 4 juin 2013 à 14:18
Désolé pour le déragement je viens de trouver l'erreur en voulant epurer un peu le code pour que vous puissiez mieux le lire.
En fait il me restait un argument que j'avais déclaré avec le meme nom que ma fonction ...du coup confusion.
Ca m'apprendra à en mettre partout.
Veuillez m'excuser il s'agit de mon tout premier programme que j'essaie d'améliorer avec le peu d'expérience acquise!
En tout cas merci de vous y etre penché!
A +
Vous n’avez pas trouvé la réponse que vous recherchez ?