Comment utiliser l’instruction Exit IF dans VBA (avec exemple)



Il n’y a pas d’instruction Exit If intégrée dans VBA, mais vous pouvez facilement en simuler une en utilisant une instruction If avec une instruction GoTo .

L’exemple suivant montre comment procéder dans la pratique.

Exemple : Comment utiliser l’instruction Exit IF dans VBA

Supposons que nous souhaitions créer une macro qui demande à l’utilisateur de saisir un entier inférieur à 10, puis d’utiliser une instruction IF pour effectuer les opérations suivantes :

  • Si l’entier saisi est inférieur à 10, multipliez-le par 2 et affichez le résultat dans la cellule A1 .
  • Si l’entier saisi n’est pas inférieur à 10, quittez l’instruction IF et produisez un message d’erreur.

Nous pouvons utiliser la syntaxe suivante pour ce faire :

Sub MultiplySomeValue()

Dim inputInteger As Integer
     
'get integer from user
inputInteger = InputBox("Please enter an integer less than 10")

'check if integer is less than 10
If inputInteger < 10 Then
Range("A1").Value = inputInteger * 2
Else
GoTo FlagMessage
End If

FlagMessage:
MsgBox "This number is not less than 10"
    
End Sub

Lorsque nous exécutons cette macro, nous serons invités à saisir un entier inférieur à 10 :.

Supposons que nous entrions la valeur 5 puis appuyons sur OK :

Puisque cet entier est inférieur à 10, la sous-procédure multipliera la valeur que nous avons saisie par 2 et affichera le résultat dans la cellule A1 :

Cependant, supposons que nous saisissions plutôt la valeur 15 :

Nous recevrions la boîte de message suivante dans Excel :

La valeur que nous avons saisie ne serait pas multipliée par 2 et aucun résultat ne serait affiché dans la cellule A1 .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

Comment quitter Sub en cas d’erreur dans VBA
Comment utiliser SIERREUR dans VBA
Comment supprimer des fichiers à l’aide de VBA

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *