Liste déroulante saisie semi-automatique.

Y compris Power BI, Power Query et toute autre question en lien avec Excel
D
DébutantExcel
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 30 octobre 2018
Version d'Excel : Office 365 FR

Message par DébutantExcel » 30 octobre 2018, 12:40

Bonjour à tous.

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

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.
Exemple.xlsx
(9.77 Kio) Téléchargé 22 fois
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'393
Appréciations reçues : 233
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 30 octobre 2018, 12:54

bonjour

chercher sur le net "liste déroulantes en cascade"
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
D
DébutantExcel
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 30 octobre 2018
Version d'Excel : Office 365 FR

Message par DébutantExcel » 30 octobre 2018, 12:59

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.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 30 octobre 2018, 13:15

Bonjour, Salut jmd !

Moi, j'ai rien compris ! :wink: 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 ? :scritch: 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 :mrgreen: 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.
D
DébutantExcel
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 30 octobre 2018
Version d'Excel : Office 365 FR

Message par DébutantExcel » 30 octobre 2018, 13:23

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.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 30 octobre 2018, 14:56

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.png
2018-10-30_174303.png (4.33 Kio) Vu 314 fois
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.
D
DébutantExcel
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 30 octobre 2018
Version d'Excel : Office 365 FR

Message par DébutantExcel » 31 octobre 2018, 10:58

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.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 31 octobre 2018, 11:23

Ce ne sont pas les solutions qui manquent ! :) Mais il y a toujours un travail préalable à faire pour les mettre en oeuvre ! :mrgreen: 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 ! ;;)
D
DébutantExcel
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 30 octobre 2018
Version d'Excel : Office 365 FR

Message par DébutantExcel » 31 octobre 2018, 11:38

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 !
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 31 octobre 2018, 12:12

Je n'ai pas vu de listes-cascade fonctionnelles dans ton fichier... :wink: 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...
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message