VBA Renvoyer informations

Bonjour à tous,

J'ai un tableau de A à E, colonne A contient le nom du produit et les autres divers informations à propos du produit.

J'ai crée une zone de recherche qui renvoie le nom du produit de la colonne A.

Je souhaite maintenant que des le produit choisi dans la barre de recherche toutes les informations tel que le prix, le poids, etc, soit renvoyé dans d’autres cases.

Pour cela j'avais utilisé les listes déroulantes qui renvoyait un numéro puis à l'aide de la fonction recherche le reste était complété automatiquement.

Comment reproduire le même système avec ma liste de recherche en vba?

Merci par avance!

Voici mon code :

Option Compare Text

Private Sub ListBox1_Click()

End Sub

Private Sub TextBox1_Change()

    Application.ScreenUpdating = False

    Range("B387:B622").Interior.ColorIndex = 2
    ListBox1.Clear

 If TextBox1 <> "" Then
    For ligne = 387 To 622
        If Cells(ligne, 1) Like "*" & TextBox1 & "*" Then
            Cells(ligne, 1).Interior.ColorIndex = 43
            ListBox1.AddItem Cells(ligne, 1)
        End If
    Next
End If

End Sub

Bonjour,

Avec une colonne cachée qui comporte le numéro de ligne correspondant :

Private Sub UserForm_Initialize()

    With ListBox1

        .ColumnCount = 2
        .ColumnWidths = "200;0"

    End With

End Sub

Private Sub ListBox1_Click()

    MsgBox ListBox1.Text & vbCrLf & ListBox1.Column(1, ListBox1.ListIndex)

End Sub

Private Sub TextBox1_Change()

    Dim Ligne As Long
    Dim I As Long

    Application.ScreenUpdating = False

    Range("B387:B622").Interior.ColorIndex = 2

    With ListBox1

        .Clear

        If TextBox1.Text = "" Then Exit Sub

        For Ligne = 387 To 622

            If Cells(Ligne, 1) Like "*" & TextBox1.Text & "*" Then

                Cells(Ligne, 1).Interior.ColorIndex = 43

                .AddItem Cells(Ligne, 1)
                .Column(1, I) = Ligne
                I = I + 1

            End If

        Next

    End With

End Sub

Super! Merci beaucoup.

Est-il possible de rediriger le numéro vers une cellule?

Bonjour,

Le numéro de quoi, de la ligne où se trouve la valeur sélectionnée dans la ListBox ? Si c'est ça, une piste :

Range("A1").Value = ListBox1.Column(1, ListBox1.ListIndex)

Si ce n'est pas ça, précises !

Rechercher des sujets similaires à "vba renvoyer informations"