Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Moteur de recherche dans un combobox

RONIBO

XLDnaute Impliqué
Bonjour,

J'ai besoin de vos talents en vba.

J'utilise un combobox pour lister des clients se trouvant dans une feuille.

Je souhaite utiliser le combobox comme moteur de recherche, dès que je commence à saisir quelque chose, m'afficher le résultat trouver en ouvrant le combobox, j'aimerai si possible exclure la civilité

j'ai préparer un fichier pour faciliter le travail

merci d'avance à vous
 

Pièces jointes

  • ex.xlsm
    22.8 KB · Affichages: 12

RONIBO

XLDnaute Impliqué
Merci pour ta réponse, mais c'est pas ce que je recherche, je souhaite que la combobox s'ouvre et m'affiche tous les choix possible sans d'autres actions que d'écrire
ton programme me selectionne une entrée depuis la liste.
 

RONIBO

XLDnaute Impliqué
Oui sur ce sujet le programme fonctionne parfaitement, mais c’est pas ce que je souhaite exactement, je souhaite utiliser un filtre en fonction de ce que je saisis dans le combobox, Et ouvrir le combobox en affichant les listindex correspondant au mot saisie dans le combobox
 

Dranreb

XLDnaute Barbatruc
Je n'ai pas ça désolé. Pourquoi faire plus compliqué ??… Si vous tapez un début existant et demandez la liste, elle est positionnée sur ce début. On pourrait y ajouter de quoi pouvoir saisir des suites de caractères possiblement présentes ailleurs qu'au début si vous voulez. Ne serait-ce pas un peu exagéré juste pour un nom ? Pour une désignation de produit pouvant être trop détaillée et complexe, oui, ça pourrait se justifier.

Cela dit cette procédure à ajouter dans l'UFmContact le ferait sur les nom et prénom :
VB:
Private Sub CLs_SujFltChg(ByVal CBM As ComboBoxMmbr, ByVal Filtré As Boolean)
   If Not CBM.CBx Is Me.ActiveControl Then Exit Sub
   If CBM.CBx.MatchFound Or CBM.CBx.Text = "" Then Exit Sub
   Dim S ' Sujet temporaire pour recherche intuitive
   S = SujCBxLike(CBM.SujetFlt, "*" & CBM.CBx.Text & "*")
   If IsEmpty(S) Then Exit Sub
   CBM.SujetFlt = S ' Affectation du sujet temporaire.
   CBM.CBx.DropDown ' Affichage de la liste
   End Sub
Une possibilité par mots clés existe aussi.
On ne spécifie alors pas de colonne au Cls.Add de la ComboBox mais on écrit une :
Code:
Private Sub CLs_SujBdDPersoSVP(ByVal CBM As ComboBoxMmbr)
   CBM.SujetBdD = SujetMotsClés(CLs.Colonnes(X).DataBodyRange)
   End Sub
Avec X le numéro ou le titre de la colonne souhaitée.
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…