Lancer une macro excel en fonction de la valeur d'une cellule

Résolu/Fermé
Haleotoko - 3 déc. 2013 à 07:59
 Haleotoko - 4 déc. 2013 à 08:46
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

jb.lugherini Messages postés 973 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 20 mai 2020 251
3 déc. 2013 à 08:36
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
0
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.
0
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
0
jb.lugherini Messages postés 973 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 20 mai 2020 251
4 déc. 2013 à 08:22
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
0
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
0