Activation de macros avec 2 listes déroulantes

Bonjour, j'ai fort besoin de votre aide ! (je suis une débutante Excel)

Dans la feuille 2 nommé "dimensionnement", en case E5 j'ai une liste déroulante des villes, et en case E6 j'ai également une liste déroulante avec des périodes de retour.

De plus en feuille 3 nommé "Coefficients de Montana", j'ai tout mes tableaux avec lesquels j'ai créé mes macros.

Exemple : ORANGE_1mois

Ce que je ne parviens pas à faire, c'est que lorsque je choisi ma ville en E5 ex : Orange, puis ma période de retour de E6 ex : 1 mois, cela m'active la macros correspondante en l'occurrence ORANGE_1mois.

Et il faudrait que cela marche pour toutes les villes et toutes les périodes de retour.

Après m'être renseigner sur internet, sur des vidéos, sur des forums, cela ne fonctionne toujours pas.
Je vous demande pas de faire ma VBA, mais simplement de m'expliquer ou de mettre un exemple, afin que j'apprenne !!

PS: je n'ai pas finis toutes les macros de toutes les villes!!

Vous trouverez donc mon fichier Excel en pièce jointe, pour que vous puissiez comprendre ;)

Merci d'avance !!

Bonjour ilonadb18 et ...

Une macro pour chaque ville et pour chaque période !? Ça risque d'être long et fastidieux !
Comme en plus, tes macros servent à inscrire des formules ... peut-être que ça vaudrait la peine de faire le tout par formule ?

La chose t'intéresse ?

Bonjour U. Milité,

Et bien une formule pour tout effectivement je veux bien, j'ai fais une macros pour chaque ville et chaque période de retour car c'est ce qu'on m'a récemment appris. J'ai donc mis cela en œuvre, et ça marchait ! (on fait comme on peut)

Merci !

Bonjour

En utilisant des tableaux et / ou des plages nommées c'est beaucoup plus simple et efficace. Je vous propose une version encore améliorable. J'ai nommé toute les plages des villes avec un tableau qui donne l'équivalence entre le nom de la ville et le nom de la plage correspondante. De cette manière si vous ajoutez une ville il suffit de nommer la plage et d'ajouter une ligne dans le tableau "tb_NomPlages".

Avec cette façon de faire toutes vos macros vill_periode sont inutiles. Tout est gérer directement.

J'ai mis des commentaires dans le code mais si besoin n'hésitez pas à poser des questions.

Re-bonjour,
Salut yal_excel

En G11 :

=DECALER('Coefficients de Montana'!$C$21;EQUIV($E$5;'Coefficients de Montana'!$C:$C;0)-21+EQUIV($E$6;'Coefficients de Montana'!$B$21:$B$44;0)-1;(LIGNES($1:1)-1)*2)

En H11 (seule la fin change) :

=DECALER('Coefficients de Montana'!$C$21;EQUIV($E$5;'Coefficients de Montana'!$C:$C;0)-21+EQUIV($E$6;'Coefficients de Montana'!$B$21:$B$44;0)-1;((LIGNES($1:1)-1)*2)+1)

Pas regardé la proposition de yal_excel ... mais je vais le faire de ce pas !

Et une version plus rigoureuse avec une seule base de données. Ce qui permet de profiter des avantages des tableaux structurés pour l'analyse des données.

Ne sachant pas l'utilité des petits tableaux sur la droite j' ai seulement renommé la feuille : Coefficients de Montana

Bonjour,

J'ai pas regardé vos productions mais je donne la mienne :

A+

Merci à vous trois, U. Milité, galopin01 et yal_excel, d'avoir été aussi réactif !

yal_excel je vous remercie pour avoir mis des commentaires cela m'a aidé à comprendre le code, étant débutante.

Mais j'ai encore des questions :

- que signifie les Dim au début ?

- que signifie également cette phrase : For i = 1 To UBound(pl)

- et celle ci : Cells(ligne, 7) = tb(i, j): Cells(ligne, 8) = tb(i, j + 1)
ligne = ligne + 1

Merci d'avance

Bonjour

A propos des Dim https://www.excel-pratique.com/fr/vba/variables

For i = 1 To UBound(pl) : ubound correspondant au nombre de ligne du tableau donc on fait une boucle qui parcourt le tableau "pl" ligne par ligne.

Cells(ligne, 7) = tb(i, j) : cells designe une cellule donc on écris la valeur de de la case numéro de ligne(i), numéro de colonne((j) du tableau en mémoire dans la cellule numéro de ligne(ligne), numéro de colonne(7 ou 8) sur la feuille.

ligne = ligne + 1: on passe à la ligne suivante.

Rechercher des sujets similaires à "activation macros listes deroulantes"