Filtrer une listebox à valeur exact

Bonjour à tous,

J'ai besoin de filtrer une listbox par une référence exact. Voici la fonction :

Function FilterListBoxExactMatch()
    Dim i As Long, j As Long
    Dim searchText As String
    Dim lastCol As Long
    searchText = LCase(TextBox36.Text)

    On Error Resume Next
    ListBox2.Clear

    With Sheets("SaveChannel")
        lastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column

        For i = 1 To .Cells(.Rows.Count, 34).End(xlUp).Row
            If LCase(.Cells(i, 34).Value) = searchText Then
                ListBox2.AddItem .Cells(i, 1).Value
                For j = 2 To lastCol
                    ListBox2.List(ListBox2.ListCount - 1, j - 1) = .Cells(i, j).Value
                Next j
            End If
        Next i
    End With
End Function

Ma ListBox2 contient l' ID(32), la période(33), la référence(34), quantité1(35), quantité2(36), quantité3(37) en format "50;50;150;0;0;0".

Quand j'appel ma fonction dans ma textbox change, je ne trouve aucune des données que je cherche, la ListBox2 est totalement vierge.

Est-ce un problème dans la fonction? ou de l'affichage de la ListBox2?

Merci pour votre retour,

Bonne journée,

RQ

Bonjour,

Comme d'habitude un fichier est pratique.

Concernant votre code, vous placez en début de sub un On Error Resume Next donc vous vous masquez tout ce qui peut planter. Je vous conseille de le retirer (ou limiter avec un On Error Goto 0 une fois l'erreur anticipée passée) au moins pour le temps de votre testing. Si ça se trouve l'erreur vous fera comprendre le problème. Ensuite, faites une exécution en pas à pas avec breakpoint au debut de la fonction puis F8 pour avancer ligne par ligne. Dans l'explorateur d'objets regardez l'évolution de votre listbox. Vous verrez ce qui cloche.

Hello,

en plus des conseils (avisés) de saboh12617 (hello) vous devriez éviter les nom d'objet comme "ListBox2", "TextBox36" qui n'indique pas vraiment ce à quoi ils sont censé servir

Lastcol est lui assez significatif, autant en faire de même avec les objets du formulaire.

Le On Error Resume Next est à utiliser (le moins possible) qu'après avoir débuguer le code

j'ai trouvé mon erreur ! il fallait que je balise ma recherche dans l'onglet !!

Rechercher des sujets similaires à "filtrer listebox valeur exact"