Table des matières:
Vidéo: Débuter avec Excel VBA traitement d'erreur Tutoriel Excel DE RIEN 2025
Comment identifier et gérer toutes les erreurs possibles dans Excel 2016? Souvent, vous ne pouvez pas. Heureusement, VBA fournit un autre moyen de traiter ces erreurs embêtantes.
Revisiter la procédure EnterSquareRoot
Examinez le code suivant. La routine utilise une instruction On Error à usage général pour intercepter toutes les erreurs et vérifier si l'InputBox a été annulée.
Sub EnterSquareRoot5 () Dim Num As Variant Dim Msg As String 'Configurer la gestion des erreurs On Error GoTo BadEntry' Demander une valeur Num = InputBox ("Entrer une valeur") 'Exit if cancel Si Num = "" Then Exit Sous 'Insérer la racine carrée ActiveCell. Valeur = Sqr (Num) Exit Sub BadEntry: Msg = "Une erreur s'est produite. "& VbNewLine & vbNewLine Msg = Msg &" Assurez-vous qu'une plage est sélectionnée, "Msg = Msg &" la feuille n'est pas protégée, "Msg = Msg &" et vous entrez une valeur non négative. MsgBox Msg, vbCritical End Sub
Cette routine intercepte tout type d'erreur d'exécution . Après avoir intercepté une erreur d'exécution, la procédure EnterSquareRoot révisée affiche cette boîte de message. Cette boîte de message décrit les causes les plus probables de l'erreur.
L'erreur ne fonctionne pas?
Si une instruction On Error ne fonctionne pas comme annoncé, vous devez modifier l'un de vos paramètres:
-
Activez le VBE.
-
Choisissez la commande Outils → Options.
-
Cliquez sur l'onglet Général de la boîte de dialogue Options.
-
Assurez-vous que le paramètre Rompre toutes les erreurs est désélectionné.
Si ce paramètre est sélectionné, Excel ignore essentiellement les instructions On Error. Vous souhaitez normalement conserver les options de recouvrement d'erreurs définies sur Rompre sur les erreurs non gérées.
À propos de l'instruction On Error
L'utilisation d'une instruction On Error dans votre code VBA vous permet de contourner le traitement des erreurs intégré d'Excel et d'utiliser votre propre code de gestion des erreurs. Dans l'exemple précédent, une erreur d'exécution entraîne l'exécution de la macro pour accéder à l'instruction intitulée BadEntry. Par conséquent, vous évitez les messages d'erreur hostiles d'Excel et vous pouvez afficher votre propre message à l'utilisateur.
Notez que l'exemple utilise une instruction Exit Sub juste avant l'étiquette BadEntry. Cette instruction est nécessaire car vous ne voulez pas exécuter le code de gestion des erreurs si une erreur et non se produit.
