Liste déroulante intelligente recherche par lettre + scrol dans la liste

Bonjour,

Lorsque je clique sur ma liste déroulante, je souhaiterais :

1/ pouvoir scroller ma liste avec ma souris sans avoir à utiliser l’ascenseur
2/ saisir la première lettre de ce que je recherche dans cette liste et voir s’afficher le premier mot concerné.

Est-ce possible? si oui pouvez-vous m’aider?
merci par avance.
StianKri

Liste déroulante avec lettre de saisie.xlsx (9,2 Ko)

Bonjour

Hélas je ne crois pas que l’on puisse utiliser la roulette de la souris pour agir sur l’ascenseur d’une liste déroulante
Concernant le 2° seules les filtres ou les formulaires avec du code approprié peuvent permettre de filtrer une liste sur une partie saisie
Je te propose cette solution intermédiaire qui fonctionne avec un traitement VBA sur ce que tu as réalisé
J’ai utilisé la colonne B pour ramener les articles de la colonne A qui répondent à un critère saisi en cellule « C1 »
Ta liste déroulante pointe sur cette colonne
La colonne B est masquée
Saisis en C1 la ou les premières lettres
Utilises ensuite ta liste déroulante
Ce fichier est en type xslm et non xslx car ne digérant pas le code VBA
Fais des essais et dis moi

Liste déroulante avec lettre de saisie.xlsm (17,3 Ko)

Bonjour,
Merci pour le temps pris à répondre.

Lorsque je saisis GEO par exemple en C1, et que je clique ensuite sur la liste déroulante, rien n’apparaît.
L’idéal étant de saisir directement en D1 les premières lettres.
Cordialement

Moi j’ai aucun souci :

Cela doit le faire à l’identique chez toi

As tu activé les macros à l’ouverture du classeur ?

Referme le classeur l’application Excel et rouvre le en activant les macros

Saisir directement sur la liste déroulante demanderai de déclencher la procédure au moment ou des lettres de recherche sont intégrées dans cette cellule et pas quand une sélection est effectuée
Or une sélection effectuée aura la même conséquence sur la liste déroulante et donc une fois réalisé la liste sera réduite à la seule sélection (la sélection est un ensemble de lettre comme si elles étaient saisies)
A toi de voir moi je pense qu’il est mieux de dissocier les lettres recherchées de la liste déroulante qui en est le fruit

Dis moi

C’est bon pour la liste désormais…;le pb venait du fait qu’il faut respecter la casse. Si tu tapes geo en minuscule la liste ne fait rien apparaître.
Pour répondre à ta remarque sur la dissociation, je préfèrerai saisir les lettres dans la cellule de la liste.Si tu peux résoudre ma demande, ce serait top !
merci

Ci-joint une nouvelle version avec saisie des lettres dans la cellule de la liste déroulante

Une saisie « GEO » donnera 2 choix :

La sélection d’un de ces 2 choix réduira la liste déroulante qu’à ce seul choix si celui-ci est le plus long :

Pour le choix du plus court les 2 items resteront car le plus court est la première partie du plus long

J’espère que cela te conviens

Liste déroulante avec lettre de saisiev2.xlsm (17,2 Ko)

Bonjour,
Désolé pour ma réponse tardive. C’est super ce que tu me proposes.
En terme d’améliorations (si possible),
1/ je constate qu’il faut quitter la cellule D1 et revenir dessus pour voir les sélections (si je saisis GEO
au depart, c’est ok, j’ai tout de suite le choix proposé, par contre si je me suis trompé et que je saisi CUR, Curionautes ne s’affiche que si je quitte la cellule et reviens dessus…)
2/Comment dupliquer cette formule sur une 20 aine de lignes dans la même colonne? en effet cette liste qui va permettre aux commerciaux de saisir un bon de cde ne sera pas composée d’une seule ligne, or si je copie/colle la celllule D1 en D2, celà ne fonctionne plus.
3/Le top serait qu’en cliquant sur la flèche de l’ascenseur, puis en tapant B par ex sur mon clavier, le bandeau bleu se positionne sur le premier produit correspondant…(comme sur le web, lorsque tu remplis un formulaire et que tu tapes la 1ère lettre de ton pays)

Merci
StianKri
image

Bonjour
Ravi que cela te plaise

« 1/ je constate qu’il faut quitter la cellule D1 et revenir dessus pour voir les sélections (si je saisis GEO
au depart, c’est ok, j’ai tout de suite le choix proposé, par contre si je me suis trompé et que je saisi CUR, Curionautes ne s’affiche que si je quitte la cellule et reviens dessus…) »

Le déclenchement de la procédure se réalise au changement du contenu de la cellule
Ce changement est détecté uniquement lorsque l’on quitte la cellule
Sinon c’est un bouton qu’il faudra activer
A toi de voir

« 2/Comment dupliquer cette formule sur une 20 aine de lignes dans la même colonne? en effet cette liste qui va permettre aux commerciaux de saisir un bon de cde ne sera pas composée d’une seule ligne, or si je copie/colle la celllule D1 en D2, celà ne fonctionne plus. »

Sur cette nouvelle version j’ai fais en sorte que toute la colonne D bénéficie du dispositif
Il faut simplement reporter la validation sur les cellules concernées dans cette colonne soit par Données+Validation soit copier/coller d’une cellule détentrice de la liste déroulante sur une cellule qui ne l’a pas en réalisant un collage spécial validation tout ceci en colonne D uniquement

« 3/Le top serait qu’en cliquant sur la flèche de l’ascenseur, puis en tapant B par ex sur mon clavier, le bandeau bleu se positionne sur le premier produit correspondant…(comme sur le web, lorsque tu remplis un formulaire et que tu tapes la 1ère lettre de ton pays) »

L’application Excel si elle est très puissante n’a pas cette fonctionnalité tout au moins à ma connaissance

La nouvelle version ci-jointe

Liste déroulante avec lettre de saisiev2.xlsm (17,4 Ko)

Merci pour ce temps pris à me répondre;

Quand tu parles du bouton, c’est pour affecter ta macro à celui-ci?
Ce qui voudrait dire qu’à chaque fois que je saisi une lettre dans la cellule, je clique sur le bouton pour voir les sélections apparaître?
Ou de ce genre d’objet?

Tu as bien compris
Sois sortir et revenir dans la cellule colonne D soit bouton

A toi de choisir

Alors je vais rester tel quel…
Merci beaucoup et bonne journée !
StianKri

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.