Bonjour,
Ton UserForm1 :
Dim f, choix(), Rng, Ncol
Private Sub UserForm_Initialize()
Set f = Sheets("Feuil1")
Set Rng = f.Range("A3:H" & f.[a65000].End(xlUp).Row)
Ncol = Rng.Columns.Count
Tbltmp = Rng.Value
For i = LBound(Tbltmp) To UBound(Tbltmp)
ReDim Preserve choix(1 To i)
For k = LBound(Tbltmp) To UBound(Tbltmp, 2)
choix(i) = choix(i) & Tbltmp(i, k) & " * "
Next k
Total = Total + Tbltmp(i, 5)
Next i
Me.ListBox1.List = Rng.Value
Me.TextBox2 = Format(Total, "# ##0.00")
End Sub
Private Sub TextBox1_Change()
If Me.TextBox1 <> "" Then
mots = Split(Trim(Me.TextBox1), " ")
Tbl = choix
For i = LBound(mots) To UBound(mots)
Tbl = Filter(Tbl, mots(i), True, vbTextCompare)
Next i
If UBound(Tbl) > -1 Then
Dim b(): ReDim b(1 To UBound(Tbl) + 1, 1 To Ncol)
For i = LBound(Tbl) To UBound(Tbl)
a = Split(Tbl(i), "*")
For k = 1 To Ncol: b(i + 1, k) = a(k - 1): Next k
Total = Total + (a(4) * 1)
Next i
Me.ListBox1.List = b
Me.TextBox2 = Format(Total, "# ##0.00")
End If
Else
UserForm_Initialize
End If
End Sub
A+