Menu déroulant modifiable par un autre menu déroulant

Bonjour ou bonsoir,

j'ai un problème sous Excel 2010 que je n'arrive pas à résoudre malgré mes efforts, mes recherches et je ne suis évidemment pas un expert. Est-ce que quelqu'un serait en mesure de me dire s'il est possible de modifier un menu déroulant à partir d'un autre menu déroulant? Peut-être par VBA?

Pour ceux que ça intéresse, voici le concept :

Dans un premier temps, j'ai une base de données maîtresse appelé : BD MAITRESSE.xlsx qui contient des listes de matériaux et chaque matériel est associé à une catégorie (Mélamine, Placage, Massif, Laminé, Verre, Métal etc.

Mon objectif est d'utiliser, dans un autre fichier appelé SOUMISSION.xlsxm, un premier menu déroulant pour sélectionner une catégorie, disons VERRE.

Ainsi, dans mon second menu déroulant se trouvera la liste de tous les VERRES disponible dans la BD MAITRESSE, que je pourrai choisir pour avoir les informations pertinentes : prix, fournisseur etc.

Je fournis un fichier de travail simplifié : un onglet BD MAITRESSE et un SOUMISSION.

Merci d'avance, ce serait vraiment cool de réussir ça !

1932menusderoulants.xlsx (10.59 Ko)

Bon, je pensais avoir fait le tour, mais je me rends compte que non !

J'ai trouvé un cas publié par FIGEL le 31 déc 2007 que je vais essayer demain, ça semble prometteur et trop facile pour être vrai

Bonjour,

Bon j'ai un peu bossé alors je post tout de même...

Il est vrai que c'est un sujet qui revient

A me redire,

Cordialement,

Leakim

199patsheehyv001.xlsx (13.28 Ko)

Merci Leakim pour ton apport, ta formule est un peu différente, ça m'aidera peut-être à mieux comprendre.

J'ai testé ce matin ça fonctionne, mais j'ai 2 petits soucis :

Mes colonnes de catégorie ne sont en réalités pas consécutives, il y'a 2 colonnes vide entre chacune, car en fait ce sont des tableaux croisés dynamiques. Alors j'ai une colonne en : A-D-G-J-M-P-S-V...

Mon second soucis, c'est que ma liste de matériel ne commence pas directement sous ma catégorie, je dois passer 3 lignes.

Alors, j'ai ajouté l'onglet MATÉRIAUX, est exactement structuré comme mon fichier.

Je regarde le tout ce soir, si quelqu'un sait comment tenir compte de mes espaces vides j'apprécierais grandement.

Encore Merci Leakin pour ta réponse aussi rapide, j'aurais dû venir plus tôt

1262menusderoulants.xlsx (12.53 Ko)

Bonjour,

Une petite contribution ... je prends les données telles qu'elles se présentent dans les colonnes sans faire ni TCD ni tri.

Mais l'autre méthode est tout aussi intéressante.

134choix2.xlsx (11.53 Ko)

bonjour a tous

petite contribution pour cet exercice de liste en cascade

il existe un petit code vba qui permet de reinitialiser le choix 2 ; j'ai opté pour une alerte .....

tout est en dynamique ( voir gestionnaire de noms)

cordialement

151patcheely.xlsx (13.49 Ko)

Wow ! ...merci pour votre temps et vos idées.

Steelson, c'est bien de ne pas avoir à faire de Tableau Croisé Dynamique, mais si j'ai besoin d'une vingtaine de choix de matériaux, je devrai créer une quarantaine de colonnes si je comprends bien, car tu en as une pour filtrer les bonnes valeurs et l'autre pour mettre en ordre. Dans un cas plus simple ce serait parfait. Mais ici je préfère utiliser mes Tableaux Croisé Dynamique que je vais mettre à jour en VBA à l'ouverture du fichier et utiliser le gestionnaire de nom, j'en aurai 21 et les titres seront claire pour quelle ligne appartiens chaque formule, chaque menu déroulant.

Tulipe 4, merci pour tes formules, je vais prendre le temps de bien les comprendre afin de gérer mes 20 menus déroulants.

C'est trop cool la programmation, j'aurais aimé apprendre ça plus jeune !

Encore merci à vous tous pour votre apport, je fais mes tests et vous revient avec la conclusion et si tout est OK je clic sur le crochet.

Cordialement

PatSheehy

Bonjour,

Le nombre de colonne est fonction du nombre de caractéristiques (ici 2 : matériaux et catégorie) et non du nombre de matériaux différents. C'est utile quand on a une liste de références avec les caractéristiques principales comme choix.

Néanmoins je trouve la proposition très intéressante de partir d'un TCD et de l'autre solution dont je suis en train de détailler les pétales.

Bonjour,

J'ai finalement fais la programmation et testé le tout, c'est vraiment génial, j'ai finalement opté pour la version de LEAKIM.

Je vous remercie tous pour votre apport.

Cependant, mon fichier est vraiment lourd et long à ouvrir, car j'importe toutes mes données du classeur BD MAITRESSE.xlsx pour utiliser les menus déroulants de Validation de données\List\.

J'ai trouvé que je pouvais utiliser des NOMS dans ma BD MAITRESSE et ma SOUMISSION pour faire directement référence aux données de ma BD MAITRESSE.

CEPENDANT, cela ce complique avec le filtre par CATÉGORIE, je ne sais pas comment faire référence à ma colonne CATÉGORIE de ma liste de NOM ?

Je joint 2 fichiers tests pour ceux qui veulent m'aider à pousser l'idée plus loin.

Dans la BD MAITRESSE j'ai créé un NOM : CAT_MAT qui défini la liste des Catégories de matériaux et LIST_MAT qui défini les 2 colonnes de mon tableau Colonne A=CATÉGORIE colonne B=NOM MATÉRIEL.

Puis, dans la SOUMISSION j'ai créé le NOM : BDM_CAT_MAT='BD MAITRESSE.xlsx'!CAT_MAT faisant référence à la liste de CATÉGORIE de la BD pour mon premier menu déroulant.

Je voudrais créer le NOM : BDM_LIST_CAT_MAT qui serait mon second menu déroulant de ma liste de MATÉRIEL filtrée par CATÉGORIE de mon premier menu déroulant.

Dans SOUMISSION j'ai fait un ébauche de formule, mais je ne sais pas comment faire référence à la colonne A:CATÉGORIE de la BD ?

Encore merci.

143test-soumission.xlsx (207.28 Ko)

Bonjour,

Petite insomnie...

Cela semble pas compliqué à faire et pour autant voilà ce que me dit excel .

pasvalidation

Je pense que tu n'as pas d'autre choix que de mettre le contenu de tes listes dans le même fichier sur un autre onglet et reprendre ma première proposition.

Merci pour ta question, je ne connaissais pas cette restriction

Cordialement,

Leakim

Bonjour Leakim,

tu ne peux effectivement pas faire directement un lien vers un autre classeur dans une liste de validation de données.

Cependant, tu peux faire référence à un NOM qui lui fait référence à un autre NOM d'un autre classeur.

J'ai un exemple dans mon fichier test SOUMISSION.xlsx, BDM_CAT_MAT fait référence au NOM CAT_MAT dans le classeur test BD MAITRESSE.xlsx.

Pour un menu déroulant simple c'est facile, mais pour mon cas de double menu déroulant je n'y arrive pas.

Qu'en penses-tu ?

Encore merci

Bonjour,

Oui cela serait logique en raison de la formulation de la requête. Comme on passe par une formule decaler() qui donne un résultat "volatile", dixit excel, et bien il refuse.

Leakim

Merci Leakim,

Je vais tout de même appliquer ta proposition pour le moment et je ferai quelques tests plus tard.

Mais il est où le bouton avec le crocher vert pour dire que mon problème à été résolu ?

PatSheehy


OK je l'ai trouvé !

Il ne faut pas être en mode édition pour le voir

Rechercher des sujets similaires à "menu deroulant modifiable"