Cours VBA - Gestion des erreurs - Déboguage -

 

 

L'instruction On Error permet la gestion des erreurs lors de procédures.

 

Sub Test()

    Dim i As Integer

    i = "coucou"

    Suite des instructions

End Sub

 

Cette procédure s'arrêtera et un message d'erreur apparaîtra car la variable i est déclarée de type Integer.

 

 

L'instruction On Error Resume Next permet de passer sur les erreurs et continue la procédure à la ligne d'instruction suivante. La procédure suivante ne s'arrêtera pas.

 

Sub Test()

    Dim i As Integer

    On Error Resume Next

    i = "coucou"

    Suite des instructions

End Sub

 

L'instruction On Error GoTo 0 invalide l'instruction On Error Resume Next. Dans la procédure suivante, les erreurs de Instructions 1 seront ignorées alors que la procédure s'arrêtera sur les erreurs de Instructions 2.

 

Sub Test()

    On Error Resume Next

    instructions1

  On Error GoTo 0

    instructions2

End Sub

 

L'instruction On Error Goto Etiquette continue la procédure à une étiquette définie dans cette même procédure.

 

Sub Test()

    Dim Fichier As String

    Fichier = "c:\Excel\Appli.xls"

    On Error GoTo MsgErreurs

    Workbooks.open Fichier

  instructions

  Exit Sub 'Arrête la procédure pour éviter le message

MsgErreurs :

    Msgbox "Le fichier " & Fichier & " est inexistant"

End Sub

 

Si le fichier "c:\Excel\Appli.xls" n'existent pas, la procédure se rend à l'étiquette MsgErreurs, affiche le message puis s'arrête.

 

 

La procédure suivante réalise la même chose mais, après le message reprend, à la ligne qui suit la ligne qui a provoquée l'erreur.

 

Sub Test()

    Dim Fichier As String

    Fichier = "c:\Excel\Appli.xls"

    On Error GoTo MsgErreurs

    Workbooks.open Fichier

    On Error GoTo 0 'Invalide la gestion d'erreurs

  instructions

  Exit Sub 'Arrête la procédure pour éviter le message

MsgErreurs :

    Msgbox "Le fichier " & Fichier & " est inexistant"

    Resume Next

End Sub

 

VBA possède des outils permettent de tester votre application.

Compilez votre projet par le menu "Débogage-Compiler VBAProject". Cette opération vous affichera les erreurs de votre code tels des variables non ou mal déclarées.

 

 

Testez votre application "Pas à Pas" en cliquant dans la procédure puis faîtes "F8". La ligne d'instruction lue est alors surlignée et une flèche s'affiche à sa hauteur dans la marge. A chaque touche "F8", la procédure avance d'une ligne.

 

 

Vous pouvez à tout moment déplacer la flèche pour vous déplacer dans la procédure.

 

 

Placez des points d'arrêts pour arrêter votre procédure ou vous le souhaitez. Pour cela, cliquez dans la marge à la hauteur de la ligne désirée. Vous pouvez créer autant de points d'arrêt que nécessaire.

 

 

Contrôlez la valeur de vos variables en les survolant avec la souris.

 

 

 

 

printing_tbg_1.gif

 

Classement de sites - Inscrivez le vôtre!