Instructions IF VBA Excel

L'instruction IF dans le code VBA est l'une des plus utilisées qui vous permet de faire un choix. La fonction IF dans VBA est différente par rapport à la fonction EXCEL IF, c'est-à-dire que dans la fonction Excel Excel ou la formule vérifie si la condition ou les critères donnés sont évalués à TRUE ou FALSE, puis renvoie une valeur basée sur l'évaluation, alors que l'instruction VBA IF n'effectuera que la première la moitié de l'instruction, c'est-à-dire vérifier si la condition est évaluée à VRAI ou FAUX, de plus, l'instruction ALORS doit être entrée dans l'instruction VBA IF pour l'opération ou la tâche restante à effectuer.

Trois paramètres que vous devez prendre en compte ou garder à l'esprit lors de l'écriture du code d'instruction VBA IF.

  • Une condition ou un paramètre à tester.
  • Opération ou tâche à exécuter si la condition est VRAIE.
  • Une opération ou une tâche à exécuter si la condition est FAUX

Il s'agit d'une instruction décisionnelle utilisée pour exécuter un bloc de code.

Il exécute une tâche ou une opération lorsqu'une condition est VRAIE, sinon ne fait rien ou fait autre chose. Habituellement, une instruction if se compose d'une expression booléenne suivie d'instructions (elle peut être une ou plusieurs).

Une condition simple à complexe peut être écrite dans une instruction VBA IF.

Vous trouverez ci-dessous les différents types d'instructions IF VBA avec leur syntaxe et leurs exemples.

Types d'instructions IFSyntaxe
SI DONCSi alors (déclaration)

Fin si

SINONSi alors (Statement1)

Autre:

(Statement2)

Fin si

SI ELSEIFSI alors

(Statement1)

ELSEIF Alors

(Statement2)

Fin si

ELSE ET ELSEIF

(La déclaration ELSEIF doit venir en premier, après cela ELSE)

SI (la condition 1 est vraie) Alors

(Statement1)

ELSEIF (la condition2 est vraie) Alors

(Statement2)

AUTRE

(Statement3)

Fin si

SI SANS ENDIF

(code à une seule ligne)

Utilisé lorsque l'instruction ELSE ou ELSE IF n'est pas utilisée

IF (la condition est vraie) Then (Statement)

Outre l'instruction ci-dessus, l'instruction NESTED IF peut également être utilisée, c'est-à-dire une instruction if ou ELSEIF dans une autre instruction if ou ELSEIF.

Comment utiliser les instructions IF dans Excel VBA?

Nous apprendrons les types et comment utiliser les instructions VBA IF avec quelques exemples dans Excel.

Vous pouvez télécharger ce modèle Excel d'instructions IF VBA ici - Modèle Excel d'instructions IF VBA
  • Ouvrez une fenêtre de l'éditeur VB. Sélectionnez ou cliquez sur Visual Basic dans le groupe Code sous l'onglet Développeur ou vous pouvez directement cliquer sur la touche de raccourci Alt + F11 .

  • Cela nous amènera à la fenêtre de codage Visual Basic. Maintenant, allez dans le menu Insertion de la fenêtre VBA et sélectionnez Module comme indiqué ci-dessous.

  • Maintenant que le module vierge est créé, il est également appelé une fenêtre de code, où vous pouvez commencer à écrire des codes d'instructions if.

Instruction VBA IF THEN - Exemple # 1

IF THEN est une forme simple de déclaration VBA. Le format pour écrire un code est:

Si alors

Vous devez utiliser l'instruction End If correspondante après avoir entré la syntaxe ci-dessus . Lorsque la condition remplit ou que les critères ont la valeur true, toutes les lignes entre If Then et End If sont traitées.

Lorsque vous tapez Sub IF_THEN () comme premier message sans guillemets, vous pouvez observer qu'Excel ajoute automatiquement la ligne End Sub sous la première ligne de message lorsque vous appuyez sur Entrée. Maintenant, tous les codes que vous entrez doivent se trouver entre ces deux lignes.

Code:

 Sub IF_THEN () Si 3> 2 Alors MsgBox "3 est supérieur à 2" End If End Sub 

Vérifions avec le code ci-dessus qui a une seule ligne d'instruction IF qui vérifie ou vérifie la valeur 3.

Si la valeur «3» est supérieure à «2», un message contextuel apparaît avec le message, c'est-à-dire «3 est supérieur à 2». Si vous modifiez la valeur de « 2 » à « 5 » dans le code VBA et l'exécutez, rien ne se produit. Parce que 3 n'est pas supérieur à 5.

Vous pouvez exécuter la macro en cliquant sur le bouton Run Sub ou en appuyant sur F5 . La fenêtre contextuelle de la boîte de message VBA apparaît avec un message indiquant «3 est supérieur à 2»

Instruction VBA IF-THEN-ELSE - Exemple # 2

Dans ce scénario, l'instruction IF & ELSE est utilisée pour exécuter deux conditions différentes. Le format ou la syntaxe pour écrire du code est:

Si alors

Statement1

Autre:

Statement2

Fin si

SI vous exécutez un code mentionné ci-dessous, c'est-à-dire si la cellule B4 contient une valeur 7, alors vous obtiendrez une boîte de message indiquant «La cellule B4 a la valeur 7» et si la cellule B4 contient une valeur autre que 7, alors vous obtiendrez une boîte de message indiquant «La cellule B4 a une valeur autre que 7».

Ici, en fonction de la valeur présente dans la cellule, un résultat différent se produit (c'est-à-dire plus d'une condition).

Code:

 Sub IF_THEN_ELSE () If Range ("B4"). Value = "7" Then MsgBox "Cell B4 a value 7" Else MsgBox "Cell B4 a une valeur autre que 7" End If End Sub 

Maintenant, la cellule "B4" contient une valeur 7, si je lance au-dessus du code, la 1ère condition apparaît.

Supposons que j'ai changé la valeur de la cellule "B4" de 7 à 5 comme indiqué ci-dessous.

Code:

 Sub IF_THEN_ELSE () If Range ("B4"). Value = "5" Then MsgBox "Cell B4 a la valeur 7" Else MsgBox "Cell B4 a une valeur autre que 7" End If End Sub 

Donc, si je cours au-dessus du code VBA IF-THEN-ELSE, la deuxième condition apparaît.

IF-THEN-ELSEIF-ELSE - Exemple # 3

C'est une forme avancée de VBA if, le format ou la syntaxe pour écrire un code est

SI (la condition 1 est vraie) Alors

(Statement1)

ELSEIF (la condition2 est vraie) Alors

(Statement2)

AUTRE

(Statement3)

Fin si

L'avantage de ce code est que ELSE IF peut être utilisé individuellement ou plusieurs fois (10 ou 100 fois ou plus que cela) selon vos besoins.

Code:

 Sub IF_THEN_ELSEIF_ELSE () Si 5> 8 Alors MsgBox "5 est supérieur à 8" ElseIf 6> 8 Alors MsgBox "6 est supérieur à 8" ElseIf 7> 8 Alors MsgBox "7 est supérieur à 8" Sinon MsgBox "5, 6 ou 7 est inférieur à 8 "End If End Sub 

Voyons comment fonctionne le code ci-dessus, Excel lancera ou traitera la première instruction, quand il remarquera, qu'elle est fausse, puis elle passera à la suivante. Ici, tous les arguments ou conditions ElseIf sont faux, par conséquent, ils continueront jusqu'à ce que la condition soit vraie et que le résultat final de l'argument Else s'affiche comme résultat final de l'instruction IF. c'est-à-dire MsgBox "5, 6 ou 7 est inférieur à 8" qui est un argument VRAI.

Lorsque vous sélectionnez et exécutez le code en cliquant sur le bouton Run Sub ou en appuyant sur F5 . La fenêtre contextuelle de la boîte de message VBA avec un message indiquant «5, 6 ou 7 est inférieur à 8», ce qui est un véritable argument

Maintenant, vous pouvez enregistrer ces codes de macro en renommant VBA_IF_STATEMENT sous la section nom de l'onglet propriétés

Choses dont il faut se rappeler

  • Lorsque la seule ligne de l'instruction IF Then est utilisée, il n'est pas nécessaire d'utiliser enfin IF End. Mais lorsque nous la divisons en plusieurs lignes, l'instruction End If doit être utilisée.
  • Dans l'instruction VBA, IF-THEN-ELSEIF-ELSE, les arguments ElseIf doivent toujours être placés avant l'argument Else.

Articles recommandés

Ceci est un guide des déclarations IF VBA. Ici, nous avons discuté de la façon d'utiliser les instructions IF dans Excel VBA avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Tableaux VBA dans Excel
  2. Guide du format de nombre VBA
  3. Guide de recherche VBA
  4. Comment utiliser VBA Do While Loop?

Catégorie: