Limitation de filtre sur Listbox
Bonjour à tous,
Ca fait un moment que je n'ai pas posté sur le forum car je ne rencontrais plus vraiment de problème insolvable sur mes codes VBA et aujourd'hui c'est le retour ...
J'ai actuellement un Userform avec une Listbox que j'alimente sans soucis. J'ai donc décidé d'ajouter une TextBox afin de filtrer les lignes affiché pour n'avoir que celle qui m'intéresse.
Pour ce faire, j'ai une data base avec plus de 34 lignes, et chaque ligne à une référence du type WE001, WE002 etc ...
Le problème vient du fait que mon code est en erreur quand dès le moment où je rentre le "W" dans ma TextBox :
Private Sub TextBox24_Change()
Dim I As Integer
Dim J As Byte
Dim K As Integer
Dim L As Byte
If TEST = True Then
ReDim TC(1 To UBound(TL, 1) + 1, 1 To NC + 1)
TC = Application.Transpose(TL)
Erase TL
TEST = False
End If
Me.ListBox1.Clear
If Me.TextBox24.Value = "" Then Erase TL: Exit Sub
K = 1
For I = 1 To UBound(TC, 1)
For J = 1 To NC + 1
If InStr(1, TC(I, J), Me.TextBox24.Value, vbTextCompare) <> 0 Then
ReDim Preserve TL(1 To NC + 1, 1 To K)
TL(1, K) = TC(1, K)
For L = 1 To NC
TL(L, K) = TC(I, L)
Next L
K = K + 1
Exit For
End If
Next J
Next I
If K > 1 Then
If K = 2 Then ReDim Preserve TL(1 To NC + 1, 1 To 2)
Me.ListBox1.List = Application.Transpose(TL)
End If
End Sub
Dans le code, la ligne en erreur qui m'empêche d'utiliser mon code correctement est la suivante : TL(1, K) = TC(1, K)
Tout mes userforms avec ce code fonctionne correctement et filtre parfaitement, sauf que la database est moins riche en donnée.
Et quand je réduit mon nombre de ligne, je suis tout de même limité à 22 ligne filtré, au dessus il ne m'affiche pas la 23, 24 ....
Auriez-vous une idée du problème ? Si besoin je posterai le fichier.
Cordialement
Bonsoir,
Change se déclenche chaque fois que tu tapes un caractère... Peut-être est-ce prématuré ? Il faudrait alors choisir un autre évènement...