Recherche dans listbox

Bonjour à tous,

dans le fichier joint, un userform dans lequel une lisbox est triée à l'aide d'un texbox par recherche par les premières lettres.

je souhaiterai si faisable obtenir une recherche plus complète

par exemple si te tape 7 dans le texbox il affiche tout de suite le ligne ,h;7

Par avance merci

15classeur1.xlsm (23.24 Ko)

le fichier merci

Bonjour,

Un essai ...

Private Sub TextBox1_Change()
Dim Cel As Range

    Me.ListBox1.Clear
     With Worksheets("Feuil1").Range("A1:A" & Worksheets("Feuil1").Cells(Rows.Count, "A").End(xlUp).Row)
        Set Cel = .Find("*" & Me.TextBox1 & "*", LookIn:=xlValues)
        If Not Cel Is Nothing Then
            Me.ListBox1.AddItem Cel.Value
        End If
    End With
End Sub

ric

Bonjour Merci ENORMEMENT c'est parfaitement l'idée.

est il possible d'afficher dans la listox toutes les lignes contenant le ou les caractères de recherche svp ?

bonjour

que l'on soit bien d'accord

on est plus alors dans la logique des premières lettres du mot

et cela aussi bien pour 7 que pour h

et au risque de paraître rabat-joie qu'a tu prévu pour l'exploitation de ta liste filtrée, car tel quel les indexs de ligne ne sont plus cohérents après filtre

pour l'exploit tu va refaire une recherche après sur la feuille !!!

je ça moi j'dis rien hein

fait moi plaisir prend ab et met les index de ligne en colonne 1 (2d colonne) de la liste comme ca quand elle sera filtrée tu saura quelle ligne de la liste apratient a quelle ligne de la feuille

exactement recherche par caractère n'importe ou dans toutes les lignes

Bonjour,

Excuse-moi pour le délais ...

Nouvel essai ...

Private Sub TextBox1_Change()
Dim Cel As Range, X As Integer
Dim firstCellAddress

    Me.ListBox1.Clear
    With Worksheets("Feuil1")
        Set Cel = .Range("A1:A" & Worksheets("Feuil1").Cells(Rows.Count, "A").End(xlUp).Row).Find(Me.TextBox1, LookAt:=xlPart)    ', LookIn:=xlValues)
        If Not Cel Is Nothing Then
            firstCellAddress = Cel.Address
            Do
                Set Cel = .Range("A1:A" & Worksheets("Feuil1").Cells(Rows.Count, "A").End(xlUp).Row).FindNext(Cel)
                Me.ListBox1.AddItem Cel.Value
            Loop While firstCellAddress <> Cel.Address
        End If
    End With
End Sub

ric

Excellent Mille Merci à vous.

Très bonne soirée

ric

Rechercher des sujets similaires à "recherche listbox"