J'ai une question toute particulière et qui n'a peut être pas de solution.
Je voudrais savoir et surtout comment faire pour tracer le déroulement d'un
programme (suite de macro VBA).
J'ai un Classeur Excel (Classeur1) qui utilise beaucoup de macro, certaines
très longues à tracées d'autres très courtes. Pour débuguer plus facilement
cette enchevètrement de macro, j'aimerais pouvoir obtenir sur une feuille
d'un autre classeur (Classeur2), la liste des macros dans l'ordre ou elles
sont éxécuter sur le Classeur1.
Par exemple dans mon Classeur1 comporte un Objet image "Imprimer" qui lance
la macro "Private Sub Workbook_BeforePrint(Cancel As Boolean)"
Je voudrais que sur la Feuil1 du Classeur2 il soit noté :
en A1 "Private Sub Image1_Click()"
et en A2 "Private Sub Workbook_BeforePrint(Cancel As Boolean)"
...etc. suivant les macro qui vont être éxecutées
Si c'est possible et que vous avez un bout de code pour faire ça, vraiment
je suis preneur.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour,
Une suggestion simple à mettre en place
A ) Déclare dans un module standard, une variable dans le haut de ce dernier Public Z as Integer
Et en début de chaque procédure concernée, tu insères ces 2 lignes de code
Z = Z +1 Worksheets("NomDeLaFeuille").Range("A" & Z).valeur = _ "Titre de déclaration de la procédure où tu insères la ligne"
Une autre approche : Tu pourrais avoir le même résultat affiché dans la fenêtre Exécution dans l'interface VBA A ) Dans la fenêtre de l'éditeur de code, utilise le raccourci clavier Ctrl + G pour afficher la fenêtre Exécution B ) Au début de chaque procédure, tu insères la ligne de code : Debug.Print "NomDeLaProcédure" C ) lors de son exécution, chaque procédure va indiquer sur une ligne dans la fenêtre exécution, le nom de la procédure D ) Tu peux laisser cette ligne de code là après ton test. Elle n'intervient pas dans le déroulement de la macro.
"Gouap" a écrit dans le message de groupe de discussion :
Bonjour à tous,
J'ai une question toute particulière et qui n'a peut être pas de solution.
Je voudrais savoir et surtout comment faire pour tracer le déroulement d'un programme (suite de macro VBA). J'ai un Classeur Excel (Classeur1) qui utilise beaucoup de macro, certaines très longues à tracées d'autres très courtes. Pour débuguer plus facilement cette enchevètrement de macro, j'aimerais pouvoir obtenir sur une feuille d'un autre classeur (Classeur2), la liste des macros dans l'ordre ou elles sont éxécuter sur le Classeur1.
Par exemple dans mon Classeur1 comporte un Objet image "Imprimer" qui lance la macro "Private Sub Workbook_BeforePrint(Cancel As Boolean)"
Je voudrais que sur la Feuil1 du Classeur2 il soit noté : en A1 "Private Sub Image1_Click()" et en A2 "Private Sub Workbook_BeforePrint(Cancel As Boolean)" ...etc. suivant les macro qui vont être éxecutées
Si c'est possible et que vous avez un bout de code pour faire ça, vraiment je suis preneur.
@+ Philippe
Bonjour,
Une suggestion simple à mettre en place
A ) Déclare dans un module standard, une variable dans le haut de ce dernier
Public Z as Integer
Et en début de chaque procédure concernée, tu insères ces 2 lignes de code
Z = Z +1
Worksheets("NomDeLaFeuille").Range("A" & Z).valeur = _
"Titre de déclaration de la procédure où tu insères la ligne"
Une autre approche :
Tu pourrais avoir le même résultat affiché dans la fenêtre Exécution
dans l'interface VBA
A ) Dans la fenêtre de l'éditeur de code, utilise le raccourci clavier Ctrl + G
pour afficher la fenêtre Exécution
B ) Au début de chaque procédure, tu insères la ligne de code :
Debug.Print "NomDeLaProcédure"
C ) lors de son exécution, chaque procédure va indiquer sur une ligne dans la
fenêtre exécution, le nom de la procédure
D ) Tu peux laisser cette ligne de code là après ton test. Elle n'intervient pas
dans le déroulement de la macro.
"Gouap" <Gouap@free.fr> a écrit dans le message de groupe de discussion :
eJB9uN2vKHA.5812@TK2MSFTNGP02.phx.gbl...
Bonjour à tous,
J'ai une question toute particulière et qui n'a peut être pas de solution.
Je voudrais savoir et surtout comment faire pour tracer le déroulement d'un
programme (suite de macro VBA).
J'ai un Classeur Excel (Classeur1) qui utilise beaucoup de macro, certaines
très longues à tracées d'autres très courtes. Pour débuguer plus facilement
cette enchevètrement de macro, j'aimerais pouvoir obtenir sur une feuille
d'un autre classeur (Classeur2), la liste des macros dans l'ordre ou elles
sont éxécuter sur le Classeur1.
Par exemple dans mon Classeur1 comporte un Objet image "Imprimer" qui lance
la macro "Private Sub Workbook_BeforePrint(Cancel As Boolean)"
Je voudrais que sur la Feuil1 du Classeur2 il soit noté :
en A1 "Private Sub Image1_Click()"
et en A2 "Private Sub Workbook_BeforePrint(Cancel As Boolean)"
...etc. suivant les macro qui vont être éxecutées
Si c'est possible et que vous avez un bout de code pour faire ça, vraiment
je suis preneur.
A ) Déclare dans un module standard, une variable dans le haut de ce dernier Public Z as Integer
Et en début de chaque procédure concernée, tu insères ces 2 lignes de code
Z = Z +1 Worksheets("NomDeLaFeuille").Range("A" & Z).valeur = _ "Titre de déclaration de la procédure où tu insères la ligne"
Une autre approche : Tu pourrais avoir le même résultat affiché dans la fenêtre Exécution dans l'interface VBA A ) Dans la fenêtre de l'éditeur de code, utilise le raccourci clavier Ctrl + G pour afficher la fenêtre Exécution B ) Au début de chaque procédure, tu insères la ligne de code : Debug.Print "NomDeLaProcédure" C ) lors de son exécution, chaque procédure va indiquer sur une ligne dans la fenêtre exécution, le nom de la procédure D ) Tu peux laisser cette ligne de code là après ton test. Elle n'intervient pas dans le déroulement de la macro.
"Gouap" a écrit dans le message de groupe de discussion :
Bonjour à tous,
J'ai une question toute particulière et qui n'a peut être pas de solution.
Je voudrais savoir et surtout comment faire pour tracer le déroulement d'un programme (suite de macro VBA). J'ai un Classeur Excel (Classeur1) qui utilise beaucoup de macro, certaines très longues à tracées d'autres très courtes. Pour débuguer plus facilement cette enchevètrement de macro, j'aimerais pouvoir obtenir sur une feuille d'un autre classeur (Classeur2), la liste des macros dans l'ordre ou elles sont éxécuter sur le Classeur1.
Par exemple dans mon Classeur1 comporte un Objet image "Imprimer" qui lance la macro "Private Sub Workbook_BeforePrint(Cancel As Boolean)"
Je voudrais que sur la Feuil1 du Classeur2 il soit noté : en A1 "Private Sub Image1_Click()" et en A2 "Private Sub Workbook_BeforePrint(Cancel As Boolean)" ...etc. suivant les macro qui vont être éxecutées
Si c'est possible et que vous avez un bout de code pour faire ça, vraiment je suis preneur.