Comment utiliser l’instruction SELECT CASE dans VBA ?

Points clés

  • Avec SELECT CASE, vous pouvez tester plusieurs conditions, en particulier lorsque vous travaillez sur plus de deux.
  • Le code que vous écrivez avec SELECT CASE est bien plus structuré que le code conditionnel standard.
  • Il est plus facile de le modifier lorsque vous devez ajuster une ou plusieurs des valeurs dans le code.

Qu’est-ce que VBA Select Case

VBA SELECT CASE est une instruction pour tester plusieurs conditions. Dans cette instruction, vous pouvez spécifier une condition, puis spécifier un code à exécuter si cette condition est vraie, puis spécifier une seconde condition et un code à exécuter si cette condition est vraie. De cette manière, vous pouvez spécifier plusieurs conditions et plusieurs instructions.

La syntaxe pour sélectionner le cas

Vous trouverez ci-dessous la syntaxe que vous devez suivre pour écrire une instruction select case.

Select Case Test Expression

	Case (Condition to Test)
	Statement1 [Line of Code to Run if CASE 1 is TRUE]

	Case (Condition to Test)
	Statement1 [Line of Code to Run if CASE 2 is TRUE]

	Case Else
	Statement [Line of Code to Run if no CASE is TRUE]

End Select

Dans SELECT CASE, la syntaxe commence par le mot-clé « Select » et se termine par « End Select ». Pour comprendre sa syntaxe, nous devons le diviser en quatre parties :

select-case-syntaxe
  • Dans la PREMIÈRE partie, vous devez spécifier « l’expression de test » sur laquelle toutes les conditions sont testées.
  • Après cela, dans la DEUXIÈME partie, vous devez spécifier le cas à tester (c’est-à-dire la condition à tester).
  • Maintenant, dans la TROISIÈME partie, vous devez écrire un autre cas où vous devez tester si la condition dans la deuxième partie n’est pas VRAIE.
  • À la fin, dans la QUATRIÈME partie, vous devez spécifier un résultat qui devrait survenir lorsque les deux cas ci-dessus ne sont pas VRAI.

Un exemple simple pour comprendre une instruction select case

La syntaxe de SELECT CASE est explicite et assez facile à suivre lors de l’écriture de code. Mais prenons un exemple et comprenons-le complètement. Ci-dessous, vous avez un code simple pour tester la valeur de la cellule A1.

Sub SelectCaseExample1()

    Select Case Range("A1").Value

        Case "Yes"
            MsgBox "It's a Yes."

        Case "No"
            MsgBox "It's a No"

        Case Else
            MsgBox "Can't Say"  
      
    End Select

End Sub

Comprenons maintenant ce code avec chaque ligne :

select-case-instruction-exemple
  • D’ABORD , vous avez le mot-clé SELECT CASE et la cellule A1 à utiliser comme expression pour tester la condition.
  • DEUXIÈMEMENT , vous avez le mot-clé CASE et la condition (« OUI ») à vérifier à partir de la cellule A1 et le code pour afficher une boîte de message avec le message « C’est un oui » si la condition mentionnée dans le cas1 est vraie.
  • TROISIÈMEMENT, vous avez à nouveau le mot clé case et la condition (« Non ») à vérifier à partir de la cellule A1 et le code pour afficher une boîte de message avec le message « C’est un non » si la condition mentionnée dans le cas deux est vraie.
  • QUATRIÈMEMENT , vous avez le mot-clé CASE ELSE et une ligne de code pour afficher une boîte de message avec un message « Can’t Say » si aucun des cas n’est vrai.
  • CINQUIEME , vous avez le mot clé END SELECT pour terminer l’instruction SELECT CASE.

Connexe: BOÎTE DE MESSAGES VBA

Les points importants

  • Il peut tester plusieurs conditions et exécuter une ligne de code en fonction du résultat.
  • Vous pouvez utiliser des opérateurs de comparaison (=, >, <, <>, >=, <=) lors du test d’une condition à l’aide du mot clé Is.
  • Vous pouvez utiliser une virgule pour tester plusieurs conditions dans un même cas.
  • Vous pouvez également utiliser une plage de nombres lors du test d’une condition dans un seul cas.
  • Lorsqu’une condition est remplie, VBA s’arrête pour tester le reste des cas de l’instruction.
  • Vous pouvez également ajouter une section case else à la fin pour exécuter une ligne de code lorsqu’aucune des conditions n’est remplie.
  • Vous pouvez ignorer l’utilisation de l’instruction CASE END.

Plus d’exemples à utiliser Sélectionner le cas

Il est temps d’utiliser le SELECT CASE de différentes manières, et voici quelques-uns des exemples utiles et essentiels que vous pouvez apprendre.

100 exemples de macros Excel

1. Sélectionnez le cas avec des numéros

Lors de l’écriture d’un code VBA pour l’instruction SELECT CASE, vous pouvez utiliser des opérateurs pour comparer des valeurs. Maintenant, dans le code ci-dessous, vous avez les opérateurs >, < et = pour tester les conditions.

select-case-with-numbers
Sub SelectCaseExample1()

    Select Case Range("A1").Value

        Case Is >= 45
            MsgBox "Pass"    

        Case Is < 45
            MsgBox "Fail"    
   
    End Select

End Sub    
  • Le premier cas de cette instruction vérifie si la valeur de la cellule A1 est supérieure ou égale à 45 ou non et renvoie une boîte de message avec le message « Pass ».
  • Et le deuxième cas de l’instruction vérifie si la valeur de la cellule A1 est inférieure à 45 et renvoie une boîte de message avec le message « Échec ».

2. Sélectionnez le cas avec une plage de nombres

Vous pouvez également utiliser une plage de nombres pour tester une condition. Dans le code ci-dessous, vous avez une condition avec une plage de nombres dans chaque cas à tester.

Sub SelectCaseExample2()

    Select Case Range(“A1”).Value

        Case 45 To 100
            MsgBox “Pass”    
    
        Case 0 To 44
            MsgBox “Fail”       

        Case Else
            MsgBox “Out of Range”           

    End Select   

End Sub
  • Le premier cas de l’instruction vérifie le nombre de la cellule A1 en utilisant la plage de nombres de 45 à 100 et renvoie le « Pass » si la valeur tombe sous cette plage.
  • La deuxième instruction a une plage de 0 à 44 à tester avec la valeur de la cellule A1 et renvoie « Échec » si la valeur tombe sous cette plage.
  • La troisième instruction est case else affiche une boîte de message avec le message « Out of Range » si les cas un et deux sont faux.

3. Utilisation de l’opérateur Colon

Lors de l’écriture du code pour le SELECT CASE, vous pouvez utiliser les opérateurs deux-points pour écrire le cas entier sur une seule ligne.

Dans le code ci-dessous, la ligne commence par le cas, puis la condition à tester, puis deux-points, puis l’instruction à exécuter dans ce cas est vraie.

using-colon-operator
Sub SelectCaseExample3()

    Select Case Range(“A1”).Value   

        Case 45 To 100: MsgBox “Pass”           

        Case 0 To 44: MsgBox “Fail”           

        Case Else: MsgBox “Out of Range”           

    End Select   

End Sub

4. Utilisez Select Case avec plusieurs conditions

Tout comme pour définir une plage pour un cas, vous pouvez également spécifier plusieurs valeurs pour tester la condition. Dans le code ci-dessous, chaque cas a trois nombres à tester.

select-case-with-multiple-values
Sub SelectCaseExample()

    Select Case Range("A1").Value

        Case 1, 3, 5
            MsgBox "Yes"
            
        Case 2, 4, 6
            MsgBox "No"
            
        Case Else
            MsgBox "Out of range"
            
    End Select
        
End Sub
  • Le premier cas de ce code testera la valeur de la cellule si elle est 1, 3 ou 5 et renverra « Oui » dans une boîte de message.
  • Et le deuxième cas de ce code testera la valeur de la cellule A1 si c’est 2, 4 ou 6.

5. Utilisation de Select Case dans une fonction personnalisée

Vous pouvez également utiliser le SELECT CASE lors de l’écriture de code pour une fonction VBA .

select-case-in-custom-fonction
Function udfGrade(student_marks As Integer)

Dim myGrade As String

Select Case student_marks

    Case Is < 40: myGrade = “Bad”

    Case 41 To 50: myGrade = “Average”

    Case 51 To 60: myGrade = “Good”

    Case 61 To 80: myGrade = “Very Good”   

    Case 81 To 100: myGrade = “Excellent”

End Select

udfGrade = myGrade

End Function

Dans la fonction ci-dessus, il y a cinq cas pour vérifier le score des étudiants d’une cellule. Les 5 cas utilisent une plage de nombres et renvoient la valeur définie dans l’instruction.

6. Utilisation de Select Case à partir de conditions imbriquées

Vous pouvez également créer une instruction de condition imbriquée. Ce que j’essaie de dire, c’est que vous pouvez écrire un code pour tester plusieurs conditions avec le cas sélectionné.

Imaginez si vous voulez écrire un code qui peut tester des conditions basées sur les valeurs de deux cellules différentes.

Sub SelectCaseStatement()

    Select Case Range("A2")
    
        Case "Boy"
        
            Select Case Range("B2")
                Case "Commerce": MsgBox "Boy (Commerce)"
                Case "Science": MsgBox "Boy (Science)"
            End Select
            
        Case "Girl"
        
            Select Case Range("B2")
                Case "Commerce": MsgBox "Girl (Commerce)"
                Case "Science": MsgBox "Girl (Science)"
            End Select
            
    End Select
    
End Sub
select-case-from-nested-conditions

Dans le code ci-dessus, vous avez trois instructions de sélection de cas. Il y a une déclaration principale qui vérifie la valeur de la cellule A2 si c’est « Garçon » ou « Fille ».

Et puis, en fonction du résultat, deux autres instructions s’exécutent et vérifient la valeur de la cellule B2 s’il s’agit de Commerce ou de Science.

CHOISIR CAS Vs. SI ALORS SINON Déclaration

  • Lorsque vous souhaitez tester plusieurs conditions, il est facile d’écrire un code en utilisant SELECT CASE au lieu de IF-THEN.
  • Même il est facile de modifier et d’apporter des modifications dans une instruction SELECT CASE par rapport à IF-THEN.

Ajouter un commentaire

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