Utilisation de OnError GoTo
spouich
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
[VBA Excel]
J'ai un doute auquel mes multiples recherches n'ont trouvé aucune solution :
Avant tout, je tiens à préciser que je ne fais pas dans la programmation spaghetti, mais que j'utilise GoTo à la seule fin de gestion des erreurs.
Ma question, c'est comment fixer le début et la fin du Label auquel GoTo fait référence. Je souhaite transformer OnError en "if", de sorte à remédier directement au problème pour pouvoir poursuivre la procédure.
Pour être plus explicite si je fais :
Je voudrais qu'après la résolution de l'erreur, le programme revienne à "suite de la procédure" et non à "end sub".
[VBA Excel]
J'ai un doute auquel mes multiples recherches n'ont trouvé aucune solution :
Avant tout, je tiens à préciser que je ne fais pas dans la programmation spaghetti, mais que j'utilise GoTo à la seule fin de gestion des erreurs.
Ma question, c'est comment fixer le début et la fin du Label auquel GoTo fait référence. Je souhaite transformer OnError en "if", de sorte à remédier directement au problème pour pouvoir poursuivre la procédure.
Pour être plus explicite si je fais :
sub importer()
'procédure
'ligne potentiellement erronée
OnError GoTo erreur
'suite de la procédure
erreur:
'Résolution de l'erreur
end sub
Je voudrais qu'après la résolution de l'erreur, le programme revienne à "suite de la procédure" et non à "end sub".
A voir également:
- Utilisation de OnError GoTo
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- La ressource demandée est en cours d'utilisation ✓ - Forum Logiciels
- Family link temps d'utilisation ne fonctionne pas - Forum Contrôle parental
- Impossible d'utiliser ce numéro de téléphone pour la validation - Forum Gmail
3 réponses
Bonjour
Tu as 3 syntaxes possibles
Resume 0
reprend à l'endroit où s'est produit l'erreur
Resume next
reprend de l'instruction qui suit immédiatement l'erreur
Resume ligne (ou label)
reprise à l'endroit spécifié par Ligne (ou label)
intéressant lorsqu'on gère plusieurs erreurs possibles
par ex: on saisit un nombre au lieu d'un texte
Michel
Tu as 3 syntaxes possibles
Resume 0
reprend à l'endroit où s'est produit l'erreur
Resume next
reprend de l'instruction qui suit immédiatement l'erreur
Resume ligne (ou label)
reprise à l'endroit spécifié par Ligne (ou label)
intéressant lorsqu'on gère plusieurs erreurs possibles
par ex: on saisit un nombre au lieu d'un texte
dim blabla as String
OnError GoTo erreur
1 blabla=Application.inputbox(.....,2)
'2 vérifie si on a saisit du texte sinon déclechement erreur
'suite de la procédure
Exit sub
erreur:
'Résolution de l'erreur
resume 1
Michel
Ceci dit, merci pour cette réponse, rapide.
Pourriez-vous s'il vous plaît m'éclairer, je ne sais pas où mettre ni l'un ni l'autre.
Merci de votre compréhension.
Next, instruction suivante de celle ayant générée l'erreur
Label, le label de la ligne à laquelle il faut aller (en gros, un Goto avec RAZ de l'erreur)