Recherche directe dans à partir d'une longue liste déroulante

Fermé
chatouille36 Messages postés 4 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 17 septembre 2015 - 12 sept. 2015 à 13:10
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 - 17 sept. 2015 à 02:13
Bonjour,

Mise en situation : j'ai fait une liste déroulante et cette HYPER grande liste est impossible à mettre en ordre alphabétique car parfois il y a des articles devant les noms principaux : la,la,les........

lorsque je suis dans mon fichier....et que je clique sur la petite flèche qui me permet de voir ma liste déroulante, y a-t-il une façon de faire une recherche en inscrivant, en partie, le nom principal et qu'Excel m'apporte ce qui se rapproche le plus de ce que je recherche ??

Merci !!!!!
A voir également:

5 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 12/09/2015 à 13:38
Bonjour
voyez ce modèle qui semble correspondre à ce que vous demandez

https://www.cjoint.com/c/EImlE0T31yr

il ulise la colonne B comme intermédiaire de codage pour
détecter les textes à conserver

On peut faire varier ce codage pour détecter n'importe quelle partie du texte en E2 plutôt que les premières lettres

les explications sont dans le modèle

Par exemple écrire al ne peut détecter que les textes qui commencent par al, mais on pourrait avec une variante détecter tout et seulement ce qui contient al

par exemple, dans la même liste:
usine d'aluminium
rue des alouettes
place de l'allégorie
allée du roi
ect..

revenez si besoin

crdlmnt

Errare humanum est, perseverare diabolicum
3
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 12/09/2015 à 14:55
Bonjour

Pour compléter (un peu) la proposition (une variante) de Vaucluse que je salue amicalement
B2=SI($E$2="";"";SI(ESTERR(TROUVE($E$2;A2;1));"";SI(TROUVE($E$2;A2;1);MAX($B$1:B1)+1;"")))
à tirer vers le bas, permet de limiter la liste de validation aux cellules contenant l'expression en E2

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
12 sept. 2015 à 15:15
Salut CCM

... où peut être un peu plus simplement en B2:

=SI(NB.SI(A2;"*"&B2&"*");MAX($B$1:B1)+1;"")

Crdlmnt
0
Boisgontierjacques Messages postés 175 Date d'inscription jeudi 19 septembre 2013 Statut Membre Dernière intervention 26 décembre 2018 64
Modifié par Boisgontierjacques le 12/09/2015 à 23:23
Bonsoir,

Il faut utiliser la recherche intuitive (type Google)

http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DVSaisieIntuitiveComboBox.xls

La liste n'a pas besoin d'être triée

Boisgontier
http://boisgontierjacques.free.fr
0
Boisgontierjacques Messages postés 175 Date d'inscription jeudi 19 septembre 2013 Statut Membre Dernière intervention 26 décembre 2018 64
13 sept. 2015 à 10:24
Bonjour,

Pour une recherche avec les lettres contenues dans l'item cherché

Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:A16], Target) Is Nothing And Target.Count = 1 Then
a = Application.Transpose(Sheets("bd").Range("liste"))
Me.ComboBox1.List = a
Me.ComboBox1.Height = Target.Height + 3
Me.ComboBox1.Width = Target.Width
Me.ComboBox1.Top = Target.Top
Me.ComboBox1.Left = Target.Left
Me.ComboBox1 = Target
Me.ComboBox1.Visible = True
Me.ComboBox1.Activate
'Me.ComboBox1.DropDown ' ouverture automatique au clic dans la cellule (optionel)
Else
Me.ComboBox1.Visible = False
End If
End Sub

Private Sub ComboBox1_Change()
If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then
Me.ComboBox1.List = Filter(a, Me.ComboBox1.Text, True, vbTextCompare)
Me.ComboBox1.DropDown
End If
ActiveCell.Value = Me.ComboBox1
End Sub

http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DVComboBoxIntuitif_lettresContenues.xls

Boisgontier
0
chatouille36 Messages postés 4 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 17 septembre 2015
13 sept. 2015 à 14:02
Merci Monsieur...premierement mon Excel 2010 est en français et deuxièmenent je ne suis pas familière avec les macros....serait-il possible de m'expliquer plus en détail comment faire ??????.....merci :)
0
chatouille36 Messages postés 4 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 17 septembre 2015
17 sept. 2015 à 00:31
Voici un lien où j'ai mis mon fichier...serait-il possible de me faire le ''combobox'' à partir de ce fichier ?....merci...la liste déroulante doit être dans l'onglet ''dépôt'' sous le titre ''NOM''
https://www.cjoint.com/c/EIqwDU6kavR

Merci !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Boisgontierjacques Messages postés 175 Date d'inscription jeudi 19 septembre 2013 Statut Membre Dernière intervention 26 décembre 2018 64
Modifié par Boisgontierjacques le 13/09/2015 à 17:36
>premierement mon Excel 2010 est en français

Le mien aussi!

-Créer un combobox:
-Onglet développeur
-Insérer ActiveX ComboBox
-Propriétés du ComboBox: MatchEntry à None

(voir copie écran dans fichier du post précédent)

Code:
-Clic-droit sur le nom d'onglet
-Visualiser le code
-Copier/coller du code

Boisgontier
http://boisgontierjacques.free.fr
0
chatouille36 Messages postés 4 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 17 septembre 2015
13 sept. 2015 à 21:14
Ouffff je crois bien que je suis nulle....il faut que je me positionne OU ?? pour faire cela ?
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090 > chatouille36 Messages postés 4 Date d'inscription samedi 12 septembre 2015 Statut Membre Dernière intervention 17 septembre 2015
17 sept. 2015 à 02:13
Chatouille, comme moi, tu n'y connais rien en macros.
Alors, en attendant que tu découvres le langage VBA, contente-toi d'utiliser la formule de Vaucluse.
0