Microsoft 365 Appliquer On Error Resume Next sur l'intégralité de mes macros Excel

marie3107

XLDnaute Nouveau
Bonjour,

J'ai créé un outil Excel contenant plusieurs macros VBA sur différents modules et plusieurs userform.

Je souhaiterais maintenant créer une macro VBA générale du type "On Error Resume Next" me permettant de ne pas afficher le panneau de débogage en cas de problème sur une macro.
En fait, je souhaiterais qu'une seule macro de ce style s'applique :
- à l'ensemble de mes macros contenues dans mes différents modules. Dans ce cas, je pensais l'enregistrer dans le module "ThisWorkbook" (mais ne sais pas comment la construire)
- à l'ensemble de mes Userform.

Merci d'avance pour votre retour.
 

Cousinhub

XLDnaute Barbatruc
Bonjour,
Je ne savais pas qu'il existait un concours intitulé "La plus mauvaise idée dans la construction d'un code VBA"...
:D
Bien au contraire, il faut savoir gérer les potentielles erreurs qui pourraient advenir lors de l'exécution d'un code.
Et perso, je suis très, mais très, réfractaire à ce type de commande, et ne l'utilise qu'en vraiment dernier recours..
Bon courage
 

marie3107

XLDnaute Nouveau
Bonjour bhbh,

Merci pour votre retour. Je comprends que cela peut être dérangeant. Néanmoins, je souhaiterais mettre à disposition mon outil de personnes qui ne maitrisent pas vraiment Excel, encore moins VBA. Ainsi, je souhaiterais créer mon outil en deux :
- un mis à disposition de ces personnes, avec la macro On Error Resume Next (afin qu'ils ne m'appellent pas toutes les 5 minutes car ils rencontrent d'éventuels problème)
- un que je conserve de mon côté et qui me permettra de gérer les éventuelles erreurs

Merci d'avance pour votre retour
 

p56

XLDnaute Occasionnel
Bonjour à tous,

En phase avec BH²

Amha, cette instruction est à réserver à quelques cas rares seulement, systématiser n'est pas une bonne pratique.
En effet, les erreurs peuvent avoir plusieurs causes, dont : erreur de codage, cas de figure non prévu, incompatibilité matérielle/logicielle, ...

La première action à mener est alors de vérifier les points de blocage pour les fixer une bonne fois pour toute.

Une bonne pratique est d'écrire la mention Option Explicit en haut de tous les modules (et cocher l'option Déclaration des variables obligatoire dans Outils/Option du VBE). Ce qui oblige déjà à soigner le code à minima.

Mais On error resume next partout : jamais, carton rouge!

Avant de déployer, il ne faut jamais sauter les phases de tests ...

P.
 

Cousinhub

XLDnaute Barbatruc
Re-,
Je ne saisis pas du tout pourquoi tu mets à disposition des fichiers qui risquent de ne pas fonctionner...
Comme je le dis : "il faut savoir gérer les potentielles erreurs...."
Et mettre à disposition un programme "stable"
L'inverse n'a aucun intérêt...
Et en phase, tout pareil, avec @p56
 

dysorthographie

XLDnaute Accro
Bonjour,
Dans d'autres langage on appel ça dès exceptions et bien évidemment ça devrait être exceptionnel ?

Un programme bien ficelé vérifie les tenants et aboutissants pour éliminer tout risque d'erreur.

L'affichage de la fenêtre de debugage est préférable à un traitement aléatoire.

Il ne faudrait pas que ton programme confonde envoyer des roses avec envoyer sur les roses😂
 

chris

XLDnaute Barbatruc
Bonjour à tous

Ce type de code c'est en gros : si nous sommes au bord du précipice alors faisons un grand pas en avant !

Il faudrait mieux quitter la procédure (ce qui n'est pas très propre si pas géré) car de resume next en resume next l'utilisateur se débat au fond du gouffre...
 

Deadpool_CC

XLDnaute Accro
Hello,
C'est surtout que si on mets ce genre de chose en place pour des infos métiers et que l'utilisateurs ne voit pas qu'il y a un problème, il va prendre le résultat comme exact et travailler à partir de données fausses ... lol
c'est comme cela que ta feuille qui doit dire combien de voitures commandées pour ta société va te sortir un 247 véhicules au lieu de 3 car t'aura pas gérer l'erreur. ... oupsss.
 

Discussions similaires