Option Explicit
Private Rng As Range
Private Sub UserForm_Initialize()
Set Rng = Intersect(Feuil3.[2:1000000], Feuil3.UsedRange)
Me.ListBox1.List = Rng.Value
Me.ListBox1.MultiSelect = fmMultiSelectMulti
End Sub
Private Sub CommandButton1_Click()
Dim TDon(), LD&, TRés(), LR&
TDon = Rng.Value
For LD = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(LD) Then LR = LR + 1
Next LD
ReDim TRés(1 To LR, 1 To 6): LR = 0
For LD = 1 To UBound(TDon, 1)
If ListBox1.Selected(LD - 1) Then
LR = LR + 1
TRés(LR, 1) = LR
TRés(LR, 2) = TDon(LD, 1)
TRés(LR, 3) = TDon(LD, 9)
TRés(LR, 4) = TDon(LR, 3)
TRés(LR, 5) = TDon(LR, 8)
TRés(LR, 6) = TDon(LR, 10)
End If: Next LD
Feuil4.[14:1000000].Delete
Feuil4.[A14].Resize(UBound(TRés, 1), UBound(TRés, 2)).Value = TRés
End Sub