DEWI France
Messages postés5Date d'inscriptionvendredi 5 mai 2006StatutMembreDernière intervention11 mai 2006
-
11 mai 2006 à 12:49
DEWI France
Messages postés5Date d'inscriptionvendredi 5 mai 2006StatutMembreDernière intervention11 mai 2006
-
11 mai 2006 à 16:16
Bonjour a tous,
J'ai un petit soucis avec la gestion des erreurs.
Quand dans mon code je mets un "On error resume next" ou "on error goto..." ceci s'applique pour toutes les erreurs qui suivent dans ma procedure.
Y a-t-il un moyen pour que cela ne s'applique que pour l'erreur qui suit (genre la selection d'une feuille excel qui n'existe pas) ou bien cela depnd-il du code et de ce que je veux faire et dans ce cas, il faut que je trouve un autre moyen de faire?
Je sais pas si j'ai été bien clair, si jamais je reexpliquerai plus concrètement.
cs_deuspi
Messages postés10Date d'inscriptionvendredi 26 septembre 2003StatutMembreDernière intervention15 juin 2006 11 mai 2006 à 14:16
Pour activer la gestion d'erreur, comme tu dis tu dois écrire "On Error Goto <étiquette>"
Tu peux très bien la désactiver avec l'instruction "On Error Goto 0"
NHenry
Messages postés15115Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 8 mai 2024159 11 mai 2006 à 12:52
Bonjour
En utilisant On Error Goto ...
tu peux ensuite récupérer err.number, il dépend de l'erreur générée.
Ensuite tu peux utiliser :
Resume 0 (réexecuter l'instruction qui a posé pb)
ResumeNext (instruction suivante)
Resume ... (saut à l'étiquette ...)
Sinon, utilise err.clear (il me semble que c'est ça).
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 11 mai 2006 à 12:58
Oui, celà s'applique pour toutes les
erreurs qui suivent, car tu ne sais pas à priori quelle ligne va
planter. Ce n'est pas comme pour le try{} catch{} de .NET
Si tu veux que çà ne s'applique que pour une ligne, crée un "On error
Goto ailleurs" juste après la ligne qui peut poser problème.