Partager via


Instruction Select Case

Permet d’exécuter un groupe d’instructions, en fonction de la valeur d’une expression.

Syntaxe

Select Casetestexpression
[ Caseexpressionlist-n [ statements-n ]]
[ Case Else [ elsestatements ]]
End Select

La syntaxe de l’instruction Select Case comprend les éléments suivants :

Élément Description
testexpression Obligatoire. Toute expression numérique ou expression de chaîne.
expressionlist-n Obligatoire si une casse s’affiche.

Liste délimitée d’une ou plusieurs des formes suivantes : expression, expressionàexpression, estcomparisonoperatorexpression.

Le mot cléTo spécifie une plage de valeurs. Si vous utilisez le mot clé To, la valeur inférieure doit apparaître avant To.

Utilisez le mot clé Is avec des opérateurs de comparaison (à l'exception de Is et Like) pour spécifier une plage de valeurs. S'il n'est pas fourni, le mot clé Is est automatiquement inséré.
statements-n Facultatif. Une ou plusieurs instructions exécutées si testexpression correspond à une partie quelconque de listeexpressions-n.
elsestatements Facultatif. Une ou plusieurs instructions exécutées si testexpression ne correspond à aucune des clauses casse.

Remarques

Si testexpression correspond à une expression Caseexpressionlist, les instructions suivantes cette clause Case sont exécutées jusqu'à la prochaine clauseCasse, ou pour la dernière clause, jusqu'à fin de la sélection. Le contrôle passe ensuite à l'instruction qui suit End Select. Si testexpression correspond à une expression listeexpressions dans plusieurs clausescasse, seules les instructions qui suivent la première correspondance sont exécutées.

La clause autre casse est utilisée pour indiquer la elsestatements qui doit être exécutée si aucune correspondance n’est trouvée entre la testexpression et une listeexpressions dans d’autres sélectionscasse. Bien que cela ne soit pas obligatoire, il est recommandé d'utiliser une instruction Case Else dans votre bloc Select Case pour traiter les valeurs testexpression imprévues. Si aucun Case expressionlist ne correspond à testexpression et qu’il n’existe aucune instruction Case Else, l’exécution continue à l’instruction suivante End Select.

Utilisez plusieurs expressions ou plages dans chaque clause casse. Par exemple, la ligne suivante est valide :

Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber 

Remarque

L’opérateur de comparaisonest n’est pas identique au mot-clé est utilisé dans la déclarationSelect Case.

Vous pouvez également spécifier des plages et des expressions multiples pour les chaînes de caractères. Dans l’exemple suivant, casse correspond à des chaînes qui sont exactement égales à everything, des chaînes s’inscrivant entre nuts et soup dans l’ordre alphabétique, ainsi que la valeur actuelle du TestItem:

Case "everything", "nuts" To "soup", TestItem 

Les instructionsSelect Case peuvent être imbriquées. Chaque instruction imbriquéeSelect Case doit posséder une correspondance avec une instructionEnd Select .

Exemple

Cet exemple utilise l’instruction Select Casepour évaluer la valeur d’une variable. La deuxième clausecasse contient la valeur de la variable en cours d’évaluation et par conséquent uniquement l’instruction associée est exécutée.

Dim Number 
Number = 8    ' Initialize variable. 
Select Case Number    ' Evaluate Number. 
Case 1 To 5    ' Number between 1 and 5, inclusive. 
    Debug.Print "Between 1 and 5" 
' The following is the only Case clause that evaluates to True. 
Case 6, 7, 8    ' Number between 6 and 8. 
    Debug.Print "Between 6 and 8" 
Case 9 To 10    ' Number is 9 or 10. 
    Debug.Print "Greater than 8" 
Case Else    ' Other values. 
    Debug.Print "Not between 1 and 10" 
End Select

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.