Comment savoir à quel endroit est appelé une macro ?

Stikmou -  
 Stikmou -
Bonjour à tous,

Est-ce que quelqu'un sait comment savoir si une macro est utilisée à un moment dans un classeur ?
Par exemple dans mon cas j'utilise des zones de texte pour appeler mes macros et j'aimerais savoir si une macro en particulier dont je connais le nom est appelée par une zone de texte et quelle est la zone de texte qui appelle cette macro.

Merci d'avance :).
A voir également:

6 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Il existe de nombreuses façons d'y arriver, peut-être peux-tu te contenter d'un MsgBox dans la macro en question qui t'indiquera la zone concernée.
0
Stikmou
 
Bonjour,

Pourquoi pas mais que mettrais tu dans le MsgBox puisque je ne connais pas la zone en question ?
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
La procédure la connait forcement !!!
0
Stikmou
 
J'imagine que la procédure la connait mais moi non. C'est justement ce que je veux, savoir quelle est la zone, alors j'arrive pas à voir comment je pourrais dire à mon MsgBox d'afficher la bonne zone alors que je sais pas comment lui faire pointer dessus.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

A chaque appel tu peux mettre une valeur différente dans une variable (le n° du textbox par exemple).
Et lors de l'exécution de la procédure tu fais un debug.print de cette variable. Ou un select case si c'est pour des instructions différentes à exécuter.

eric


En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
Stikmou
 
Bonjour,
J'ai bien compris le truc du debug.print pour afficher la variable. Mais je n'ai pas le numéro du textbox, c'est ce que je recherche. ???
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

A chaque appel tu peux mettre une valeur différente dans une variable (le n° du textbox par exemple).
Déclare une variable publique au début d'un module standard :
Public OrigineAppel as string
Et partout où tu as un appel à cette procédure ajoute devant une ligne :
OrigineAppel = "nom_du_textbox"

eric
0
Stikmou
 
Je ne sais pas si c'est moi qui a du mal... Je crois que j'ai mal expliqué le problème.
J'ai beaucoup de macro et de module dans mon fichier et j'aurais aimé faire le tri.
C'est un fichier d'entreprise où certaines macros n'ont pas été faite par moi mais par mon prédécesseur. J'ai donc regardé toutes les macros qu'il y avait et il y en a une, je ne vois pas à quoi elle sert et quand est-ce qu'elle est appelée. Mais je ne veux pas la supprimer sans savoir si elle est utile ou non. J'ai donc fait une recherche dans tout le projet avec le nom de cette macro pour voir si elle n'était pas appelée dans une autre fonction et la recherche n'a rien trouvé. Je voulais donc savoir maintenant si quelque part dans le classeur excel une zone de texte, un bouton ou n'importe quoi faisait appel à cette macro.
En aucun cas je ne fais démarrer la macro en cliquant sur une zone car je ne sais pas où est cette zone, je peux seulement faire démarrer la macro par VBA directement.

Merci de vos réponses, en espérant que vous réussissiez à m'aider :).
0
chrystellewc Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Oh, bien cette question. . Laissez-moi y réfléchir, je vais vous donner la réponse. .

---------------------------------------------------------------------------------
0
Stikmou
 
Si jamais vous avez une idée, je suis prenante :).
0
chrystellewc Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Je l'ai dit, donnez-moi un peu de temps

--------------------------------------------------------------------------
0

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

Posez votre question
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Mais je ne veux pas la supprimer sans savoir si elle est utile ou non
Et bien tu la mets en commentaire. Si un jour il y a un pb tu la réactives, et dans 1 an tu te reposes la question si ça vaut le coup de la supprimer.
Tu peux également y ajouter cette seule ligne :
msgbox "Erreur, merci de prévenir l'administrateur". Comme ça un utilisateur pourra t'alerter.

eric

En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
Stikmou
 
Oui aussi, mais bon ça aurait été plus sympa de savoir :). Je me disais bien que ce n'était pas trop possible, c'est un peu nul d'ailleurs que ça ne le soit pas.

Merci de l'aide en tout cas :) !
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Si tu la mets entièrement en commentaire l'appel plantera, tu sauras où.
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Vérifie un à un tous les objets posés sur le feuilles (formes, images, boutons de formulaire,...) pour voir si cette macro y est associée

Si elle n'est associée à aucun objet, installes MzTools et avec MzTools : Examiner le code

Si la macro n'est pas utilisée tu peux la supprimer !

Cordialement
Patrice
0
Stikmou
 
Bonjour,

Je vais essayer ça, et je vous dis ça tout de suite.
0
Stikmou
 
Je ne peux pas télécharger de logiciel sur l'ordinateur de l'entreprise alors je ferais ça ce soir...
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

je crois plus raisonnable de la mettre juste en commentaire au cas ou...
eric
0
Stikmou
 
Oui sans doute aussi car ce ne sont pas mes fichiers...
Je pensais sinon l'enlever mais enregistrer le module au cas où dans des archives personnelles.
0