Gestion des erreurs VBA - Guide de gestion des erreurs dans Excel VBA

Table des matières

Gestion des erreurs Excel VBA

Dans VBA, lorsque nous travaillons avec des codes, nous pouvons rencontrer de nombreux types d'erreur différents et la façon de résoudre ces erreurs est connue sous le nom de gestion des erreurs, maintenant il peut y avoir des erreurs qui sont faites dans la syntaxe qui excelle elle-même le met en évidence mais quand il y a une erreur qui est hors de portée ou quelque chose qui n'existe pas Excel nous donne une fenêtre contextuelle pour le même, il est important de savoir quel code d'erreur correspond à quelle erreur afin d'identifier l'erreur dans le code.

Dans Excel VBA, lors de l'exécution de n'importe quel ensemble de codes, nous obtenons une sorte d'erreurs. Certaines de ces erreurs sont des erreurs de syntaxe; certaines sont des erreurs non exécutables. L'erreur de syntaxe se produit lorsque l'utilisateur est surligné en rouge par Excel lui-même. Mais quand il y a une autre sorte d'erreur d'exécution, comment la gérer et comment aller au-delà de cela, c'est ce que nous allons couvrir dans cet article.

Outre les erreurs de syntaxe, les autres erreurs d'exécution doivent être gérées lors de l'exécution de tout ensemble de codes. Tout d'abord, permettez-moi de donner un exemple de la façon dont l'autre erreur d'exécution se produit. Jetez un œil au code ci-dessous,

Ceci est un exemple de code, lorsqu'il est exécuté, retournera ce qui est écrit dans la fonction msgbox. Mais comme on peut voir que dans la deuxième ligne du code, il y a 4/0, ce qui n'est pas possible en termes mathématiques, donc il renverra une erreur d'exécution. Exécutons le code ci-dessus et voyons l'erreur que nous obtiendrons.

C'est l'erreur que nous obtenons lors de l'exécution du code donné. Maintenant, comment gérer cette erreur est faite par la gestion des erreurs.

Il existe deux méthodes pour gérer les erreurs qui sont:

  1. En cas d'erreur Goto, et
  2. En cas d'erreur, reprendre ensuite.

Explication

Comme expliqué ci-dessus, nous obtenons de nombreux types d'erreurs dans VBA. Certains sont de la syntaxe et certains sont exécutés. Les erreurs de syntaxe sont déjà mises en évidence en couleur rouge, par exemple, reportez-vous à la capture d'écran ci-dessous,

Alors que l'autre est des erreurs d'exécution. Fondamentalement, Excel fera les trois choses suivantes, soit il affichera une erreur ou ignorera cette erreur, soit il affichera un certain ensemble d'instructions. Pour effectuer de telles tâches, nous devons donner des instructions, et cela s'appelle la gestion des erreurs.

Comment gérer les erreurs dans le code VBA?

Exemple 1

Pour le premier exemple, prenons le premier code que nous avons pris comme démonstration. Dans l'exemple ci-dessus, nous avons vu que le code donne une erreur d'exécution à la deuxième fonction msgbox.

Écrivez le code suivant après avoir ouvert la sous-fonction,

Code:

Sous-échantillon () En cas d'erreur Reprendre MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub

Maintenant, lorsque nous exécutons le code ci-dessus, nous voyons que la ligne de code qui contient l'erreur n'est pas exécutée. Excel ignore cette ligne et reprend sur la ligne suivante.

Il existe une autre méthode pour gérer l'erreur est l'instruction VBA Goto. Nous fournissons Excel comme destination vers laquelle se rendre en cas d'erreur. Au lieu du code de gestion des erreurs précédent, nous avons inséré, notez le code suivant,

Code:

Sous-échantillon () En cas d'erreur GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub

Nous donnons Excel Az comme destination à visiter s'il trouve une erreur. Maintenant, après la msgbox, écrivez un autre code comme ci-dessous,

Code:

Sous-échantillon () En cas d'erreur GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Terminé: Quitter Sub

Nous devons maintenant définir la destination az comme ce qu'elle doit faire quand Excel détecte une erreur dans le code.

Code:

Sub Sample () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Done: Quitter Sub az: MsgBox "Ceci est une erreur" & Err.Description End Sub

Maintenant, lorsque nous exécutons ce code, nous voyons le résultat affiché.

C'est le premier résultat de la boîte de msg et comme nous savons que nous avons une erreur dans la ligne suivante de notre code, voyons le résultat que donnera Excel.

La description d'erreur ci-dessus dans le code nous aide à montrer exactement ce que l'erreur s'est produite dans notre code.

Exemple # 2

Nous avons appris à gérer les erreurs dans nos codes. Regardons un autre exemple de la façon de gérer les erreurs. Considérez le code suivant comme notre deuxième exemple.

Nous avons une erreur quelque peu similaire de l'exemple 1. L'erreur est à la ligne d = i / b. Nous allons maintenant gérer ces erreurs en utilisant les deux méthodes expliquées ci-dessus.

Écrivez le code suivant après avoir ouvert la sous-fonction,

Code:

Sub Sample2 () On Error Resume Next bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d End Sub

Now when we execute our code, we can see that it ignores the second line and just displays the value for C.

The above error handler was a resume next, and now we will use the Go to wherein we will tell we excel a destination to go when it encounters an error. Write down the following code,

Code:

Sub Sample2() On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d

The bx is a destination given when it encounters an error after msgbox D write down the following code,

Code:

Sub Sample2() On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d DOne: Exit Sub

Now we need to define the destination Bx what it should do when it encounters an error, So write down the following code,

Code:

Sub Sample2 () On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d DOne: Quitter Sub bx: MsgBox "Ceci est une autre erreur" & Err.Description End Sub

Maintenant, lorsque nous exécutons le code, nous pouvons voir qu'Excel nous donne d'abord la valeur de C.

Maintenant, dans une autre étape, il nous donnera l'invite que nous lui avons fournie lorsqu'il rencontre une erreur.

C'est ainsi que nous gérons les erreurs d'exécution normales dans Excel VBA.

Choses dont il faut se rappeler

Il y a quelques points à retenir concernant la gestion des erreurs:

  1. Lors de la reprise après erreur, ignore l'erreur.
  2. En cas d'erreur, GoTo donne une destination à Excel lorsqu'il rencontre une erreur.
  3. La description est utilisée pour montrer l'erreur exacte qui s'est produite à l'utilisateur.

Articles intéressants...