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 :

Gestion des erreurs dans un enchainement de procedures


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut Gestion des erreurs dans un enchainement de procedures
    Bonsoir,

    J'ai fait une macro qui etait assez conséquente, je l'ai donc découpé en plusieurs procédures pour plus de clarté.
    Mon probleme est comment je gére les erreurs ?

    si dans chacune de mes procédures, j'utilise


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub test()
     
     On Error GoTo errorHandler
     
        'instructions ...
     
        Exit Sub
    errorHandler:
     
        MsgBox "Erreur dans la procédure test"
     
    End Sub
    je vais sortir de la procédure en cours mais pas de la procédure appelante, et le reste de ma macro va continuer à se dérouler ?

    Comment gérer ce probleme "proprement" ?

    merci !

  2. #2
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
     On Error GoTo errorHandler
        'instructions ... 
        Exit Sub
    errorHandler:
        MsgBox "Erreur dans la procédure test"
     End
    End Sub
    Normalement, End, stoppe toutes les procédures en cours
    Je ne sais pas si ça répond à votre question
    Cordialement

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    A mon sens, utiliser On Error Goto en début de code pour qu'il s'applique à l'ensemble du code est une grossière erreur.

    Les erreurs doivent être gérées chirurgicalement.
    C'est-à-dire qu'on peut mettre un On Error Resume Next avant une instruction à condition de mettre un On Error Goto 0 juste après.
    On ne le fait que si l'on connait très précisément l'erreur que l'instruction en question va générer et comment gérer cette erreur.

    Un On Error Goto général en début de code ne sert qu'à masquer les imperfections du code.
    Il est beaucoup plus approprié et profitable de corriger ces imperfections pour avoir un code stable.

    Mettre un On Error Goto pour essayer de pêcher des erreur "au petit bonheur", c'est l'assurance de les conserver dans son code au lieu de les corriger.
    Bref, c'est balayer en mettant la poussière sous le tapis.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    Je comprends complètement ta remarque, mais le but pour moi serait de faire afficher un message à l'utilisateur sur quelle sous procédure a planté et arrêter la macro proprement, et moi de mon coté pouvoir traiter le problème.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    Merci c'est ça que je cherchais !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des erreurs dans une requête "IF"
    Par tineighty dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/10/2007, 18h22
  2. Gestion des erreurs dans une classe
    Par gregb34 dans le forum ASP.NET
    Réponses: 10
    Dernier message: 26/07/2007, 09h59
  3. [AIX] Gestion des erreurs dans un script
    Par f-k-z dans le forum AIX
    Réponses: 2
    Dernier message: 17/07/2007, 08h45
  4. Gestion des erreurs dans un TRIGGER
    Par SDU64 dans le forum DB2
    Réponses: 1
    Dernier message: 18/05/2006, 09h51
  5. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20

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