La fonction `Error` dans VBA (Visual Basic for Applications) est utilisée pour renvoyer un message d’erreur correspondant à un numéro d’erreur spécifique. Son utilisation est relativement simple. Voici comment vous pouvez l’utiliser :
Syntaxe
Error [([errornumber])]
- errornumber (facultatif) : C’est un argument numérique optionnel qui correspond au numéro d’erreur dont vous souhaitez obtenir le message. Si vous omettez cet argument, la fonction renvoie le message d’erreur correspondant au dernier numéro d’erreur généré par le code en cours d’exécution.
Exemple d’utilisation
Voici un exemple simple qui démontre comment utiliser la fonction `Error` :
Sub ExempleError()
Dim numErr As Integer
Dim msgErr As String
' Assignez un numéro d'erreur.
numErr = 9
' Utilisez la fonction Error pour obtenir le message d'erreur.
msgErr = Error(numErr)
' Affichez le message d'erreur.
MsgBox "Le message d'erreur pour l'erreur numéro " & numErr & " est : " & msgErr
End Sub
Explications
- Dans cet exemple, nous avons attribué la valeur `9` à `numErr`, qui est un numéro d’erreur connu pour désigner “Subscript out of range”.
- La fonction `Error(numErr)` renvoie le message d’erreur associé, que nous stockons dans `msgErr`.
- Enfin, nous affichons ce message dans une boîte de dialogue avec `MsgBox`.
Utilisation avec un gestionnaire d’erreurs
Vous pouvez aussi utiliser la fonction `Error` dans un bloc de gestion des erreurs pour afficher le message d’erreur interactif :
Sub ExempleGestionErreur()
On Error GoTo GestionErreur
' Provoque une erreur de dépassement des limites.
Dim Tableau(1) As Integer
Dim x As Integer
x = Tableau(2) ' Ceci générera une erreur.
Exit Sub
GestionErreur:
MsgBox "Une erreur est survenue. Numéro d'erreur : " & Err.Number & " - " & Error(Err.Number)
End Sub
Points à noter :
- `Err.Number` obtient la valeur du numéro d’erreur en cours.
- La gestion des erreurs avec `On Error GoTo` vous permet de contrôler le flux de votre programme lorsque des erreurs se produisent, ce qui est recommandé pour rendre vos applications plus robustes.
Ainsi, la fonction `Error` peut être un outil pratique pour décoder rapidement le numéro d’erreur en message qui peut être affiché à l’utilisateur ou utilisé pour le débogage.