1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Private Sub CommandButton1_Click() 'bouton mise a jour
Dim O As Object 'déclare la variable O (Onglets)
Dim PL As Range 'déclare la variable PL (PLage)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Rows("3:" & Application.Rows.Count).Delete 'efface les anciennes données
For Each O In Sheets 'boucle sur tous les onglets du classeur
Select Case Left(O.Name, 2) 'agit en fontion des 2 premiers caratères du nom de l'onglet
Case "A-" 'cas "Modèle"
'définit la plage PL
Set PL = Application.Union(O.Range("A10:AA29"), O.Range("A34:AA53"), O.Range("A58:AA77"), O.Range("A82:AA101"), O.Range("A106:AA110"), O.Range("A115:AA119"), _
O.Range("A124:AA128"), O.Range("A133:AA166"))
'définit la cellule de destination DEST
Set DEST = Sheets("RECAP").Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
PL.Copy DEST 'copie la plage PL dans DEST
End Select 'fin de l'action en fonction des 6 premiers caractères du nom de l'onglet
Next O 'prochain onglet de la boucle
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
End Sub
Mais quand j'ajoute un deuxième onglet, ça ne se rajoute pas à la suite.
J'imagine que c'est dans cette ligne là qu'il faut modifier quelque chose ?
Set DEST = Sheets("RECAP").Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) |
Partager