Quelle procédure appelle ?

Résolu
goldenboy7 Messages postés 7 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 27 novembre 2009 - 17 févr. 2009 à 10:30
goldenboy7 Messages postés 7 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 27 novembre 2009 - 17 févr. 2009 à 12:34
Bonjour,
sur VBE, est il possible de connaitre le nom de la procédure qui vient d'appeler l'autre procédure AAA ?
Merci

6 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
17 févr. 2009 à 11:17
cette logique n'a rien a faire dans A

Sub B()
call A(Path B)
...
end sub

Sub C()
call A(Path C)
...
end sub

Sub A(Byref vsPath As String)
Workbooks.open (vsPath)
...
End Sub
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
17 févr. 2009 à 10:53
pas simple d'exploiter la pile des appels, non ^^
0
goldenboy7 Messages postés 7 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 27 novembre 2009
17 févr. 2009 à 11:04
ouais, me faut une bonne gestion du standard ! ;)

le truc c'est qu'en fonction de la procédure qui appel, je fais un traitement dans la procédure appelée (une simple condition du genre : si proc A appelle, alors ouvre tel fichier XL; si non si proc B appelle alors ouvre tel autre fichier XL)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
17 févr. 2009 à 11:09
va falloir passer par un paramètre, ou un flag global...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
goldenboy7 Messages postés 7 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 27 novembre 2009
17 févr. 2009 à 11:11
Peut etre avec un exemple ce sera plus claire :

Exple:
Sub B()
 call A
 ...
end sub

Sub C()
 call A
 ...
end sub

Sub A()
 If Sub B called me then
    Workbooks.open (Path B)
 ElseIf Sub called me then
    Workbooks.open (path C)
 End If
 ...
End Sub

Please help!
0
goldenboy7 Messages postés 7 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 27 novembre 2009
17 févr. 2009 à 12:34
Yess ca marche : merci bcp Renfield.

Si non une autre logique qui marche aussi :

Sub B()
 Call A("SubB")
 ...
End Sub

Sub C()
 Call A("SubC")
 ...
End Sub

Sub A(Caller As String)
 If Caller = "SubB" Then
    Workbooks.open (Path B)
 ElseIf Caller = "SubC then" Then
    Workbooks.open (path C)
 End If
 '...
End Sub
0