Bonjour,
lors de l'appel d'une fonction ou procédure via une cellule, une forme, un bouton etc... nous avons la possibilité de remonter sur l'objet appelant via l'instruction Application.Caller
Je cherche à faire la même chose, mais pour obtenir le nom d'une Sub qui en a appelé une autre
un exemple
Par quel moyen puis-je faire, pour l'exemple, un Msgbox dans MacroSecondaire qui afficherait "MacroPrincipale" OU "MacroPrincipaleBIS" suivant la sub qui a effectivement effectué l'appel ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub MacroPrincipale() Call MacroSecondaire End Sub Sub MacroPrincipaleBIS() Call MacroSecondaire End Sub Sub MacroSecondaire() ' afficher le nom de la procédure appelante ' - soit MacroPrincipale ' - soit MacroPrincipaleBIS End Sub
Ceci, bien entendu, sans transmettre en paramètre un String contenant le nom de la procédure
grosso modo, je ne cherche pas ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub MacroPrincipale() Call MacroSecondaire("MacroPrincipale") End Sub Sub MacroPrincipaleBIS() Call MacroSecondaire("MacroPrincipaleBIS") End Sub Sub MacroSecondaire(Appelante As String) MsgBox Appelante End Sub
Ps : je n'ai pas creusé énormément sur la manipulation du VBE, en inspectant les modules actifs, etc... car le projet sera verrouillé tout comme l'accès approuvé au modèle objet du projet VBA.
Partager