Bonjour Rocket, bonjor le forum,
Regarde du coté de Caller... Personnellement j'ai jamais réussi à faire marcher ce truc mais c'est, je pense, ce mot clé qui devrait débloquer ta situation. Voilà ce qu'en dit l'aide VBA :
Référence du développeur Excel
Application.Caller, propriété
Cette propriété renvoie des informations relatives à la manière dont Visual Basic a été appelé (pour plus d'informations, consultez la section Remarques).
Syntaxe
expression.Caller(Index)
expression Variable qui représente un objet Application.
Paramètres
Nom Obligatoire/Facultatif Type de données Description
Index Facultatif Variante Argument facultatif de type variante. Index de la matrice. Cet argument est utilisé uniquement lorsque la propriété renvoie une matrice (pour plus d'informations, voir la section Remarques).
Remarques
Cette propriété renvoie des informations relatives à la manière dont Visual Basic a été appelé (voir tableau ci-dessous).
Demandeur Valeur renvoyée
Fonction personnalisée tapée dans une cellule unique Objet Range spécifiant cette cellule
Fonction personnalisée appartenant à une formule matricielle dans une plage de cellules Objet Range spécifiant cette plage de cellules
Macro Auto_Open, Auto_Close, Auto_Activate, ou Auto_Deactivate Nom du document sous forme de texte
Macro activée par la propriété OnDoubleClick ou OnEntry Nom de l'identificateur de l'objet graphique ou, le cas échéant, de la référence de cellule auquel la macro s'applique
Boîte de dialogue Macro (menu Outils), ou tout autre demandeur non décrit ci-dessus Erreur #REF!
Exemple
Cet exemple montre comment afficher des informations relatives à la manière dont Visual Basic a été appelé.
Visual Basic pour Applications
Select Case TypeName(Application.Caller)
Case "Range"
v = Application.Caller.Address
Case "String"
v = Application.Caller
Case "Error"
v = "Error"
Case Else
v = "unknown"
End Select
MsgBox "caller = " & v