Bonjour,
il n y as point besoin de faire plusieurs macro pour faire ce code !
Par contre quand on apprend, il est utile de faire une macro par action afin de se rendre compte du résultat (et le débugguer quand une erreur se présente)
afin de bien comprendre le mécanisme.
- Action 1 = boucler sur les feuiles
- Action 2 = copie des données de la feuilles A à B
(le pointage dans un même classeur se fait : Feuille.Plage =>
Sheets("Feuil1").Range("A1:D5")
Donc ici on aura 2 pointages, 1 sur la feuille A et l'autre sur la feuille B ainsi que 2 dernière ligne en rapport avec le pointage (qu'on appellera DLC et DLA)
une fois que les 2 actions marchent correctement indépendamment l'une de l'autre, on va les réunir en se souciant du pointage,
car sur la 1ère action on boucle sur un ensemble de feuilles
ce qui donne :
1 2 3 4 5 6 7 8 9 10 11 12
| Sub Synthese()
Dim sh As Worksheet, DLC&, DLA&
For Each sh In Worksheets
If sh.Name <> "Suivi AR" Then
DLC = sh.Cells(Rows.Count, 3).End(xlUp).Row
With Sheets("Suivi AR")
DLA = .Cells(.Rows.Count, 1).End(xlUp)(2).Row
sh.Range("C4:S" & DLC).Copy Destination:=.Range("A" & DLA)
End With
End If
Next
End Sub |
note bien comment le pointage est fait et regarde dans l'aide VBA With … End With
Partager