Fin VBA

Table des matières

En VBA, pour mettre fin à TOUTES les exécutions de code, utilisez le Finir commander.

1 Finir

Lorsque l'exécution du code vient à Finir, il terminera immédiatement l'exécution et quittera le programme.

Si vous voulez savoir comment quitter un Sub en cas d'erreur, cliquez sur ce lien : VBA On Error Exit Sub

Si vous voulez savoir comment quitter un sous ou une fonction, cliquez sur ce lien : VBA Exit Sub or Function

Quitter tout le code en VBA

Vous verrez sur l'exemple ce qui se passe quand on utilise le Finir commande en VBA. Nous avons créé un sous EndSub, qui a le Finir commande à l'intérieur. Ce sous-marin est appelé de CallEndSub. Voici le code :

123456789101112131415161718 Private Sub EndSub()Diminuer en tant qu'entierPour i = 1 à 10Si je = 5 AlorsMsgBox "La valeur de i est " & iFinirFin siEnsuite jeFin du sous-marinPrivate Sub CallEndSub()Appeler EndSubMsgBox "End Sub"Fin du sous-marin

Dans le EndSub, nous entrons d'abord dans la boucle For si la valeur de i est inférieure à 10 :

123 Pour i = 1 à 10Ensuite je

Après cela, nous vérifions si la valeur de i est égale à 5, en utilisant la commande If. Si la valeur est 5, nous retournons la boîte de message avec la valeur de i et utilisons la commande Finir.

1234567 Si je = 5 AlorsMsgBox "La valeur de i est " & iFinirFin si

Si la condition n'est pas remplie, l'instruction suivante augmente i de 1 et entre à nouveau dans la boucle For :

1 Ensuite je

Dans le CallEndSub, nous appelons d'abord le Sub EndSub:

1 Appeler EndSub

Après cela, nous retournons la boîte de message :

1 MsgBox "End Sub"

Si vous exécutez le CallEndSub, il appellera d'abord le EndSub. Si vous exécutez ce code en mode débogage, vous verrez qu'il parcourra la boucle 5 fois. Dans le 5e itération, la valeur de la variable i devient 5 et le code entre dans le corps If. Maintenant le MsgBox "La valeur de i est " & i est exécuté et Finir après ça:

Image 1. Fin VBA

Comme vous pouvez le voir, l'exécution du code est arrêtée juste après le Finir commande, donc le MsgBox « End Sub » n'est jamais exécuté.

wave wave wave wave wave