Userform pour rechercher dans une liste

Bonjour à tous,

Après pas mal de recherche sur les forums, je me suis décidée à poser mon problème car je n'ai pas réussi à adapter à mon fichier les solutions que j'ai pu trouver.

Alors voilà, j'ai un fichier avec une liste de noms de famille. J'ai un bouton de recherche qui ouvre mon formulaire (désolé pour la présentation j'ai fais un fichier vite fait pour les tests). J'ai un textbox et une listbox (et un bouton valider, effacer et fermer, mais pour pour ceux là, j'ai réussi, je pense, à faire les formules vba).

Je voudrai que dans ma listbox, tous les noms de famille s'affiche, et que lorsque je tape par exemple "ni", j'ai "nicolas, fournier..." qui s'affiche dans la liste. Je souhaiterai ensuite cliquer sur nicolas, mettre valider et que "nicolas" s'affiche en C1.

Voilà, j'espère avoir été claire et merci à tous ceux qui prendrons le temps de m'aider !

41test-userform.xlsm (17.69 Ko)

Bonsoir

A tester

Banzai64 a écrit :

Bonsoir

A tester

Bonjour Banzai64,

Super ça marche merci beaucoup pour cette réponse rapide !

Par contre, est-ce que quelqu'un sait comment afficher tous les noms dans la listbox à l'ouverture du formulaire ?

Bonjour,

Sans formulaire & recherche intuitive

Ceuzin

ceuzin a écrit :

Bonjour,

Sans formulaire & recherche intuitive

Ceuzin

Merci Ceuzin,

Pas mal comme solution, mais elle ne prends pas en compte le fait que si je tape "d", je n'aurai pas "bertrand". De plus, le fichier que j'ai mis est une adaptation d'un fichier plus complexe que je compte faire, et j'ai besoin qu'un formulaire s'ouvre pour cette recherche

Bonjour

mac4209 a écrit :

comment afficher tous les noms dans la listbox à l'ouverture du formulaire ?

A tester

P.S. : N'appuies pas sur "Citer" mais sur "Répondre" en bas à gauche du dernier message, cela évite d’encombrer inutilement le post

Avec formulaire et un simple combobox. Le Listbox ne sert à rien

Dim choix1()
Private Sub UserForm_Initialize()
  choix1 = Application.Transpose([liste])
  Me.ComboBox1.List = choix1
End Sub

Private Sub ComboBox1_Change()
 If Me.ComboBox1.ListIndex = -1 And IsError(Application.Match(Me.ComboBox1, choix1, 0)) Then
   Me.ComboBox1.List = Filter(choix1, Me.ComboBox1.Text, True, vbTextCompare)
   Me.ComboBox1.DropDown
 Else
  [C1] = Me.ComboBox1
  Unload Me
 End If
End Sub

Ceuzin

ceuzin a écrit :

Avec formulaire et un simple combobox. Le Listbox ne sert à rien

Ceuzin

Merci mais je préfère garder la listbox pour des raisons d'affichage (le fichier que j'ai mis en exemple est un fichier simple que j'ai créé pour l'exemple, mon fichier réel est beaucoup plus complexe et j'ai besoin que cette liste apparaisse clairement)

Bonjour

Faut croire que ce que je fais ne t’intéresse pas

Je supprime le fichier ?

Désolé Banzai64 je n'avais pas vu ton deuxième fichier !

merci c'est nikel, je vais clôturer le problème

Et merci pour les conseils pour poster.

Rechercher des sujets similaires à "userform rechercher liste"