Private Sub ListBox1_Click()
Dim i&, j&, x&, fin& ' là c'est pour déclarer les variables en long
If ListBox1.ListIndex = -1 Then Exit Sub 'ça j'ai compris!
ListBox2.Clear'ça aussi
With Sheets(ListBox1.Value)' ça aussi!
fin = .Range("A" & Rows.Count).End(xlUp).Row 'là c'est pour trouver la dernière ligne de la liste de ta feuille
For i = 1 To fin 'là c'est pour faire une boucle de la ligne 1 à le dernière ligne remplie
If .Range("B" & i) <> "" Then 'là je vérifie si la colonne B contient bien une valeur et si oui j'ajoute à la listbox
ListBox2.AddItem .Range("B" & i).Value 'ajout à la listbox
For a = 1 To 4 ' là je donne à la variable a la valeur de 1 à 4 pour les colonnes
ListBox2.List(ListBox2.ListCount - 1, a) = .Cells(i, a) 'là j'ajoute les colonnes 1 à 4
Next a
End If
Next i
End With
End Sub