VBA IIF - Comment utiliser la fonction VBA IIF dans Excel? (avec exemples)

Table des matières

Excel VBA IIF

Si vous êtes un utilisateur régulier de macros VBA, vous devez avoir rencontré la fonction appelée «IIF», ou vous avez peut-être vu cette fonction sur Internet. À première vue, car vous devez avoir pensé que c'est une condition IF comme notre instruction IF régulière dans Excel. Mais ce n'est pas la même instruction IF que nous utilisons pour évaluer des tests logiques et obtenir des résultats basés sur les critères que nous donnons. Dans cet article, nous allons vous présenter la condition «VBA IIF» dans VBA.

Que fait la condition IIF dans VBA?

Ceci est très similaire à notre condition IF mais de nature légèrement différente. La condition «VBA IIF» teste l'expression ou le test logique fourni et renvoie TRUE ou FALSE comme résultat.

Syntaxe VBA IIF

Jetez un œil à la syntaxe de la fonction IIF.

  • Expression: Ce n'est rien d'autre que le test logique que nous aimerions effectuer.
  • Partie Ture: Si le test logique est VRAI, alors quelle devrait être la partie VRAI.
  • Fausse partie: si le test logique est FALSE, quel devrait être le résultat de la partie FALSE.

Nous pouvons entrer nos propres résultats avec des parties TRUE & FALSE. Bien que les arguments ressemblent à ceux de la condition IF, ce sera légèrement différent. Nous verrons cela dans les exemples de la fonction Excel VBA IIF.

L'une des principales différences entre le «IF» régulier et ce «IIF» est que nous pouvons réduire le code à une seule ligne avec Iwheravec la condition IF, et il faut un minimum de 5 lignes pour arriver au même résultat.

Exemple de fonction VBA IIF

Voici les exemples de la fonction VBA IIF dans Excel.

Exemple # 1 - VBA IIF

Ok, nous allons voir un exemple simple de fonction IIF. Nous allons maintenant tester si un nombre est supérieur ou inférieur à un autre nombre. Suivez les étapes ci-dessous pour écrire le code VBA.

Étape 1: démarrez la macro.

Étape 2: définissez la variable en tant que chaîne dans VBA.

Code:

Sub IIF_Example () Dim FinalResult As String End Sub

Étape 3: définissez deux autres variables comme Long dans VBA.

Code:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long End Sub

Étape 4: Maintenant, pour la variable «Number1», attribuez la valeur de 105 et pour la variable «Number2», attribuez la valeur de 100.

Code:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 End Sub

Étape 5: Maintenant, pour la première variable définie, «FinalResult», nous allons affecter le résultat de la fonction IIF. Alors ouvrez l'IIF pour la variable.

Étape 6: indiquez l'expression sous la forme Number1> Number2.

Étape 7: Maintenant, si l'expression est TRUE, quel devrait être le résultat. J'attribuerai le résultat comme "Le numéro 1 est supérieur au numéro 2".

Étape 8: Maintenant, si l'expression est FALSE, quel devrait être le résultat. J'attribuerai le résultat comme «le numéro 1 est inférieur au numéro 2».

Désormais, la valeur de la variable sera l'une des valeurs ci-dessous.

Si True: "Le numéro 1 est supérieur au chiffre 2."

Si faux: "Le numéro 1 est inférieur au chiffre 2."

Étape 9: montrons le résultat dans une boîte de message dans VBA.

Code:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 FinalResult = IIf (Number1> Number2, "Number 1 is Greater than Number 2", "Number 1 is Less than Number 2") MsgBox FinalResult End Sub

Maintenant, exécutons le code et voyons le résultat.

Étant donné que la valeur du numéro 1 est 105, ce qui est supérieur à la valeur du numéro 2 de 100, nous avons obtenu le résultat comme «Le nombre 1 est supérieur au nombre 2». Puisque l'expression est TRUE, la condition IIF a renvoyé ce résultat.

Exemple # 2 - IF vs IIF

You must be wondering what the difference between IF & IIF is. Yes, there is a difference in coding. For example, look at the IF condition code.

Code:

Sub IIF_Example() Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 If Number1> Number2 Then MsgBox "Number 1 is Greater than Number 2" Else MsgBox "Number 1 is Less than Number 2" End If End Sub

Using IF first, we have applied a logical test.

If Number1> Number2 Then

Then if the logical test is true, we have applied the result.

MsgBox "Number 1 is Greater than Number 2"

Then if the logical test is false, we have applied the different results.

MsgBox "Number 1 is Less than Number 2"

Les deux fonctions renvoient le même résultat, mais avec IIF, nous pouvons coder sur une seule ligne uniquement, où l'instruction IF nécessite plusieurs lignes.

Exemple # 3 - Condition IIF imbriquée VBA

Tout comme la façon dont nous utilisons les IF imbriquées pour tester plusieurs conditions de la même manière, nous pouvons également utiliser plusieurs IIF. Jetez un œil au code ci-dessous.

Code:

Sub IIF_Example2 () Dim FinalResult As String Dim Marks As Long Marks = 98 FinalResult = IIf (Marques> 90, "Dist", IIf (Marques> 80, "First", IIf (Marques> 70, "Second", IIf (Marques > 60, "Third", "Fail")))) MsgBox FinalResult End Sub

La condition IIF ci-dessus teste cinq tests logiques et renvoie le résultat en conséquence.

Articles intéressants...