4. On Error GoTo -1
Ce type est utilisé pour réinitialiser l’état de gestion des erreurs qui s’applique dans le cadre de la procédure en cours. Les erreurs précédemment traitées n’affecteront plus le flux du programme.
Sub ExampleGoToMinusOne()
On Error GoTo ErrorHandler
Dim result As Double
result = 5 / 0 ' This causes an error
Exit Sub
ErrorHandler:
MsgBox "Error handled."
On Error GoTo -1 ' Clears previous error status
' If the error occurs again, handling must be reset
End Sub
Avec On Error GoTo -1, la gestion des erreurs précédente sera supprimée, vous pouvez donc configurer une nouvelle gestion si nécessaire.
5. Nested Error Handling
Vous pouvez utiliser plusieurs niveaux de gestion des erreurs de manière imbriquée. Cela vous permet de gérer séparément différents types d’erreurs.
Private Sub CommandButton4_Click()
Dim firstNum, secondNum As Double
On Error GoTo error_handler1
firstNum = InputBox("Enter the first number")
On Error GoTo error_handler2
secondNum = InputBox("Enter the second number")
MsgBox firstNum / secondNum
Exit Sub
error_handler2:
MsgBox "Error! You tried to divide a number by zero! Try again!"
Exit Sub
error_handler1:
MsgBox "You did not enter a number! Try again!"
End Sub
6. Validation des entrées à l’aide de IsNumeric
Avant d’effectuer une opération arithmétique, vous pouvez valider l’entrée à l’aide de la fonction IsNumeric pour vous assurer que les données saisies sont numériques.
Private Sub CommandButton5_Click()
Dim userInput As String
userInput = InputBox("Enter your age:")
If Not IsNumeric(userInput) Then
MsgBox "The input you entered is invalid. Please enter a number."
Exit Sub
End If
MsgBox "Your age is " & userInput & " years."
End Sub
Conclusion
La gestion des erreurs est une partie importante de la programmation dans Excel VBA. En mettant en œuvre divers types de gestion des erreurs, les programmeurs peuvent créer des applications plus robustes et plus conviviales, ainsi que réduire la probabilité de plantages dus à des entrées non valides.