Comment utiliser VBA Exit Sub dans Excel ?
VBA Exit Sub est une instruction que vous utilisez pour quitter une sous-procédure ou une fonction. Comme vous le savez, chaque ligne est une macro qui s’exécute l’une après l’autre, et lorsque vous ajoutez le VBA « Exit Sub », quittez la procédure sans exécuter le reste du code qui vient après. Cela fonctionne mieux avec les boucles et la boîte de message .
Utilisation de l’instruction Exit Sub dans VBA
- Tout d’abord, décidez sur quelle ligne vous souhaitez ajouter le « Exit Sub ».
- Après cela, vérifiez la structure du code qui sera exécuté lorsque vous exécuterez le code .
- Ensuite, entrez le « Exit Sub ».
- En fin de compte, il est préférable d’avoir un commentaire décrivant pourquoi vous utilisez l’instruction « Exit Sub ».
Remarque : dans une procédure de fonction VBA, l’instruction que vous devez utiliser est « Fonction de sortie ».
Utiliser Exit Sub avec une boîte de message et une boîte de saisie
Supposons que vous souhaitiez obtenir une entrée de l’utilisateur avec une zone de saisie et quitter la procédure si la réponse de l’utilisateur n’est pas un nombre (considérez l’exemple suivant).
Dans le code ci-dessus, vous avez ISNUMERIC qui vérifie la valeur entrée dans la zone de saisie s’il s’agit d’un nombre ou non, et si cette valeur n’est pas un nombre, il utilise l’instruction Exit Sub pour terminer la procédure après avoir affiché une boîte de message.
Sub vba_exit_sub_example()
If IsNumeric(InputBox("Enter your age.", "Age")) = False Then
MsgBox "Error! Enter your Age in numbers only."
Exit Sub
Else
MsgBox "Thanks for the input."
End If
End Sub
En cas d’erreur Quitter Sub
L’une des meilleures choses à propos de « Exit Sub », vous pouvez l’utiliser pour quitter la procédure lorsqu’une erreur se produit. Ci-dessous se trouve le code qui divise un nombre par un zéro qui renvoie une « Erreur d’exécution ’11′ » et arrête l’exécution.
Ici, vous pouvez utiliser l’instruction GoTo pour créer un gestionnaire d’erreurs avec le « Exit Sub » pour quitter la procédure (considérez le code suivant).
Sub vba_exit_sub_on_error()
On Error GoTo iError
Range("A1") = 10 / 0
iError:
MsgBox "You can't divide with the zero." & _
"Change the code."
Exit Sub
End Sub
Dans le code ci-dessus, vous avez un gestionnaire d’erreurs, « iError » avec une boîte de message, puis la déclaration « Exit Sub ». Lorsqu’une erreur se produit pendant le calcul, l’instruction goto passe au gestionnaire d’erreurs ( VBA Error Handling ) et quitte la procédure.