Bonjour,
la fonction Find n'est pas la plus simple pour faire la rechercher envisagée (si j'ai bien compris)
une solution possible:
Private Sub UserForm_Initialize()
Dim DCM_1 As String, DCM_2 As String, DCM_3 As String
Dim i As Long, x As Long
DCM_1 = 31
DCM_2 = 32
DCM_3 = 33
ListBox1.ColumnCount = 5
ListBox1.ColumnWidths = "80;80;80;80,100"
ListBox1.Clear
With Worksheets("Data")
For i = 2 To .Range("B" & Rows.Count).End(xlUp).Row
If .Cells(i, 2) Like DCM_1 & "*" Or .Cells(i, 2) Like DCM_2 & "*" Or .Cells(i, 2) Like DCM_3 & "*" Then
Me.ListBox1.AddItem
Me.ListBox1.List(x, 0) = .Cells(i, 2)
Me.ListBox1.List(x, 1) = .Cells(i, 1)
Me.ListBox1.List(x, 2) =. Cells(i, 4)
Me.ListBox1.List(x, 3) = .Cells(i, 3) ' pas sûr que les valeurs soient dans le bon ordre
x = x + 1
End If
Next
End With
End Sub
A+