Liste déroulante saisie semi-automatique

Bonjour à tous.

Je m'adresse à cette communauté car je ne sais absolument pas utiliser les VBA

Voici mon problème :

En D4 et F4, je souhaite avoir une liste déroulante à saisie semi-automatique (donc impossible avec Validation de données), et je sais que pour cela il faut utiliser une ComboBox. Cependant, voici la particularité :

En B4, j'ai une colonne "Catégorie" où j'ai le choix entre une catégorie 1 et une catégorie 2. Et en C4, j'ai le choix entre des sous-catégories, à savoir 2 sous-catégories pour la Catégorie 1, et 6 sous-catégories pour la catégorie 2.

Ce que je souhaiterai, c'est avoir une liste déroulante semi-automatique pour chacune de ces options, dans les mêmes cases (D4 et F4). C'est-à-dire si j'ai "Catégorie 2 - Sous-catégorie 4", avoir la liste déroulante affiliée en D4 et F4 (oui, la même), si j'ai "Catégorie 1 - Sous-catégorie 2", avoir la liste déroulante affiliée toujours en D4 et F4. Il y a donc 8 listes au total. Le but serait qu'il n'y ait pas de liste déroulante accessible tant que Catégorie et sous catégorie ne sont pas sélectionnés. Et si possible que ce soit extensible (si je choisis une catégorie et sous catégorie en B5 et C5, avoir les listes déroulantes en D5 et F5).

Je ne sais pas si je suis clair, je met un fichier pour illustrer l'exemple des catégories et sous-catégories

Si vous avez besoin de précisions n'hésitez pas !

Merci d'avance,

Très cordialement.

83exemple.xlsx (9.77 Ko)

bonjour

chercher sur le net "liste déroulantes en cascade"

Bonjour,

J'entends bien, seulement j'ai des listes d'environ 100 options possibles, la saisie-semi automatique est donc primordiale, et c'est un peu l'objet de ma requête, en fait.

Bonjour, Salut jmd !

Moi, j'ai rien compris ! Une liste déroulante, on la déroule, on sélectionne, quel que soit le support de la liste. Ça je connais ! Liste déroulante semi-automatique ? Sais pas ce que ça veut dire !

Listes-cascade, je connais aussi. Il y manifestement un lien de dépendance entre choix Catégorie et liste Sous-catégorie. Il suffit donc de définir cette dépendance : les sous-catégories attachées à chaque catégorie.

Au-delà, y a-t-il dépendance de la liste de 3e choix par rapport au choix 2 (voire au choix 1 directement)... ?

Si on l'exprime clairement en termes logiques, je pourrais comprendre Il semble bien qu'il doive y avoir dépendance des listes de choix 3 par rapport au choix 2 : Il y a donc 8 listes au total (2+6) qui génèreront des listes de choix 3, mais les choix liés à chaque sous-catégorie ne sont pas définis...Et on ne sait s'il y a un choix 4 à la suite (soit la relation entre D et F...)

Monter la base de tous les choix : choix1-choix2-choix3(-choix4 ?) à partir de laquelle on pourra opérer.

Cordialement.

Pourtant c'est assez connu, quand tu tapes sur internet Liste déroulante semi-automatique, c'est en fait comme le fait google quand tu tapes quelque chose dans la recherche, c'est te proposer des choix par rapport aux lettres que tu tapes. Comme mes listes sont grandes (100 options), chercher dans tout cela est assez long et pas pratique, donc la saisie semi-automatique est nécessaire. Quand je marque "M", il faudrait que ça me propose les mots commençant par M de la liste, si je mets "MA", que ça se réduise, etc.

Sinon, je n'ai pas compris ce que tu as dis par la suite. En gros si je choisis la catégorie 1 et la sous-catégorie 1, que ça me mette une liste, si je choisis catégorie 1, sous-catégorie 2, une deuxième liste, etc...

Le lien entre catégorie et sous catégorie je l'ai déjà fait, c'est assez facile, avec validation de donnée. Et effectivement, si je n'avais pas besoin de saisie semi-automatique, j'utiliserai ce que jmd a dit, une liste cascade. Mais là j'ai besoin de VBA, malheureusement je ne m'y connais pas. Là je ne sais pas comment être plus clair, par contre :/

Très cordialement.

Cette saisie semi-automatique là est une fonctionnalité Excel, qui a quelques avantages en effet mais aussi quelques inconvénients, mais qui n'a rien à voir avec le caractère déroulant d'une liste.

La liste d'une Combo présente effectivement cet avantage par rapport à une liste de validation de pouvoir opérer une présélection dans la liste au fil de la frappe... Pour que cela fonctionne de façon intéressante la liste doit être en ordre alpha.

Pour une liste de validation, on obtient quelque chose d'un peu comparable en codant la rédution de la liste à partir d'une saisie partielle, on peut ainsi faire des choix plus complexes de retraitement de la liste selon besoins, mais l'inconvénient est qu'il faut valider une pré-saisie pour déclencher l'opération...

C'est en tout cas une question autre que celle des listes-cascade, et il me semble que tu as intérêt à traiter d'abord celle-ci. Avec 2 choix tu as une base à 2 colonnes : prenons catégorie1 qui génère un choix souscatégorie1 et 2, tu auras 2 lignes dans ta base intéressant la catégorie 1 à ce stade. Si tu as ensuite un choix3 dépendant, mettons 3 possibilités de choix pour le choix sousCat1 et 5 pour le choix sousCat2, tu auras alors une base à 3 colonnes et 8 lignes intéressant la catégorie 1.

2018 10 30 174303

Même chose pour les autres catégories, à la suite, et si choix 4, une 4e colonne dans la base, qui conduira à multiplier autant que nécessaire les lignes... C'est à partir d'une telle base que l'on peut définir les listes successives. Il convient donc d'abord de la monter.

Ensuite on extrait la liste de choix1 de la 1re colonne, sans doublon. On extrait la base de la liste de choix2 ar extraction des 2 premières colonnes, sans doublon, qui permettra une définition de la liste2 par formule. Même chose éventuellement pour choix3 (pour le dernier choix on peut opérer directement sur la base (triée) pour définir la liste.

On aura une combinaison formules-code VBA variable, mais une part incompressible de code pour assurer un confort minimum d'utilisation, les choix faits ne s'effaçant pas automatiquement lorsqu'on modifie un choix de niveau antérieur... Pour le reste c'est selon utilisation qu'on déterminera le dosage le plus intéressant.

Cordialement.

Bon eh bien je pense que je vais clore le topic alors, personne n'a l'air d'avoir la solution Je pensais qu'il suffirait de combiner une combobox selon le choix d'une liste, mais visiblement c'est compliqué...

Merci quand même.

Ce ne sont pas les solutions qui manquent ! Mais il y a toujours un travail préalable à faire pour les mettre en oeuvre ! Et s'agissant de listes-cascade, le premier maillon est toujours la constitution de la base dont tout dépendra par la suite... après on pourra procéder par listes déroulantes ordinaires, utiliser des Combo, opérer dans un Userform...

Mais il y a toujours lieu de commencer par le commencement !

Je sais bien, mais je ne comprends pas très bien les réponses que j'ai reçu (je débute, à Excel) ! En gros, là je sais que ce qu'il me faut c'est une Combobox. Les listes en cascades pour les catégories et sous-catégories, je m'en suis déjà occupé, ça je sais faire Là j'ai juste besoin d'une combo qui, selon le choix de la sous-catégorie, me permettra une saisie semi-auto d'une liste affiliée à la sous-catégorie ! Ni plus, ni moins Mais je ne sais pas du tout utiliser les VBA D'où mon appel à l'aide !

Je n'ai pas vu de listes-cascade fonctionnelles dans ton fichier... Très bien que tu saches faire ! Dans ce cas il ne reste donc qu'à placer une Combo et lui affecter la liste ad-hoc.

Moi, je ne sais faire qu'à partir de la situation qu'on me présente et celle que tu as présentée ne permet pas de faire quoi que ce soit, les ingrédients pour faire manquent...

Je t'ai envoyé un message privé, mais il a l'air de rester bloqué dans la boite d'envoi

Bonjour,

Vu ton fichier. Tes listes sont nommées. Tu rajoutes un nom : LIST et tu le définis par :

=INDIRECT("LIST_"&'Octobre 18'!$C$4)

ce qui renverra la liste sélectionnée en C4.

Si tu places une ComboBox, tu définis les propriétés de la Combo ainsi :

ListFillRange = LIST

ColumnCount = 2

ColumnWidth = 15;60 (à ajuster éventuellement)

TextColumn = 2

La valeur affichée sera le nom du joueur lors de la sélection. L'aspect semi-automatique fonctionne mais restera limité, tes listes n'étant pas triées .

Tu peux éventuellement affichée le nom du joueur dans une cellule liée, dans ce cas, propriétés :

LinkedCell = $D$4 (par exemple)

BoundColumn = 2

Cordialement.

Rechercher des sujets similaires à "liste deroulante saisie semi automatique"