IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

debogage d'une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 67
    Par défaut 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

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut yalefe et le forum
    Comprend pas la question ???
    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+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 67
    Par défaut
    bin a pas etre obligé de tout déboguer en une seule fois....

  4. #4
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    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.

  5. #5
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    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.

Discussions similaires

  1. [VB6] Exécuter une macro Access
    Par Nektanebos dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/02/2006, 16h32
  2. []débogage sur une requête dasn visual basic
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 24/09/2003, 09h59
  3. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  4. Qu'est-ce qu'une macro ?
    Par karli dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/09/2002, 03h38
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo