Cascade de combobox conditionnel

  • Initiateur de la discussion Yannick01
  • Date de début
Y

Yannick01

Guest
Bonjour à toutes et à tous

9a fait des heures que je cherche à faire un truc trop compliqué pour moi et j'y arrive pas. J'ai fait pas mal de recherche, j'ai trouvé 2 ou 3 exemples de combobox conditionnel mais je n'arrive pas à les exploiter.

Je m'adresse donc aux experts pour leur demander un début de piste ,pas un truc tout prêt à emballer, mais suffisament d'info pour qu'un newbie comme moi arrive à faire quelque chose

J'ai donc un classeur avec 6 feuillets (le premier servant juste à lancer le useform)
Mon but est donc de faire des choix en cascade, selon le choix effectué dans la combobox 1, ça m'affiche tel données dans la 2 et ainsi de suite.

Dans le fichier ci-joint, j'ai juste mis un début de useform avec 4 combobox et d'autres truc dont il ne faut pas s'occuper, je me suis pas encore penché sur la suite après les 4 combobox.

L'objectif est de mettre la ligne 1 de la feuille 2 dans la combobox 1
en fonction du choix, j'ai la colonne respective qui se met dans la combo 2
en fonction du choix dans la combo2, il va chercher ou se trouve ce choix dans les feuilles suivantes, et affiche encore la liste correspondant au choix, et suivant ce dernier choix, ben pareille, il liste les choix possibles

Bon pas très clair tout ça, avec le fichier que j'ai fait, ça devrait s'éclaircir, il suffit de regarder un peu comment sont fait toute les feuilles et de clicker sur le bouton de la première pour comprendre ce que j'aimerais faire.

Encore une fois, je n'ai besoin que de pistes ou de fichiers ressemblant à ce que j'aimerais faire, je comprend pas grand chose au VBA, je ne sais quasiment pas créer, juste modifié, voilà.

Si vous avez une petite idée à me donner, je vous en remercie d'avance.

a+tard
 

Pièces jointes

  • y01_combo_condi.zip
    33.4 KB · Affichages: 223
M

mDF

Guest
Bonjour Yannick,

Tu trouveras ci-joint une version de ton fichier modifiée.

Tout d'abord, je pense qu'il était préférable de créer une feuille supplémentaire synthétisant l'ensemble des données saisies dans les onglets prédédents (je ne l'ai fait que pour 'Actifs' et 'Passifs' pour l'exemple). Cela permet d'obtenir, en un seul tableau, la totalité des références de composants (ce qui facilite grandement la mise en oeuvre des macros VBA).

Les 4 éléments du Combo 1 sont chargés à l'initialisation du USF (procédure : 'Private Sub UserForm_Initialize()')

Les éléments de chaque Combo étant dépendant du Combo en amont, j'utilise l'évènement 'Change' de ce dernier pour alimenter le Combo dépendant en conséquence. Par exemple, lors de la sélection de l'élément 'Actifs' dans le Combo 1, l'évènement 'Private Sub ComboBox1_Change()' se déclenche. Et c'est donc là que je mets à jour la liste dépendante du Combo 2. Je procède de la même manière pour les combos suivants.

Désolé de ne pouvoir être plus clair dans mes explications, j'espère cependant que les commentaires présents dans le code pourront t'aider.

Cordialement.
Didier

NB : pour pouvoir passer en dessous des 50Ko fatidiques, j'ai du supprimer tes 2 anciennes feuilles 'Actifs' et 'Passifs' du classeur.
 

Pièces jointes

  • PourYannick.zip
    38 KB · Affichages: 1 087
Y

Yannick01

Guest
Bonjour à tous

Donc mDF, je te remercie beaucoup, je n'en attendais pas autant. En tout cas je te remercie énormément du temps que tu as passé sur mon fichier.
De plus, les commentaires m'aident énormément à comprendre le fonctionnement de la macro.

J'ai fini de passer connectiques et mécaniques sur la synthèse, finalement c'est pas plus mal car je vais faire un useform supplémentaire pour ajouter/modifier/supprimer une ligne (ça j'sais faire^^), valait mieux que ce soit plus simplifié.

a + et merci encore
 

Discussions similaires

Réponses
28
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87