Private Sub CommandButton1_Click() 'bouton "Copier"
Dim o1 As Object 'déclare la variable o1 (Onglet 1)
Dim o2 As Object 'déclare la variable o2 (Onglet 2)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim t As String 'déclare la variable t (Texte)
Dim p As Long 'déclare la variable p (Prix)
ActiveCell.Select 'enlève le focus au bouton
Set o1 = Sheets("1") 'définit l'onglet 1
Set o2 = Sheets("2") 'définit l'onglet 2
Set dest = o2.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) 'définit la cellule de destination dest
dl = o1.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne édité de la colonne 1 (=A) de l'onglet 1
Set pl = o1.Range("A2:A" & dl) 'définit la plage pl
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
'définit le texte t
t = IIf(t = "", cel.Value & " (" & cel.Offset(0, 1).Value & ") - ", t & cel.Value & " (" & cel.Offset(0, 1).Value & ") - ")
'définit le prix p
If cel.Offset(0, 6).Value <> "" Then p = cel.Offset(0, 6).Value
Next cel 'prochaine cellule de la boucle
dest.Value = Format(Date, "dd/mm/yyyy") 'place la date en dest
dest.Offset(0, 1).Value = t 'place le texte t en dest décalé d'une colonne à droite
dest.Offset(0, 2).Value = p 'place le prix p en dest décalé de deux colonnes à droite
End Sub