Bonjour,
Une suggestion ...
Une petite modif pour limiter temporairement la recherche et un appel à l'ouverture du formulaire ...
ric
Sub inituserform()
Dim c
Dim k
Dim i As Integer
Dim col
''''''''''''''''nouveau code''''''''''''''''''''
' ...
' ...
' ...
For i = 1 To UBound(BD2)
For c = 1 To NbCol_Liste_BI: Tbl2(i, c) = BD2(i, c): Next c
Tbl2(i, c) = BD2(i, NbCol_Liste_BI + 1)
Next i
Call TextBoxMotClé_Change ' ajout ric
End Sub
'
Private Sub TextBoxMotClé_Change()
Dim ColRecherche As Integer
Dim cle As String
Dim n As Byte, k As Byte, i As Byte
ColRecherche = 1
If Me.TextBoxMotClé = "" Then ' modif ric
cle = "*" ' modif ric
Else ' modif ric
cle = "*" & Me.TextBoxMotClé & "*": n = 0
End If ' modif ric
Dim Tbl()
For i = 1 To UBound(BD2)
If BD2(i, ColRecherche) Like cle Then
n = n + 1: ReDim Preserve Tbl(1 To UBound(BD2, 2), 1 To n)
For k = 1 To UBound(BD2, 2): Tbl(k, n) = BD2(i, k): Next k
End If
Next i
If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub