Lier les textbox à la sélection d'une listbox avec filtre

Bonjour à tous!

Je commence à avoir la tête pleine à essayer de régler ma problématique!

Le fier joint est le projet que je suis entrain de créer afin de créer un Userform complet pour la recherche de sous-traitants et fournisseurs. J'ai donc une listbox qui est linker avec des textbox quand je sélection de contact dans la listbox toute ses informations se transfert dans les textbox approprié. Ça fonctionne bien sauf quand je fais une recherche à partir de la TextBox1 quand je sélection ensuite le contact dans la listbox là plus aucun lien ne sefait et les informations ne se transpose pas dans les textbox.

Pouvez-vous m'aider? Merci!

Bonjour,

Il faut mettre Trim(Id) pour la comparaison.

Et pour plus de lisibilité, effacer les textbox avec CommandButton_Nouveau_Click.

Private Sub ListBox1_Change()

Dim Nom2 As Range
Dim X As Integer
Dim Id As String

    CommandButton_Nouveau_Click

    For X = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(X) = True Then
            Id = ListBox1.List(X)
            LLigne = ListBox1.ListIndex
            Exit For
        End If
    Next X

    With ThisWorkbook.Sheets("REGISTRE DES SOUS-TRAITANTS")
        For Each Nom2 In .Range("A2:M" & .[A5000].End(xlUp).Row)

            If CStr(Nom2) = Trim(Id) Then
                Me.TextBox2.Value = .Cells(Nom2.Row, 1)
                Me.ComboBox1.Value = .Cells(Nom2.Row, 2)
                Me.TextBox3.Value = .Cells(Nom2.Row, 3)
                Me.TextBox4.Value = .Cells(Nom2.Row, 4)
                Me.TextBox5.Value = .Cells(Nom2.Row, 5)
                Me.TextBox6.Value = .Cells(Nom2.Row, 6)
                Me.TextBox7.Value = .Cells(Nom2.Row, 7)
                Me.TextBox8.Value = .Cells(Nom2.Row, 8)
                Me.TextBox9.Value = .Cells(Nom2.Row, 9)
                Me.TextBox10.Value = .Cells(Nom2.Row, 10)
                Me.TextBox11.Value = .Cells(Nom2.Row, 11)
                Me.TextBox12.Value = .Cells(Nom2.Row, 12)
                Me.TextBox13.Value = .Cells(Nom2.Row, 13)

            End If
        Next
    End With

End Sub

Idem pour TextBox1_Change pour l'effacement des TextBox.

Private Sub TextBox1_Change()

   If Me.TextBox1 <> "" Then

       CommandButton_Nouveau_Click

       mots = Split(Trim(Me.TextBox1), " ")
       Tbl = choix
       For I = LBound(mots) To UBound(mots)
          Tbl = Filter(Tbl, mots(I), True, vbTextCompare)
       Next I

       If UBound(Tbl) > -1 Then

          Dim b(): ReDim b(1 To UBound(Tbl) + 1, 1 To Ncol)
          For I = LBound(Tbl) To UBound(Tbl)
            a = Split(Tbl(I), "*")
            For k = 1 To Ncol: b(I + 1, k) = a(k - 1): Next k
          Next I
          Me.ListBox1.List = b
        End If
   Else
     UserForm_Initialize
  End If

End Sub

Merci beaucoup Eric, je commençais à m'arracher les cheveux de la tête!

Rebonjour!

Je viens de me rendre compte que quand je fais une recherche dans les contacts et que j'ai plusieurs contact dans une même entreprise tel que MB Ventilation. Quand je sélection l'un des deux noms se qui s'écrit dans les textbox c'est seulement l'un des deux contacts, est-ce qu'il y a moyen d'arranger ça selon vous?

Il faut indexer la table.

Tu mets d'une grande aide merci beaucoup encore une fois!

Rechercher des sujets similaires à "lier textbox selection listbox filtre"