Lancer une macro excel en fonction de la valeur d'une cellule
Résolu
Haleotoko
-
Haleotoko -
Haleotoko -
Bonjour,
J'ai développé une macro de mise en forme afin de pouvoir utiliser correctement une extraction de mon outil de travail en format excel ; et je l'ai rattaché à une touche d'exécution dans la barre d'accès rapide d'excel 2007.
Cependant, cette extraction a 2 formats possible et ma macro ne fonctionne que pour 1. J'ai donc développé une deuxième macro pour le 2e format.
Ces 2 macros sont dans mon dossier de macros personnelles et rattachées à des raccourcis.
Maintenant, je souhaite qu'en appuyant sur le bouton, ce soit la macro 1 OU la macro 2 qui soit lancée en fonction de la valeur d'une cellule précise. En gros :
- Si la cellule B2 de la feuille "Comm01" est "1-VIS" alors cela lance la macro 1
- Si la cellule B2 de la feuille "Comm01" est "2-Com" alors cela lance la macro 2
Si quelqu'un a une idée, elle est la bienvenue :)
Merci
J'ai développé une macro de mise en forme afin de pouvoir utiliser correctement une extraction de mon outil de travail en format excel ; et je l'ai rattaché à une touche d'exécution dans la barre d'accès rapide d'excel 2007.
Cependant, cette extraction a 2 formats possible et ma macro ne fonctionne que pour 1. J'ai donc développé une deuxième macro pour le 2e format.
Ces 2 macros sont dans mon dossier de macros personnelles et rattachées à des raccourcis.
Maintenant, je souhaite qu'en appuyant sur le bouton, ce soit la macro 1 OU la macro 2 qui soit lancée en fonction de la valeur d'une cellule précise. En gros :
- Si la cellule B2 de la feuille "Comm01" est "1-VIS" alors cela lance la macro 1
- Si la cellule B2 de la feuille "Comm01" est "2-Com" alors cela lance la macro 2
Si quelqu'un a une idée, elle est la bienvenue :)
Merci
1 réponse
-
Bonjour,
Mettre dans 1 cellule un peu masquée
=SI(Comm01!B2="1-VIS"; Macro1() ; SI(Comm01!B2="2-Com" ; Macro2() ; "") )
(on peut imbriquer les SI car on ne travaille que sur la cellule B2, si on travaillait sur plusieurs cellules il faudrait mettre 2 fonctions dans 2 cellules)
Macro1 et Macro2 doivent être définis comme fonction (et non procédure) publique. La macro aura donc la formePublic Function Macro()
au lieu de (par défaut)
...
End FunctionPrivate Sub Macro()
...
End Sub-
-
-
Hello,
#NOM? veut souvent dire qu'Excel ne trouve pas la fonction concernée (aide Microsoft sur : http://office.microsoft.com/fr-fr/excel-help/corriger-l-erreur-nom-HP005203939.aspx )
---> Est-ce que la feuille s'appelle bien Comm01 ? Est-ce que les macros s'appellent bien Macro1 et Macro2, sont bien publiques, et bien enregistrées dans le fichier Excel (et pas ailleurs) ?
Sinon autre béquille : lancer 1 macro qui elle va vérifier si c'est affiché 1-VIS ou 2-Com et choisir ensuite la bonne macro à exécuter -
-