VBA Switch Case - Comment utiliser l'instruction Switch Case dans Excel VBA?

Table des matières:

Anonim

Boîtier de commutateur VBA Excel

Dans VBA Switch Case, lorsque nous devons vérifier ou analyser logiquement une condition et exécuter les différentes lignes de codes basées sur la même, nous utilisons l'instruction conditionnelle IF-Else. De même, il existe une autre instruction Switch Case, plus connue sous le nom d'instruction Select Case, qui peut vérifier ou analyser les multiples conditions logiques et exécuter les lignes de code en fonction de celles-ci. Lorsque vous avez trois conditions logiques ou plus à vérifier, il est recommandé d'utiliser Select Case ou Switch Case au lieu d'une instruction IF-Else conventionnelle. Parce qu'il rend le code VBA plus rapide et plus compréhensible au lieu des instructions IF-Else imbriquées dans de tels cas.

Switch Case / Select Case

Switch Case ou Select Case dans VBA fonctionne sur des lignes similaires à celles des instructions IF-Else. Il vérifie les multiples expressions logiques / conditionnelles par rapport à différentes valeurs (cas). Dès que l'un des cas correspond à la condition (devient vrai pour la condition donnée), le système exécute ce cas et les autres cas sont ignorés pour s'exécuter. Dans le cas, il y a deux cas qui sont vrais pour la condition donnée, seul le premier sera exécuté avec la loi de priorité.

La syntaxe pour Switch Case / Select Case est la suivante:

Select Case
Case value_1
Code to Execute when Expression = value_1
Case value_2
Code to Execute when Expression = value_2
Case value_3
Code to Execute when Expression = value_3
.
.
.
Case value_n
Code to Execute when Expression = value_n
Case Else
Code to Execute when no case value meets the expression/logical test.
End Select

Où,

Expression: Il s'agit d'une expression pour laquelle nous avons voulu vérifier ou analyser en utilisant différentes valeurs de cas.

valeur_1, valeur_2, valeur_3, … sont les conditions logiques qui doivent être vérifiées pour l'expression donnée.

Comment utiliser l'instruction Switch Case dans Excel VBA?

Nous allons apprendre à utiliser l'instruction Switch Case dans Excel en utilisant le code VBA.

Vous pouvez télécharger ce modèle Excel de boîtier de commutateur VBA ici - Modèle Excel de boîtier de commutateur VBA

Boîtier de commutateur VBA - Exemple # 1

Nous vérifierons si le nombre donné est inférieur à 100 ou supérieur à 100. Pour cela, suivez les étapes ci-dessous:

Étape 1: insérez un nouveau module dans Visual Basic Editor (VBE). Cliquez sur l'onglet Insérer > sélectionnez Module.

Étape 2: Définissez une nouvelle sous-procédure dans le module inséré qui peut contenir votre macro.

Code:

 Sub switch_case_example1 () End Sub 

Étape 3: Définissez une nouvelle variable nommée usrInpt qui peut contenir la valeur utilisateur. Utilisez la fonction VBA InputBox pour créer une zone de saisie qui prend les valeurs utilisateur via la variable usrInpt .

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Veuillez saisir votre valeur") End Sub 

Étape 4: utilisez l'instruction Select Case et fournissez la valeur fournie par l'utilisateur via la variable usrInpt . C'est l'expression que nous devons vérifier avec des conditions logiques.

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Veuillez saisir votre valeur") Sélectionnez Case usrInpt End Sub 

Étape 5: entrez le premier test logique à vérifier sous l'instruction Case comme suit.

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Veuillez saisir votre valeur") Sélectionnez Case usrInpt Case Is <100 End Sub 

Étape 6: utilisez la fonction MsgBox pour ajouter un message de sortie si Case Is <100 est vrai.

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Veuillez saisir votre valeur") Sélectionnez Case usrInpt Case Is <100 MsgBox "Le nombre fourni est inférieur à 100" End Sub 


Étape 7: Maintenant, nous devons fournir une instruction exécutable lorsque la valeur de usrInpt est supérieure à 100. Ajoutez un Case et MsgBox pour y parvenir.

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Veuillez saisir votre valeur") Sélectionnez Case usrInpt Case Is 100 MsgBox "Le nombre fourni est supérieur à 100" End Sub 

Étape 8: Que faire si la valeur fournie par l'utilisateur est exactement le 100? Nous n'avons aucun cas ajouté pour cela. Ajoutons celui qui donne à l'utilisateur un message indiquant que la valeur qu'il a entrée est 100.

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Veuillez saisir votre valeur") Sélectionnez Case usrInpt Case Is 100 MsgBox "Le nombre fourni est supérieur à 100" Case Is = 100 MsgBox "Le nombre fourni est 100" End Sub 

Étape 9: Nous devons mettre fin à l'instruction Select Case. Utilisez Fin Sélection pour terminer la boucle créée.

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Please enter your value") Select Case usrInpt Case Is 100 MsgBox "Le nombre fourni est supérieur à 100" Case Is = 100 MsgBox "Le nombre fourni est 100" End Select End Sous 

Étape 10: Maintenant, exécutez ce code en appuyant sur le bouton Exécuter ou sur F5. Une nouvelle boîte de dialogue apparaîtra vous demandant de vérifier la valeur. Je vais entrer une valeur de 110 et appuyer sur le bouton OK dans la zone de saisie. Étant donné que le nombre que j'entre est supérieur à 100, dès que je clique sur OK, un nouveau message apparaîtra sur mon écran disant: «Le nombre fourni est supérieur à 100».

Boîtier de commutateur VBA - Exemple # 2

Supposons que nous voulons capturer la note des élèves en fonction de leurs notes. Voir les étapes ci-dessous sur la façon dont nous pouvons y parvenir.

Étape 1: définissez une nouvelle sous-procédure nommée switch_case_example2 .

Code:

 Sub switch_case_example2 () End Sub 

Étape 2: Définissez deux nouvelles variables - les marques sous forme d'entier et les notes sous forme de chaîne à l'aide de l'instruction Dim dans la sous-procédure créée.

Code:

 Sub switch_case_example2 () Dim marque comme Integer Grad grades comme String End Sub 

Étape 3: utilisez la fonction VBA InputBox grâce à laquelle l'utilisateur peut saisir la valeur des marques variables.

Code:

 Sub switch_case_example2 () Marques de graduation en tant que notes de gradation entières en tant que marques de chaîne = InputBox ("Veuillez saisir les marques") End Sub 

Étape 4: utilisez l'instruction Select Case et fournissez les marques de variable comme expression à vérifier.

Code:

 Sub switch_case_example2 () Marques de graduation en tant que notes de graduation entières en tant que marques de chaîne = InputBox ("Veuillez saisir les marques") Sélectionnez les marques de casse Fin Sub 

Puisque nous voulons attribuer les notes aux étudiants en fonction des notes qu'ils ont saisies, nous devons d'abord définir les notes.

Étape 5: utilisez l'instruction case pour vérifier si les notes sont inférieures à 35. Si c'est le cas, attribuez la valeur «F» aux notes variables.

Code:

 Sub switch_case_example2 () Marques de graduation en tant que notes de gradation entières en tant que marques de chaîne = InputBox ("Veuillez saisir les marques") Sélectionnez les marques de case La case est <35 grades = "F" End Sub 

Étape 6: Si les notes se situent entre 35 et 45, attribuez la valeur «D» aux notes variables.

Code:

 Sub switch_case_example2 () Marques de graduation en tant que notes de gradation entières en tant que marques de chaîne = InputBox ("Veuillez saisir les marques") Sélectionnez les marques de case Le case est <35 grades = "F" 

Étape 7: Si les notes saisies sont comprises entre 46 et 55, la valeur «C» doit être attribuée à des notes variables.

Code:

 Sub switch_case_example2 () Marques de graduation en tant que notes de gradation entières en tant que marques de chaîne = InputBox ("Veuillez saisir les marques") "C" End Sub 

Étape 8: Lorsque les notes se situent entre 56 et 65, la valeur attribuée aux notes variables doit être «B».

Code:

 Sub switch_case_example2 () Marques de graduation en tant que notes de gradation entières en tant que marques de chaîne = InputBox ("Veuillez saisir les marques") Cas "C" 56 à 65 grades = Sub "B" End Sub 

Étape 9: Pour les notes entre 66 et 75, la note doit être «A».

Code:

 Sub switch_case_example2 () Marques de graduation en tant que notes de gradation entières en tant que marques de chaîne = InputBox ("Veuillez saisir les marques") Cas "C" 56 à 65 grades = "B" Cas 66 à 75 grades = "A" End Sub 

Étape 10: Si les notes saisies sont supérieures à 75, la variable de notes doit se voir attribuer une valeur «A +»

Code:

 Sub switch_case_example2 () Marques de graduation en tant que notes de gradation entières en tant que marques de chaîne = InputBox ("Veuillez saisir les marques") Sélectionnez les marques de case La case est de 75 notes = "A +" End Sub 

Étape 11: Utilisez End Select pour fermer la boucle Select Case.

Code:

 Sub switch_case_example2 () Marques de graduation en tant que notes de gradation entières en tant que marques de chaîne = InputBox ("Veuillez saisir les marques") Sélectionnez les marques de case La case est de 75 notes = "A +" Fin Sélectionnez Fin Fin Sub 

Étape 12: Maintenant, nous devons vérifier quelle est la note associée aux notes qu'un étudiant a entrées. Pour cela, utilisez la fonction MsgBox de telle manière qu'elle dénote les notes obtenues dans une boîte de message.

Code:

 Sub switch_case_example2 () Repères de gradation en tant que notes de dim entières En tant que repères de chaîne = InputBox ("Veuillez saisir les repères") 

Étape 13: Exécutez ce code en appuyant sur le bouton F5 ou Exécuter et vous pouvez voir une zone de saisie VBA demandant une valeur de marque. Je vais entrer les marques comme 72 et appuyer sur le bouton OK présent sur la zone de saisie. Dès que j'appuie sur le bouton OK à l'intérieur de la zone de saisie, je reçois une boîte de message indiquant les notes associées aux notes entrées.

C'est ainsi que nous pouvons utiliser l'instruction Switch / Select Case dans VBA.

Choses dont il faut se rappeler

  • Switch case est en fait un synonyme de l'instruction Select Case dans VBA. Il a été appelé ainsi car à l'aide de cette déclaration, nous pouvons basculer entre les différentes sorties en même temps.
  • Cette instruction peut être utilisée comme alternative à la boucle IF-Else chaque fois que nous avons trois conditions ou plus à vérifier.
  • C'est OK si vous n'utilisez pas ELSE Case dans l'instruction Select Case. Cependant, dans ce cas, vous devez vous assurer qu'au moins une condition est vraie tout au long de la boucle.

Articles recommandés

Ceci est un guide du boîtier de commutateur VBA. Ici, nous discutons Comment utiliser l'instruction Switch Case 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. Collection VBA (exemples)
  2. Instructions IF VBA | Modèles Excel
  3. Comment utiliser la fonction de tri Excel VBA?
  4. Boucle VBA While (Exemples avec modèle Excel)
  5. VBA Environ