patsyl60
XLDnaute Occasionnel
Bonjour à tous,
Problème avec boucle. J'ai fait 3 macro dont 2 boucles ( i et j) qui fonctionnent bien individuellement. En rattachant ces 3 macros, 1 ne fonctionne pas ( la j). Peux être un problème d'imbriquation de boucle. Je vous indique ma macro. Je ne peux vous mettre de fichier joint car ce sont des données confidentielles.
D'avance merci de votre aide.
Message pour ROGER2327 : Ne sois pas surpris, c'est un dérivé de mon post précédent avec d'autres valeurs et d'autres calculs.
Patsyl60 😕
Sub recopie()
nbat = Range("G1").Value
' Compter le nombre de valeurs
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTA(Cumul!R[1]C[-5]:R[65535]C[-5])"
' copier 12 fois les codes
For i = 1 To 12
Range("a65536").End(xlUp).Offset(1, 0).Select
Sheets("Cumul").Select
Range("b2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("RECAP").Select
Range("a65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Cumul").Select
Application.CutCopyMode = False
Range("A1").Select
Next i
' Trier les données
Sheets("RECAP").Select
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("B1").Select
' copier la recap par nombre de valeur
Sheets("RECAP").Select
For j = 1 To nbat
Range("b65536").End(xlUp).Offset(1, 0).Select
Sheets("RepartMens").Select
Range("b2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("RECAP").Select
Range("b65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("RepartMens").Select
Application.CutCopyMode = False
Sheets("RECAP").Select
Range("A1").Select
Next j
' recherche v des codes et formules
Range("C2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],Cumul!RC[-1]:R[72]C[5],3,0)"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],RepartMens!RC[-2]:R[11]C[-1],2,0)"
Range("E2").Select
ActiveCell.FormulaR1C1 = "=+RC[-2]*RC[-1]"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],Cumul!R2C2:R74C8,3,0)"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],RepartMens!R2C2:R13C3,2,0)"
Range("C2:E2").Select
Selection.AutoFill Destination:=Range("C2:E877")
Range("C2:E877").Select
Range("E1").Select
Selection.ClearContents
Columns("E:E").Select
Selection.Copy
Range("F1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("C:E").Delete
Range("A1").Select
Problème avec boucle. J'ai fait 3 macro dont 2 boucles ( i et j) qui fonctionnent bien individuellement. En rattachant ces 3 macros, 1 ne fonctionne pas ( la j). Peux être un problème d'imbriquation de boucle. Je vous indique ma macro. Je ne peux vous mettre de fichier joint car ce sont des données confidentielles.
D'avance merci de votre aide.
Message pour ROGER2327 : Ne sois pas surpris, c'est un dérivé de mon post précédent avec d'autres valeurs et d'autres calculs.
Patsyl60 😕
Sub recopie()
nbat = Range("G1").Value
' Compter le nombre de valeurs
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTA(Cumul!R[1]C[-5]:R[65535]C[-5])"
' copier 12 fois les codes
For i = 1 To 12
Range("a65536").End(xlUp).Offset(1, 0).Select
Sheets("Cumul").Select
Range("b2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("RECAP").Select
Range("a65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Cumul").Select
Application.CutCopyMode = False
Range("A1").Select
Next i
' Trier les données
Sheets("RECAP").Select
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("B1").Select
' copier la recap par nombre de valeur
Sheets("RECAP").Select
For j = 1 To nbat
Range("b65536").End(xlUp).Offset(1, 0).Select
Sheets("RepartMens").Select
Range("b2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("RECAP").Select
Range("b65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("RepartMens").Select
Application.CutCopyMode = False
Sheets("RECAP").Select
Range("A1").Select
Next j
' recherche v des codes et formules
Range("C2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],Cumul!RC[-1]:R[72]C[5],3,0)"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],RepartMens!RC[-2]:R[11]C[-1],2,0)"
Range("E2").Select
ActiveCell.FormulaR1C1 = "=+RC[-2]*RC[-1]"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],Cumul!R2C2:R74C8,3,0)"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],RepartMens!R2C2:R13C3,2,0)"
Range("C2:E2").Select
Selection.AutoFill Destination:=Range("C2:E877")
Range("C2:E877").Select
Range("E1").Select
Selection.ClearContents
Columns("E:E").Select
Selection.Copy
Range("F1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("C:E").Delete
Range("A1").Select