Private Sub CommandButton1_Click() 'bouton "Copie"
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim DLS As Integer 'déclare la variable DLS (Dernière Ligne Source)
Dim I As Integer 'déclare la variable I (Incrément)
Dim PLVD As Integer 'déclare la variable PLVD (Première Ligne Vide Destination)
Set OS = Worksheets("Sheet1") 'définit l'onglet source OS
Set OD = Worksheets("Feuil2") 'définit l'onglet destination OD
DLS = OS.Cells(Application.Rows.Count, "B").End(xlUp).Row 'définit la dernière ligne éditée DLS de la colonne B de l'onglet source
For I = 2 To DLS 'boucle des lignes 2 à DLS
If OS.Cells(I, "B").Value = OS.Cells(I + 1, "B") Then 'condition : si la cellule ligne I, colonne B est égale à la cellule ligne I + 1, colonne B
PLVD = OD.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1 'définit la première ligne vide PLVD de la colonne A de l'onglet destination
OS.Cells(I, "A").Resize(1, 3).Copy OD.Cells(PLVD, "A") 'copie les trois premières cellules de la ligne I de l'onglet source dans la cellule ligne PLVD colonne A de l'onglet destination
OS.Cells(I + 1, "A").Copy OD.Cells(PLVD, "D") 'copie la cellule une ligne en dessous de la colonne A de l'onglet source dans la cellule ligne PLVD colonne D de l'onglet destination
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
OD.Activate 'active l'onglet destination
End Sub