Lancer une macro excel en fonction de la valeur d'une cellule [Résolu/Fermé]

Signaler
-
 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



1 réponse

Messages postés
973
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
20 mai 2020
316
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
Public Function Macro() 
...
End Function
au lieu de (par défaut)
Private Sub Macro() 
...
End Sub
Hello

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.
Re,

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
Messages postés
973
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
20 mai 2020
316
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
Hello,

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