Lancer une macro excel en fonction de la valeur d'une cellule
Résolu/Fermé
A voir également:
- Déclencher une macro en fonction de la valeur d'une cellule
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum Excel
- Excel renvoyer la valeur d'une cellule en fonction d'une autre - Forum Logiciels
- Fonction si et - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
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
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
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
3 déc. 2013 à 11:09
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.
3 déc. 2013 à 15:57
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
4 déc. 2013 à 08:22
#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
4 déc. 2013 à 08:46
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