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 :

"On error Resume Next" Général


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut "On error Resume Next" Général
    Bonsoir,

    J'ai fini une petite application. Parfois j'ai encore quelques erreurs qui se produisent. Pour ne pas perturber l'utilisateur, je peux ajouter des "On Error Resume Next" au début de chacune de mes fonctions, mais ce n'est pas très propre...

    Existe-t-il un moyen de le faire de manière général ? Je voudrai éviter que l'utilisateur voir le code s'afficher et soit perdu. En plus si je dois déboguer l'application après coup, je n'aurai qu'à l'enlever une seule fois de mon code.

    Merci.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    de l'aide en ligne de vb :

    An On Error Resume Next statement becomes inactive when another procedure is called, so you should execute an On Error Resume Next statement in each called routine if you want inline error handling within that routine.
    ce qui veut clairement dire ce que celà dit : on error resume next cesse d'être actif au sortir de la procédure dans laquelle il est utilisé.

    Ceci étant dit (je ne le répèterai jamais assez) : l'utilisation de On Error Resume Next doit se faire avec la plus grande parcimonie et uniquement dans les cas d'erreurs totalement imprévisibles ne pouvant être gérées par le code (ce qui est très rare).... Un code bien écrit sait dans plus de 99 % des cas, éviter que l'on en arrive à cette utilisation .

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    Bien sûr, mais lorsque l'on passe un serveur web en production par exemple, on désactive l'affichage des erreurs aux utilisateurs. C'est un peu ça que j'aimerai faire.

    Merci pour ta réponse.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je suis tout à fait d'accord avec ucfoutu, l'utilisation de cette commande doit être interdite, le seul moment où je l'utilise est quand je détruis une barre de commande pour la récréer par la suite pour éviter une erreur sur la destruction de celle-ci.

    Citation Envoyé par Zorgloub Voir le message
    Bien sûr, mais lorsque l'on passe un serveur web en production par exemple, on désactive l'affichage des erreurs aux utilisateurs. C'est un peu ça que j'aimerai faire.
    Merci pour ta réponse.
    Excuse-moi, car c'est une grosse C*****E, en effet, c'est souvent en production que l'on s'aperçoit de bugs. Sans une gestion d'erreur qui fait apparaitre le message, tu risques d'avoir une application complètement bancale.

    Je te conseille vivement de faire une vrai gestion d'erreur, quand au messages qui apparaitront en production, ils te permettront de débbuguer, et de corriger ton code au fur et à mesure.

    Starec

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    Merci pour votre point de vue !

    Cepandant, on ne peut pas laisser l'affichage des erreurs d'un serveur web une fois qu'on le met en production. Pour ça il y a les logs. Et de toute manière c'est impossible de prévoir toute les erreurs. C'est d'ailleurs pour ça que la gestion des exceptions a été inventé. Bien entendu il ne faut pas faire une gestion général qui récupère tout, ni une gestion trop fine erreur par erreur... ça serai trop fastidieux.

    Si je prévois 9/10 ème des erreurs, pour celle qui resteront l'utilisateur en question sera perdu. Etant donné qu'il n'y a pas de système de log en VBA j'ai besoin de les désactiver.

    Et comme dit Ucfoutu les "erreurs imprévisibles" sont comme leur nom l'indique imprévisible... et donc on ne peut pas prévoir où elle se produiront, donc on ne peut pas prévoir de dire : je ne rattraperai les exceptions qu'à cette endroit.

    Je demande simplement si qqn sait le faire, cela me rendrai bien service. Une fois l'application mise en place, s'il reste des erreurs qui sont rattrapé par VBA ne me concerne plus.

    Cela reste un choix libre à chacun. Si quelqu'un sait comment désactiver l'affichage des erreurs une fois l'applications mit en place j'en serai très reconnaissant.

    Merci encore !

  6. #6
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 525
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 525
    Par défaut
    La gestion des erreurs est catastrophique sous VB6 et VBA ; je conseille de ne mettre aucun On Error et quand l'application logicielle est stable et bien testée , d'en mettre judicieusement.
    Sinon il faut faire un gestionnaire d'erreur avec On Error et faire apparaitre la nature de l'erreur

Discussions similaires

  1. On error resume next
    Par nephhh dans le forum C#
    Réponses: 2
    Dernier message: 26/04/2007, 14h00
  2. [VBA Excel] On error resume next
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/03/2007, 19h20
  3. [VBA-E] On error resum next
    Par Phenx dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/09/2006, 17h27
  4. On Error Resume Next existe il en java??
    Par the_zurg dans le forum Général Java
    Réponses: 9
    Dernier message: 01/06/2006, 22h38
  5. Réponses: 2
    Dernier message: 28/04/2006, 14h10

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