ListBox double clique qui renvoie à la cellule

Bonjour,

Je tiens à préciser que je débute en VBA et donc que je ne connais rien du tout.

J'ai suivi un tutoriel sur ce site pour créer une barre de recherche sur une feuille Excel.

Seulement voilà, je voudrais que lorsque je clique sur l'une des propositions de la zone liste, cela me renvoi directement à la cellule qui correspond. Pour m'éviter de perdre mon temps à scroller et chercher la bonne cellule.

Merci.

46test.xlsm (25.55 Ko)

Bonjour,

Teste si ça te convient. Comme ta ListBox a deux colonnes, la seconde colonne sert à stocker le numéro de ligne où se trouve l'occurrence :

Private Sub ListBox1_Click()

    With ListBox1

        Cells(.List(.ListIndex, 1), 1).Select

    End With

End Sub

Private Sub TextBox1_Change()

    Dim I As Integer

    Application.ScreenUpdating = False

    Range("a21:a47").Interior.ColorIndex = 0
    ListBox1.Clear

    If TextBox1 <> "" Then

        For ligne = 21 To 47

            'si tu ne veux que les noms commançant par la ou les lettres saisies
            'If Cells(ligne, 1) Like TextBox1 & "*" Then

            If Cells(ligne, 1) Like "*" & TextBox1 & "*" Then

                Cells(ligne, 1).Interior.ColorIndex = 24

                ListBox1.AddItem Cells(ligne, 1)

                'stocke le numéro de la ligne dans la seconde colonne de la istbox
                ListBox1.Column(1, I) = ligne
                I = I + 1

            End If

        Next

    End If

End Sub

Ah super merci beaucoup !!

C'est exactement ce que je voulais !

Juste une dernière question :

Est-ce qu'il est possible d'afficher dans la zone de liste plusieurs colonnes (autre que les numéros des lignes) ?

Car là sur ma feuille Excel il n'y a qu'une colonne que j'ai nommé "Mots", mais si j'ajoutais une autre colonne nommée "Livre" (par exemple). Comment devrais-je faire pour que cette nouvelle colonne s'affiche également dans la zone de liste ? (j'espère que c'est compréhensible ce que je dis ).

Encore merci

82test.xlsm (26.15 Ko)

bonsoir winwin, Theze et le forum

erreur ca fonctionne pas

Bonjour,

Avec 5 colonnes dont la dernière invisible pour stocker le numéro de ligne. Les 4 premières contiennent les valeurs des colonnes A, B, C et D :

Private Sub ListBox1_Click()

    With ListBox1

        Cells(.List(.ListIndex, 4), 1).Select

    End With

End Sub

Private Sub TextBox1_Change()

    Dim I As Integer

    Application.ScreenUpdating = False

    Range("a21:a47").Interior.ColorIndex = 0

    With ListBox1

        .Clear
        .Width = 350
        .ColumnCount = 5
        .ColumnWidths = "95;71;71;71;0"

    End With

    If TextBox1 <> "" Then

        For ligne = 21 To 47

            'si tu ne veux que les noms commançant par la ou les lettres saisies
           'If Cells(ligne, 1) Like TextBox1 & "*" Then

            If Cells(ligne, 1) Like "*" & TextBox1 & "*" Then

                Cells(ligne, 1).Interior.ColorIndex = 24

                ListBox1.AddItem Cells(ligne, 1).Value 'colonne A
                ListBox1.Column(1, I) = Cells(ligne, 1).Offset(, 1).Value 'colonne B
                ListBox1.Column(2, I) = Cells(ligne, 1).Offset(, 2).Value 'colonne C
                ListBox1.Column(3, I) = Cells(ligne, 1).Offset(, 3).Value 'colonne D
                ListBox1.Column(4, I) = ligne 'stocke le numéro de la ligne dans la dernière colonne de la listbox

                I = I + 1

            End If

        Next

    End If

End Sub
Rechercher des sujets similaires à "listbox double clique qui renvoie"