XL 2016 pb recherche intuitive dans textbox / listbox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

RobyL

XLDnaute Junior
bonjour,

je n'arrive pas à créer une textbox avec une recherche intuitive d'une listbox.
cliquez sur le bouton de l'onglet "choix" pour ouvrir le formulaire.
merci d'avance pour votre aide.
 

Pièces jointes

Salut, surement un doublon avec

Pourriez-vous mettre résolu sur ce post ?
 
re
tiens un exemple simplicime
le textbox recherche dans toutes les colonnes
j'ai une colonne(la dernière ) pour correspondance ligne sur feuille
la liste fait 1000 lignes
tu choisi la méthode en enlevant le "X" dans l'events

ps: j'oubliais
tu a deux sous méthodes "commence par" ou " contient" dans les deux méthodes

c'est beau la vie non ?
donc
soit
VB:
Private Sub TextBox1_Change()    'methode add item
    Dim i&
    ListBox1.Clear
    If TextBox1 = "" Then
        'bien que la boucle remet d'elle meme le tableau en entier si le textbox est vide
        'pas la peine de la faire mouliner
        ListBox1.List = tableau
    Else
        For i = 1 To UBound(tbl)
            'option de recherche
            'If tbl(i) Like "*|" & TextBox1.Value & "*|" Then    'on cherche dans tbl (option :COMMENCE PAR )
            If tbl(i) Like "|*" & TextBox1.Value & "*|" Then    'on cherche dans tbl (option:CONTIENT)

                With ListBox1: .AddItem: For c = 1 To UBound(tableau, 2): .List(.ListCount - 1, c - 1) = tableau(i, c): Next: End With
            End If
        Next
    End If
End Sub

soit
VB:
Private Sub TextBox1_Change()    'methode compose new tbl(tbl2)
    Dim tbl2(), a&, i&, ic&
    ListBox1.Clear
    If TextBox1 = "" Then
        'bien que la boucle remet d'elle meme le tableau en entier si le textbox est vide
        'pas la peine de la faire mouliner
        ListBox1.List = tableau
    Else
        For i = 1 To UBound(tbl)
            'option de recherche
            If tbl(i) Like "*|" & TextBox1.Value & "*|" Then    'on cherche dans tbl (option :COMMENCE PAR )
                'If tbl(i) Like "|*" & TextBox2.Value & "*|" Then    'on cherche dans tbl (option:CONTIENT)

                a = a + 1: ReDim Preserve tbl2(1 To UBound(tableau, 2), 1 To a)
                For ic = 1 To UBound(tbl2): tbl2(ic, a) = tableau(i, ic): Next
                ListBox1.Column = tbl2

                'With ListBox1: .AddItem: For c = 1 To UBound(tableau, 2): .List(.ListCount - 1, c - 1) = tableau(i, c): Next: End With
            End If
        Next
    End If
End Sub
et dans le activate
VB:
Private Sub UserForm_Activate()
    Dim i&

    tableau = Sheets(1).Range("A2:E" & Cells(Rows.Count, 1).End(xlUp).Row).Value
    ReDim tbl(1 To UBound(tableau))
    ListBox1.List = tableau
    ListBox1.ColumnCount = UBound(tableau, 2)
    For i = 1 To UBound(tableau)
        tbl(i) = "|" & Join(Application.Index(tableau, i, 0), "|") & "|"     'on join la ligne du tableau dans la ligne i de tbl
        tableau(i, 5) = i + 1    'on ajoute le numero de ligne en derniere colonne
        DoEvents    'pour ne pas attendre la fin de concstruction de tbl pour l'affichage complet de la liste
    Next
End Sub

tu devrais pas avoir de mal a adapter

demo+fichier joint
demo6.gif


si ca c'est pas du rapido 😀 😉
 

Pièces jointes

Dernière édition:
Bonsoir a tous et au forum
patricktoulon je me suis permis de prendre votre fichier qui fonctionne trés bien, j'aurais une demande supplementaire si possible sur votre fichier pouvez-vous rajouter l'option clic.
je m'explique une fois la ligne trouver dans la listbox en cliquant dessus je voudrais aller dessus dans la feuille.
merci d'avance de votre gentillesse.
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
806
Retour