Excel VBA Sinon Si

VBA Else If vous permet d'analyser une condition et d'effectuer une action en conséquence. Si la condition vérifie si la condition fournie est VRAIE ou FAUX, si la condition est VRAIE, elle retournera la valeur assignée de Valeur si Vrai et retournera la valeur SI Faux si le résultat est FAUX.

La logique de la condition IF dans la formule Excel régulière et la formule VBA est la même. Dans cet article, je couvrirai la condition VBA IF complète.

Syntaxe de l'instruction VBA If

Tout d'abord, consultez la syntaxe de l'instruction IF dans VBA.

Ceci est très similaire à notre fonction de feuille de calcul IF. La seule différence ici est que nous devons mettre le mot ALORS pour avancer dans la fonction, une autre partie de la condition IF est facultative contrairement à notre condition IF normale et nous devons mentionner la fin de la fonction comme End If .

En fait, il y aura un argument de plus si les conditions à tester sont plusieurs conditions et que cette partie est appelée comme instruction ELSE IF. C'est comme notre condition IF imbriquée dans nos calculs de feuille de calcul. ELSE IF entrera dans la valeur de l'image si la condition est FALSE alors nous devons tester plus de condition avec ELSE IF condition.

Dans cet article, nous verrons plus de condition ELSE IF dans le monde pratique.

Comment utiliser l'instruction VBA Else If?

Voyons comment utiliser l'instruction VBA Else If avec quelques exemples.

Vous pouvez télécharger ce modèle VBA Else If Excel ici - Modèle VBA Else If Excel

Instruction Simple If - Exemple # 1

Maintenant l'explication théorique suffit, même si vous n'avez rien compris, rien à craindre. Dans l'exemple pratique, vous saisirez la logique.

Supposons que vous avez une valeur dans la cellule A2 et que vous souhaitez vérifier si le nombre est supérieur à 100 ou non. Si la valeur est supérieure à 100, nous avons besoin que la valeur dans la cellule B2 soit «Plus de 100». Le code ci-dessous effectuera la tâche requise.

Code:

 Sub IF_Example1 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" End If End Sub 

Exécutez ensuite ce code à l'aide de la touche F5 ou manuellement comme indiqué dans la capture d'écran. Ensuite, nous pouvons voir le résultat dans la cellule B2.

Si vous modifiez la valeur de la cellule A2 en 99 et exécutez le code. Le code ne retournera rien car la valeur est inférieure à 100 et nous n'avons fourni aucun résultat si le test est FAUX, cela nous le verrons dans l'exemple suivant.

If avec Else Statement - Exemple # 2

Nous avons vu comment fonctionne un IF unique avec une condition VRAIE. Nous allons maintenant voir comment travailler si la condition fournie est FAUX.

Dans le code actuel, la valeur True est fournie dans le mot de type de ligne suivant Else.

Code:

 Sub IF_Example2 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" Sinon End If End Sub 

Et dans la ligne suivante, écrivez le code de la valeur False.

Code:

 Sub IF_Example2 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" Sinon Range ("B2"). Value = "Less than 100" End If End Sub 

Exécutez ensuite ce code à l'aide de la touche F5 ou manuellement comme indiqué dans la capture d'écran. Si la valeur est supérieure à 100, le résultat serait «Plus de 100» dans la cellule B2.

Si la valeur est inférieure à 100, le résultat serait «Moins de 100».

Instruction If imbriquée avec Else If - Exemple # 3

Lorsque nous voulons tester plusieurs conditions, nous devons utiliser plusieurs instructions IF à l'intérieur de la condition IF. Mais dans VBA, nous devons utiliser le mot ELSE IF pour tester plusieurs conditions.

Par exemple, dans la cellule A2 si la valeur est supérieure à 200, nous avons besoin du résultat «Plus de 200» dans la cellule B1.

Si la valeur est supérieure à 100, nous avons besoin du résultat «Plus de 100» dans la cellule B2.

Si la valeur est inférieure à 100, nous avons besoin du résultat comme «Moins de 100» dans la cellule B2.

Étape 1: Une fois la valeur TRUE passée, entrez le mot ELSE IF dans la ligne suivante.

Code:

 Sub IF_Example3 () If Range ("A2"). Value> 200 Then Range ("B2"). Value = "More than 200" ElseIf Range ("A2"). Value> 100 Then Range ("B2"). Value = "Plus de 100" End If End Sub 

Étape 2: Puisque nous avons déjà testé deux arguments, il ne nous reste qu'une seule condition. Maintenant, dans la ligne suivante, indiquez le résultat final du test avec l'instruction ELSE.

Code:

 Sub IF_Example3 () If Range ("A2"). Value> 200 Then Range ("B2"). Value = "More than 200" ElseIf Range ("A2"). Value> 100 Then Range ("B2"). Value = "Plus de 100" Sinon ("B2"). Valeur = "Moins de 100" End If End Sub 

Étape 3: Exécutez ensuite ce code à l'aide de la touche F5 ou manuellement comme indiqué dans la capture d'écran pour voir les résultats.

Résultat 1:

Résultat 2:

Résultat 3:

Imbriqué avec boucle - Exemple # 4

Il s'agit de l'exemple avancé de IF imbriqué avec boucle. Supposons que vous ayez un tableau des ventes avec des données sur 12 mois.

Dans la colonne d'état, nous avons besoin du résultat comme suit.

  • Si la valeur des ventes est supérieure à 7 000, le résultat doit être «Excellent»
  • Si la valeur des ventes est supérieure à 6500, le résultat doit être «Très bon»
  • Si la valeur des ventes est supérieure à 6000, le résultat doit être «bon»
  • Si la valeur des ventes est supérieure à 4000, le résultat doit être «Pas mal»
  • Si tous les résultats sont FAUX, le résultat doit être «Mauvais»

Pour effectuer ce test, nous avons besoin du code ci-dessous qui est une combinaison de IF avec ELSE IF et LOOP.

Code:

 Sub IF_Example4 () Dim i As Integer i = 2 For i = 2 To 13 If Cells (i, 2) .Value> = 7000 Then Cells (i, 3) .Value = "Excellent" ElseIf Cells (i, 2). Valeur> = 6500 Then Cells (i, 3) .Value = "Very Good" ElseIf Cells (i, 2) .Value> = 6000 Then Cells (i, 3) .Value = "Good" ElseIf Cells (i, 2) .Value> = 4000 Then Cells (i, 3) .Value = "Not Bad" Else Cells (i, 3) .Value = "Bad" End If Next Next i End Sub 

Exécutez ensuite ce code à l'aide de la touche F5 ou manuellement comme indiqué dans la capture d'écran pour voir les résultats.

Choses dont il faut se rappeler

  • L'instruction ELSE IF requiert le code de résultat dans la même ligne et non dans la ligne suivante et requiert également l'instruction THEN pour passer à l'instruction suivante.
  • Si l'instruction END IF n'est pas incluse, nous obtiendrons l'erreur ci-dessous.

  • L'opérateur n'est rien mais n'est pas égal à une instruction IF.
  • Comme la fonction de feuille de calcul, nous pouvons également utiliser l'instruction AND & OR dans l'instruction IF.

Articles recommandés

Cela a été un guide pour la déclaration VBA Else If. Ici, nous avons discuté de VBA Else If et comment utiliser Excel VBA Else If ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Comment utiliser VBA Select Case?
  2. Comment utiliser la fonction de recherche VBA?
  3. Guide de la fonction VBA TRIM
  4. Guide et exemples de boucles VBA

Catégorie: