-
debogage d'une macro
Bjr
Une question pratique :
Lorsque l'on debogue une macro, il n'y a pas de possiblité d'enregistrer les espions en cours ?
Si je quitte VBA , tous mes espions sont perdus.... c'est lourd surtout lorsqu'on n'est pas un pro des macros et que ca boggue pas mal :mrgreen:
-
Salut yalefe et le forum
Comprend pas la question 8O ???
Un espion sert à surveiller la valeur d'une espression pendant le déroulement d'un programme => si tu supprimes le programme, quelle est l'utilité de conserver une valeur qui n'a plus "d'existence" ?
Ce qui prouve bien que je n'ai pas compris la question, alors explique!
A+
-
bin a pas etre obligé de tout déboguer en une seule fois....:yaisse2:
-
Bonjour,
tu peu utilise l'instruction stop pour stopper ton code à un endroit précis, et Debug.print pour écrire dans la fenêtre exécution.
-
Bonjour,
Dans ton intérêt, je te suggères d'agir dans cet ordre :
Une solution serait peut-être de commencer par poser le problème que tu souhaites résoudre AVANT de commencer à programmer.
Tu pourrais peut-être tenter de faire des logigrammes !
Ainsi, au lieu de passer un temps fou en mode debug, tu passerais un bon temps à éviter que les bugs ne se produisent !
Tu peux également mettre le Option Explicit en haut du module (cocher la seule case non cochée dans Outils/Options pour que ce soit automatique dans tous les nouveaux modules créés) afin de passer un contrat avec ton module quant à la déclaration de tes variables et constantes
Pour éviter pas mal d'erreur en cours d'écriture tu devrais prendre l'habitude de faire régulièrement Débogage/Compiler ..... Cela te montrera immédiatement les erreurs les plus grossières. Celles qui empêchent la compilation du(des) module(s)
Une solution additionnelle serait d'utiliser une gestion d'erreur suffisamment sympathique pour te dire ce qui se passe... et où !
Tu as la possibilité de mettre un Debug.Print pour imprimer une valeur dans la fenêtre exécution (CTRL+G) mais, à ce moment-là, je te suggère de faire cela dans un IF avec une variable de compilation conditionnelle, car sinon, ton programme te fera sans arrêt des debug.print, ou alors, tu devras repasser partout pour les retirer. Deux fois un travail inutile, alors que la compilation conditionnelle pourra toujours t'être utile ultérieurement.
Tu as la possibilité également de mettre des points d'arrêts "permanents" avec l'instruction Stop, mais ceci est génant, car il te faudra surtout ne pas oublier de les retirer avant exploitation, sinon tes utilisateurs vont systématiquement arriver en mode débogage sur la ligne marquée stop, dans tes modules... moyen non ;)
J'espère que ces coseils te seront utiles.