Comment utiliser l'instruction If Else dans VBA? (avec exemples)

Table des matières

Instruction Excel VBA IF Else

Il n'y a pas d' instruction IF Else dans la feuille de calcul et elle ne peut être utilisée que dans le code VBA, tout en travaillant dans VBA, nous pouvons fournir une condition qui est l'instruction de condition If et si elle est remplie un certain ensemble d'instructions, elle est exécutée et si la condition échoue l'instruction puis l'instruction else est exécutée.

VBA n'est pas différent en ce qui concerne les tests logiques. Cela fonctionne de la même manière que dans les feuilles de calcul normales. De toutes les fonctions logiques, la fonction «IF» est principalement utilisée à partir du lot. En utilisant IF, nous pouvons effectuer un test logique et arriver aux décisions si le test logique est satisfait et aussi arriver à des décisions alternatives si le test logique n'est pas satisfait.

Vous trouverez ci-dessous la syntaxe de la condition IF Else.

IF Then Si le test logique est TRUE Sinon si le test logique est FALSE End IF

Qu'est-ce que la déclaration VBA IF Then Else?

Une fois que le test logique fourni est FALSE, nous avons besoin d'une autre tâche à exécuter dans le cadre du code. Donc «IF ELSE» signifie que si le test logique est FALSE, que faut-il faire d'autre.

Pour mieux comprendre l'exemple ci-dessous, nous avons fourni le résultat comme «10 est supérieur» uniquement si le test logique est VRAI. Néanmoins, dans le résultat logique FALSE, nous pouvons fournir le résultat alternatif comme «10 est moindre».

Ainsi, une fois que les tests logiques sont fournis et que le code de pièce TRUE est écrit dans la ligne suivante, entrez le mot «ELSE».

ELSE signifie que si le test logique n'est pas VRAI, nous avons besoin du résultat car «10 est moindre».

Code:

Sub IF_Else_Example1 () If 10> 11 Then MsgBox "10 est supérieur" Else MsgBox "10 est inférieur" End If End Sub

Maintenant, notre code donne au moins l'un des résultats ci-dessus. Exécutez le code et voyez le résultat.

Puisque nous avons fourni le résultat alternatif si le test logique est FALSE, il a affiché le résultat alternatif comme «10 est inférieur» car 10 est inférieur à l'autre nombre 11.

Exemple

Par exemple, regardez les données ci-dessous.

Avec ces données, nous devons arriver à l'état en fonction du «coût» de chaque produit. Pour arriver au statut ci-dessous sont les critères.

Si le prix de revient est> 50, le statut doit être " Cher ", ou bien le statut doit être " Pas cher ".

Ici, nous devons tester le prix de revient, c'est-à-dire un test logique si le prix de revient est> 50 ou non. Si le test logique est VRAI, c'est-à-dire que le prix de revient est supérieur à 50, nous avons besoin du statut «Cher», et si le test logique est FAUX, c'est-à-dire que le prix de revient est inférieur à 50, nous avons besoin du résultat alternatif comme "Pas cher."

Ok, écrivons le code maintenant. Avant cela, copiez et collez le tableau ci-dessus dans une feuille de calcul Excel.

Étape 1: Démarrez la sous-procédure.

Sub IF_ELSE_Example2 () End Sub

Étape 2: Déclarez la variable en tant que type de données Integer.

Dim k As Integer

Étape 3: Puisque nous devons tester plusieurs valeurs de cellule, nous devons utiliser FOR VBA LOOP pour parcourir les cellules et appliquer la logique à toutes les cellules.

Nous devons appliquer des tests logiques de 2ème ligne à 8 e rang, alors commencez pour la boucle de 2 à 8.

Code:

Pour k = 2 à 8 k suivant

Étape 4: Dans cette boucle, nous devons exécuter le test logique. Ouvrez donc l'instruction IF et sélectionnez la première cellule à l'aide de la propriété CELLS.

Code:

Si Cellules (k, 2) .Valeur> 50 Alors

Ici, Cells (k, 2) signifie ligne (valeur de k) et colonne 2.

Étape 5: Si cette valeur de cellule est> 50, nous avons besoin du résultat comme «Cher» dans la cellule de colonne suivante. Le code sera donc -

Code:

Cells (k, 3) .Value = "Cher"

Étape 6: Si le test n'est pas VRAI, nous avons besoin des résultats de l'instruction ELSE, c'est-à-dire "Pas cher".

Code:

Sub IF_ELSE_Example2 () Dim k As Integer For k = 2 To 8 If Cells (k, 2) .Value> 50 Then Cells (k, 3) .Value = "Cher" Else Cells (k, 3) .Value = "Not Cher "End If Next k End Sub

Ce code effectuera une boucle de la 2 ème à la 8 ème ligne pour tester les nombres et arrivera au résultat en fonction du prix de revient.

Comme ça, nous pouvons utiliser If-Else pour obtenir des résultats alternatifs.

Choses dont il faut se rappeler

  • Sinon, l'instruction est pour un test logique FALSE.
  • Si vous souhaitez appliquer plus de deux tests logiques dans Excel, nous devons utiliser l'instruction ELSE IF.
  • Dans le cas de l'exécution de tâches pour plus d'une cellule, nous devons utiliser des boucles.
  • Si l'instruction Else ne peut tester qu'un seul test logique.

Articles intéressants...