Private Sub CB1_Change()
Dim Plage As Range
Dim i As Long
Dim Lmax As Long
Dim L As Long
With CB1
If .ListIndex >= 0 Then
L = .List(.ListIndex, 1) 'On récupére la Ligne source
Else
Exit Sub 'On quitte
End If
End With
With Sheets("base")
Lmax = .Cells(L, 2).End(xlDown).Row
If Lmax = .Cells(L, 1).End(xlDown).Row Then Lmax = L
Set Plage = .Range(.Cells(L, 2), .Cells(Lmax, 4))
End With
With LB1
.Clear
'une boucle afin de pouvoir mettre les quantités à 0
For i = 1 To Plage.Rows.Count
.AddItem ' Plage(i, 1).Value
.List(.ListCount - 1, 0) = Plage(i, 1).Value
.List(.ListCount - 1, 1) = Plage(i, 2).Value
.List(.ListCount - 1, 2) = Plage(i, 3).Value
.List(.ListCount - 1, 3) = 0 'Plage(i, 4).Value
.List(.ListCount - 1, 4) = 0
Next i
End With
End Sub