Recherche intuitive dans zone de liste composée à partir de 2 colonnes d'une feuille

lumpy

XLDnaute Nouveau
Bonjour,

J'ai un userform qui contient une zone de liste dont le contenu provient de 2 colonnes d'une feuille Excel (recherche de nom + prénom). Mon souci c'est que je souhaiterais que l'utilisateur puisse réaliser une recherche intuitive à partir de cette zone de liste, c'est-à-dire que l'utilisateur pourrait en commençant à saisir quelques lettres réduire petit à petit cette liste pour y trouver ce qu'il cherche. J'ai réussi à faire quelque chose qui fonctionne concernant la liste qui permet de rechercher le N° de client mais c'était plus facile car celle-ci n'était composée qu'à partir d'une seule colonne.

Cf. le fichier ci-joint (cliquer sur Go pour voir le formulaire). C'est ChoixNom_change qui me pose problème.

J'ai essayé plein de choses mais je n'y arrive pas avec les 2 colonnes.

Merci d'avance si vous avez une solution.
 

Fichiers joints

BOISGONTIER

XLDnaute Barbatruc
Re : Recherche intuitive dans zone de liste composée à partir de 2 colonnes d'une feu

Bonjour,

cf PJ

Code:
Dim f, ligneEnreg, choix1(), tblBD()

Private Sub UserForm_Initialize()
  Set f = Sheets("BD")
  tblBD = Range("A2:G" & [A65000].End(xlUp).Row).Value      ' BD
  n = f.[A65000].End(xlUp).Row - 1
  ReDim choix1(1 To n)
  For i = 1 To n
   choix1(i) = tblBD(i, 1) & " " & tblBD(i, 2)
  Next i
  Call Tri(choix1, LBound(choix1), UBound(choix1))
  Me.ChoixNom.List = choix1
End Sub

Private Sub Choixnom_Change()
  If Me.ChoixNom.ListIndex = -1 And IsError(Application.Match(Me.ChoixNom, choix1, 0)) Then
   Me.ChoixNom.List = Filter(choix1, Me.ChoixNom.Text, True, vbTextCompare)
   Me.ChoixNom.DropDown
  Else
    ChoixNom_click
  End If
End Sub
JB
 

Fichiers joints

Dernière édition:

lumpy

XLDnaute Nouveau
Re : Recherche intuitive dans zone de liste composée à partir de 2 colonnes d'une feu

Ca fonctionne. Merci beaucoup.
 

Discussions similaires


Haut Bas