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
A voir également:
- Déclencher une macro en fonction de la valeur d'une cellule
- Fonction si et - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule ✓ - Forum Excel
- [Excel 2010] Remplir cellule d'après contenu d'une autre ✓ - Forum Excel
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 forme
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 forme
Public Function Macro()au lieu de (par défaut)
...
End Function
Private Sub Macro()
...
End Sub
Merci pour ce retour.
J'ai tapé la formule en A1 de la 1ère feuille et l'ai validé mais j'ai simplement un #NOM? qui s'affiche et rien d'autre. J'ai bien mis les macro en fonction, mais rien ne se lance.
J'ai finalement utilisé une béquille : j'ai créé une message box active qui invite l'utilisateur à vérifier B2 et à cliquer sur le bouton "VIS" ou "COM" suivant ce qu'il voit, chacun des bouton appelant une macro
#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
Merci pour le retour et le suivi.
Pour ma curiosité personnelle, je vais exploiter les pistes que vous me donnez. Sinon, le coup de la message box semble convenir à mes collègues.
Je vais noter le sujet comme résolu
Merci encore