Private Sub CommandButton1_Click()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Byte 'déclare la variable J (incrément)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Set O = Worksheets("Feuil1") 'définit l'onglet O
'définit la cellule de destination DEST (A1, si A1 est vide, sinon, la premiere cellule vide de la colonne A de l'onglet O)
Set DEST = IIf(O.Range("A1").Value = "", O.Range("A1"), O.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0))
For I = 0 To Me.ListBox1.ListCount - 1 'boucle 1 : sur tous les éléments I de la ListBox1
If Me.ListBox1.Selected(I) = True Then 'condition : si l'élément I est sélectionné
For J = 0 To 4 'boucle 2 : sur les 4 premières colonnes J de l'élément sélectionné
DEST.Offset(0, J).Value = Me.ListBox1.Column(J, I) 'récupère la valeur de la colonne J ligne I de la Listbox dans la cellule DEST décalée de J cellules à droite
Next J 'prochaine colonne de la boucle 2
End If 'fin de la condition
Next I 'prochain élément de la boucle 1
End Sub