Leçon 6 / 8 — Chapitre 2: Logique conditionnelle et boucles
Gérer les erreurs avec On Error
Une macro qui rencontre une erreur inattendue (une feuille qui n'existe pas, une division par zéro) s'arrête brutalement par défaut, avec un message d'erreur technique peu clair. On Error permet de reprendre le contrôle plutôt que de laisser Excel afficher une erreur brute.
Ignorer une erreur et continuer
Sub DiviserValeurs()
On Error Resume Next
Dim resultat As Double
resultat = 10 / 0
MsgBox "Fin de la macro"
End Sub
On Error Resume Next indique à VBA de passer à la ligne suivante si une erreur survient — à utiliser avec précaution, car une erreur silencieusement ignorée peut aussi cacher un vrai bug.
Rediriger vers une gestion d'erreur dédiée
Sub OuvrirFeuille()
On Error GoTo GestionErreur
Worksheets("Archives").Activate
MsgBox "Feuille ouverte avec succès"
Exit Sub
GestionErreur:
MsgBox "Erreur : la feuille 'Archives' n'existe pas."
End Sub
On Error GoTo GestionErreur envoie l'exécution vers une étiquette nommée dès qu'une erreur survient. Exit Sub juste avant l'étiquette évite d'exécuter la gestion d'erreur quand tout s'est bien passé.
Revenir au comportement normal
On Error GoTo 0 réactive la gestion d'erreur standard d'Excel.
Exemple concret : une macro tente d'ouvrir un classeur externe dont le nom peut avoir légèrement changé. Sans gestion d'erreur, l'utilisateur verrait un message technique incompréhensible ; avec On Error GoTo, un message clair s'affiche à la place.
À vous de jouer : écrivez une macro qui tente d'activer une feuille qui n'existe pas, avec une gestion d'erreur qui affiche un message clair.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 76 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès