Erreur avec la fonction call

Lameche15 Messages postés 156 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 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

8 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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.
0
Utilisateur anonyme
4 juin 2013 à 13:58
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.


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
Lameche15 Messages postés 156 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 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".
0
Lameche15 Messages postés 156 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 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 +
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
4 juin 2013 à 14:19
Met des points d'arrêt au début de ta sub TotalJrsT et tu le fais avancer pas à pas jusqu'à trouver la ligne incriminée.

Sauf s'il s'arrête déjà sur une ligne spécifique (chose que tu ne nous as pas dit)


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
Utilisateur anonyme
4 juin 2013 à 14:22
Tu vois?
Le simple fait de mettre de l'ordre dans ton code ça a suffit à te faire y voir plus clair.


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
Lameche15 Messages postés 156 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 septembre 2022
4 juin 2013 à 14:25
Je me rend compte à quel point il faut etre rigoureux quand on fait de la programmation!
0
Utilisateur anonyme
4 juin 2013 à 19:50
D'autant plus que tu n'as même pas besoin de mettre Call.
0
Rejoignez-nous