Cas de sélection VBA

Déclaration de cas Excel VBA Select

Select Case est un substitut à l'écriture de plusieurs instructions if dans VBA, lorsque nous avons de nombreuses conditions dans un code, nous pourrions avoir à utiliser plusieurs instructions If et qui peuvent être fastidieuses car elles deviennent plus complexes à mesure que de plus en plus d'instructions If sont fournies, dans sélectionnez déclaration de cas nous définissons les critères comme différents cas et résultats selon eux.

SELECT CASE aide dans le processus de prise de décision. En cela, une seule expression est utilisée pour évaluer les différents cas possibles. Plusieurs conditions sont analysées facilement pour exécuter le code développé. Cette instruction case est utilisée comme instruction de substitution à ELSE IF pour évaluer les expressions. Il est classé comme une fonction logique intégrée à Excel. Pour utiliser cette fonction, le code est saisi via l'éditeur Visual Basic présenté sous l'onglet développeur.

Explication

Différents groupes d'instructions sont utilisés dans le cas de sélection. La syntaxe suivante doit être suivie pour l'utiliser efficacement. Elle est similaire à l'instruction switch présentée dans d'autres langages de programmation tels que Java, C # et PHP.

 Sélectionnez [Cas] Expression à tester [Cas] Liste des énoncés d'expressions (Cas 1, Cas 2, Cas 3 et ainsi de suite ...) Cas Else (Else Statements) Fin Select 

L'explication des termes associés au cas sélectionné est fournie comme suit

Une expression à tester: elle est nécessaire pour évaluer les différents types de données tels que les entiers, les chaînes, les booléens, les objets et les caractères.

Liste d'expressions: Les  expressions sont créées avec la casse pour trouver la correspondance exacte de l'entrée saisie. S'il y a plus de deux expressions, celles-ci sont séparées à l'aide de l'opérateur virgule. «Est» est un mot-clé utilisé pour comparer les deux expressions en utilisant les opérateurs logiques dans Excel tels que =,, =.

  • Fin de sélection: ferme la définition de cas de sélection du constructeur
  • Instructions: les instructions sont développées en utilisant le cas pour exécuter les expressions qui sont évaluées pour analyser s'il existe une instruction correspondante
  • Instructions Else: Il s'agit de tester l'instruction else lorsque l'expression de test ne correspond à aucune instruction case.

Comment utiliser l'instruction VBA Select Case?

La fonctionnalité de sélection de cas fournie par le VBA ne s'exécute pas dans les feuilles de calcul normales. Nous devons utiliser l'option Visual Basic sous l'onglet Développeur. Fonctions définies par l'utilisateur et codage créés en mode développeur pour exécuter les différentes petites applications dans le domaine de l'entreprise.

Il est utilisé dans les situations où il y a des instructions if imbriquées dans Excel. C'est la meilleure option pour traiter une variété de déclarations de cas. Pour utiliser efficacement cette option, les tâches suivantes doivent être effectuées

  • Tout d'abord, il faut créer une macro en plaçant le contrôle du bouton de commande dans la feuille Excel.
  • Après cela, cliquez avec le bouton droit sur le bouton de commande et sélectionnez l'option Afficher le code
  • Placez le code entre la fonction du bouton de commande et la fin du sous
  • Déboguez le code pour identifier les erreurs de syntaxe.
  • Compilez le code pour trouver les erreurs de compilation pour exécuter avec succès le programme
  • Modifiez les valeurs d'entrée pour observer différents résultats en fonction des critères de correspondance
Vous pouvez télécharger ce modèle Excel VBA Select Case ici - Modèle Excel VBA Select Case

Exemple # 1 - Instruction Simple Select Case

Cet exemple consiste à comprendre le cas de sélection simple pour trouver la valeur correspondante.

Code:

Private Sub Selcaseexmample () Dim A As Integer A = 20 Select Case A Case 10 MsgBox "Le premier cas correspond!" Case 20 MsgBox "Le deuxième cas correspond!" Case 30 MsgBox "Le troisième cas correspond dans le cas sélectionné!" Case 40 MsgBox "Le quatrième cas correspond dans le cas sélectionné!" Case Else MsgBox "Aucune des cases ne correspond!" End Select End Sub

Résultat:

Quatre instructions case et case else sont utilisées pour comparer l'expression de test avec différents cas. Dans le présent exemple, le deuxième cas est mis en correspondance car la variable A correspond à 20.

Exemple # 2 - Mot-clé 'To' pour tester les notes

Cet exemple explique l'utilisation du mot-clé «À» avec la casse de sélection.

Code:

Private Sub Selcasetoexample () Dim studentmarks As Integer studentmarks = InputBox ("Entrez des marques entre 1 et 100?") Sélectionnez le cas studentmarks Cas 1 à 36 MsgBox "Fail!" Case 37 à 55 MsgBox "C Grade" Case 56 à 80 MsgBox "B Grade" Case 81 à 100 MsgBox "A Grade" Case Sinon MsgBox "Hors limites" Fin Sélectionner Fin Sub

Résultat:

Le mot clé «To» est utile pour définir l'ensemble des expressions de test dans une plage. Il est utile de trouver la note obtenue par un étudiant en comparant les différents cas. Après avoir exécuté le programme, nous devons entrer la valeur pour obtenir le résultat.

La sortie est affichée avec une boîte de message comme indiqué dans la capture d'écran ci-dessus.

Exemple # 3 - Utilisation du mot-clé 'Est' avec la casse de sélection

Cet exemple montre l'utilisation du mot-clé «Est» avec la casse de sélection.

Code:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Please enter a number") Select Case NumInput Case Is = 200 MsgBox "Vous avez entré un nombre supérieur ou égal à 200" End Select End Sub 

Le mot clé "Est" aide à trouver les valeurs correspondantes avec uniquement des instructions de cas. Il compare l'expression de test avec une entrée donnée pour produire la sortie.

La sortie est obtenue comme indiqué sur la figure si la valeur saisie est supérieure à 200

Exemple # 4 - Avec le bouton de commande pour modifier les valeurs

Le cas de sélection également utilisé avec le bouton de commande en créant une macro.

Code:

 Couleur secondaire () Couleur assombrie As String color = Range ("A1"). Valeur Sélectionnez Couleur de la casse Cas "Rouge", "Vert", "Jaune" Gamme ("B1"). Valeur = 1 Cas "Blanc", "Noir "," Marron "Plage (" B1 "). Valeur = 2 Cas" Bleu "," Bleu Ciel "Plage (" B1 "). Valeur = 3 Cas Sinon Plage (" B1 "). Valeur = 4 Fin Sélectionner Fin Sous 

Comme indiqué dans le programme, l'entrée est prise à partir des cellules de la feuille de calcul. Le programme est exécuté après avoir cliqué sur le bouton de commande utilisé à partir des contrôles ActiveX. Dans ce cas, un séparateur par virgule est utilisé pour combiner les expressions de test.

Lorsque la valeur de la cellule A1 a changé, cela entraîne également une modification de la cellule B1 en exécutant la macro Excel via le bouton de commande. Vous pouvez vous référer à la capture d'écran ci-dessous: -

Exemple # 5 - Vérifier un nombre pair ou impair

Cet exemple pour vous aider à vérifier qu'un nombre est pair ou impair.

Code:

 Sub CheckOddEven () CheckValue = InputBox ("Enter the Number") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "Le nombre est pair" Case False MsgBox "Le nombre est impair" End Select End Sub 

Le codage est développé comme indiqué dans la capture d'écran et la sortie est affichée comme suit lorsque le nombre pair est entré.

Exemple # 6 - Instructions de sélection imbriquées

L'imbrication est une fonctionnalité utile du boîtier sélectionné et la façon dont elle est effectuée est indiquée.

Code:

 Sub TestWeekday () Select Case Weekday (Now) Case 1, 7 Select Case Weekday (Now) Case 1 MsgBox "Today is Sunday" Case Else MsgBox "Today is Saturday" End Select Case Else MsgBox "Today is a Weekday" End Select End Sous 

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except case 1 and 7 remaining all are weekdays (Note: case 1 is Sunday and case 7 is Saturday)

Things to Remember

  • The ‘Is’ keyword using in the statement of [case] and [case else] are not equal.
  • ActiveX control should be used in executing program through a command button taking input and displaying output in the excel sheet range of cells.
  • It is hard to run the programs in VBA if macros are disabled and always enable Macros to get best results.
  • VBA is a case sensitive and input should be entered accurately to get better results.