Menu déroulant en cascade sous VBA

Bonjour,

Mon projet de formulaire de saisie (en PJ) est encore a son stade de construction.

Je pense pouvoir me débrouiller avec les tutos enregistré ici ou ailleurs pour la suite de mon projet. Et ça, je ne trouve pas sur le net pour une construction en VBA

Je souhaiterai donc avoir un menu déroulant en cascade sous VBA.

Pour cela, il faudra ouvrir directement l'userform "frmSaisie" à partir de l'éditeur du menu développeur pour mieux comprendre ma demande sur les menus déroulant en cascade.

1/Le menu déroulant "formation" récupère les informations du tableau "formation" de la feuille "liste"

2/En fonction de la sélection de ce premier critère, n'afficher uniquement que les critères comme correspondant dans le tableau ci-dessous

1er menu déroulantsecond menu déroulanttroisième menu déroulant

RICM

1°escadronUniquement la liste de numéro du tableau bâtiment RICM
2°escadronUniquement la liste de numéro du tableau bâtiment RICM
3°escadronUniquement la liste de numéro du tableau bâtiment RICM
4°escadronUniquement la liste de numéro du tableau bâtiment RICM
5°escadronUniquement la liste de numéro du tableau bâtiment RICM
EclUniquement la liste de numéro du tableau bâtiment RICM
GSBddPôleUniquement la liste de numéro du tableau bâtiment GSBdD
Pool AutoUniquement la liste de numéro du tableau bâtiment GSBdD
VaguemestreUniquement la liste de numéro du tableau bâtiment GSBdD

Magasin habillement

Uniquement la liste de numéro du tableau bâtiment GSBdD
AtlasUniquement la liste de numéro du tableau bâtiment GSBdD
Cercle MessUniquement la liste de numéro du tableau bâtiment GSBdD
USIDUsidUniquement la liste de numéro du tableau bâtiment USID
107°AMInfirmerieUniquement la liste de numéro du tableau bâtiment 107°AM
DIRISIDirisiUniquement la liste de numéro du tableau bâtiment DIRISI
BORDEAUXBordeauxUniquement la liste de numéro du tableau bâtiment BDX

merci d'avance à ceux qui se pencherons sur ce projet

Bonjour sam86,

Les tableaux peuvent être restructurés ou est-il indispensable de les conserver en l'état ?

2 exemples : dans le tableau TUnite, l'ajout du code formation dans une 2ème colonne permettrai de facilement identifier les unités liées à une formation de même que les tableaux par bâtiment pourraient être regroupés en un seul en y ajoutant la colonne Formation pour distinguer les différents bâtiments liés à une formation.

Cdlt,

Cylfo

Bonjour

Bonjour à tous

Un essai à tester.

Bye !

#gmb : beau travail.

Je partage l'avis de Cylfo. Je crois que le plus simple serait déjà de rattacher les formations et les unités. Je regrouperais les deux. Cela permettrait d'éviter une indexation des unités pour les lier à leur formation de rattachement. Sans le tableau du cahier des charges, on n'aurait jamais pu deviner que l'ECL (Escadron de Commandement et de Logistique si ma mémoire est bonne) était une unité du RICM.

Si ce projet et en phase de conception, voici ce que je ferais pour me simplifier la vie :

screenshot

L'avantage est double :
1) Pas besoin d'indexer les unités comme dans une base de données pour les relier à une formation.
2) Les unités peuvent être ajoutées à la suite sans tenir compte de l'ordre des formations (j'ai mis en ligne 19 le 6e escadron créé en 1944, dissous en 1947, recréé en 1949, redissous en 1954, re-re-créé en 1997 et re-re-dissous en 2011. Je suis à peu près certain que son fanion est prêt à reprendre du service (:-)))

Bonjour sam86,

Ci-jointe une autre proposition basée sur la restructuration des tableaux (TUnite, TBatiment et TExtincteurs). La colonne ajoutée dans chaque tableau est contrôlée par une liste de valeurs (listes que tu avais déjà définies).

Au niveau du formulaire, j'ai traité la mise à jour en cascade, création des listes induites par le changement d'une valeur et l'effacement des contrôles en aval. J'ai fait une modification pour les extincteurs en supposant que chaque modèle d'extincteur ne pouvait avoir qu'un seule type, du coup on peut le déduire à la saisie du type d'extincteur sans avoir besoin de le saisir.

Dans la feuille "Liste", j'ai vu qu'il y avait systématiquement une ligne vide au bas de chaque tableau, je les ai supprimées car à priori elles ne sont pas utiles. Les tableaux structurés ajustent automatiquement leur taille dès que l'on saisi sous la dernière ligne renseignée en propageant les formules, les contrôles, les MFC, ...

Sur la feuille "Source", j'ai ajouté un bouton qui ouvre le formulaire.

Si dans le formulaire, "Emplacement" correspond au niveau, il pourrait aussi être géré par une ComboBox.

Sinon deux suggestions : Au niveau de la feuille "Source, il serait bien (à mon sens même indispensable ...) de modifier le tableau en tableau structuré et il serait aussi possible (à voir dans un énième temps ou pas ) d'ajouter dans le formulaire une ListBox pour visualiser la source (plutôt que le bouton "Voir la source") et éventuellement charger le formulaire avec les données de la ligne sélectionnée ...

A ta disposition pour de plus amples informations.

Cdlt,

Cylfo

Bonjour à tous

@ Optimix : Merci !

Bye !

Mon propos sera plus facile à comprendre :

Bonjour "gmb", "optimix" et "cyflo".

Je vois par vos réponses que vos travaux ou propositions sont similaires. Merci

gmb à une connaissance supplémentaire qui fait bien plaisir. un point commun

Revenons sur le projet.

J'ai une préférence pour la proposition de "gmb" ou le combobox "unité" et "bâtiment" ne jouent pas à cache cache lors de l'affichage du formulaire de saisie.

J'ai beau explorer vos travaux, je ne trouve pas la source de vos constructions. Pas de VBA, et rien dans le gestionnaire de formules...

Puis-je avoir quelques explications pour ne pas rester dans l'ignorance car mon projet est loin d'être terminé. Mais j'aimerai bien le finir en étant autonome

Encore merci

Bonjour

Bonjour à tous

J'ai beau explorer vos travaux, je ne trouve pas la source de vos constructions. Pas de VBA,

Au moins pour ce qui me concerne, il y a bien des macros. Une pour lancer l'ouverture de la boite de dialogue,

les autres sont associées à l'UserForm correspondant.

Tu peux les voir en cliquant simultanément sur les touches Alt et F11 de ton clavier.

Ok ?

Bye !

Rechercher des sujets similaires à "menu deroulant cascade vba"