Présentation détaillée : utilisation de Select Case pour choisir entre plusieurs options

Mise à jour : novembre 2007

Dans cette leçon, vous apprendrez à utiliser l'instruction Select Case pour exécuter un code en fonction de plusieurs conditions.

La leçon précédente montrait comment utiliser des instructions If...Then pour exécuter différents blocs de code selon les conditions. Alors qu'il est possible d'évaluer plus de deux conditions dans une même instruction If...Then en utilisant le mot clé ElseIf, l'instruction Select Case constitue un bien meilleur moyen d'évaluer plusieurs conditions.

L'instruction Select Case permet d'utiliser autant de conditions (ou cas) que nécessaire, ce qui la rend pratique pour écrire un code destiné à des situations présentant de nombreux choix. Par exemple, supposez que votre programme utilise une variable String pour stocker un choix de couleurs et que vous deviez récupérer la valeur chromatique. Le code de l'instruction Select Case ressemblerait alors à ce qui suit :

Select Case Color
  Case "red"
      MsgBox("You selected red")
  Case "blue"
      MsgBox("You selected blue")
  Case "green"
      MsgBox("You selected green")
End Select

Lorsque ce code s'exécute, la ligne Select Case détermine la valeur (Color) de l'expression. Supposez que Color soit une variable String, et que cette variable soit un paramètre d'une méthode qui contient l'instruction Select Case. La valeur de Color est alors comparée à la valeur de la première instruction Case. Si la valeur correspond, la ligne de code suivante s'exécute, puis le code passe à la ligne End Select ; si la valeur ne correspond pas, la ligne Case suivante est évaluée.

L'instruction Case peut prendre de nombreuses formes (dans l'exemple ci-dessus, il s'agit d'un type String). Il peut toutefois s'agir de n'importe quel type de données ou expression.

Vous pouvez évaluer une plage de nombres en utilisant le mot clé To, comme suit :

Case 1 To 10

Dans cet exemple, tout nombre compris entre 1 et 10 aurait pour résultat une correspondance.

Vous pouvez également évaluer plusieurs valeurs dans une instruction Case unique en les séparant par des virgules, comme suit :

Case "red", "white", "green"

Dans cet exemple, chacune des trois valeurs aurait pour résultat une correspondance.

Vous pouvez également utiliser des opérateurs de comparaison et le mot clé Is pour évaluer des valeurs de la manière suivante :

Case Is > 9

Dans cet exemple, tout nombre supérieur à 9 aurait pour résultat une correspondance.

Case Else

L'exemple ci-dessus fonctionne parfaitement tant que vous connaissez toutes les conditions possibles. Toutefois, que se passe-t-il en présence d'une condition imprévue ? Par exemple, si la valeur de Color était yellow, le code évaluerait simplement les trois cas, sans rechercher de correspondance, et aucun message ne s'afficherait.

L'instruction Case Else permet d'exécuter un code en l'absence de correspondance, comme dans l'exemple suivant :

Select Case Color
  Case "red"
      MsgBox("You selected red")
  Case "blue"
      MsgBox("You selected blue")
  Case "green"
      MsgBox("You selected green")
  Case Else
      MsgBox("Please choose red, blue, or green")
End Select

Dans le code ci-dessus, si la valeur de Color est yellow, le programme la compare aux trois premières lignes Case, sans rechercher de correspondance. Lorsque la ligne Case Else est atteinte, le programme exécute la ligne de code suivante avant de passer à End Select.

Pour utiliser l'instruction Select Case

  1. Dans le menu Fichier, choisissez Nouveau projet.

  2. Dans la boîte de dialogue Nouveau projet, dans le volet Modèles, cliquez sur Application Windows.

  3. Dans la zone Nom, tapez SelectCase, puis cliquez sur OK.

    Un nouveau projet Windows Forms s'ouvre.

  4. Depuis la Boîte à outils, faites glisser un contrôle TextBox et un contrôle Button dans le formulaire.

  5. Double-cliquez sur le bouton pour ouvrir l'éditeur de code.

  6. Dans le gestionnaire d'événements Button1_Click, tapez le code suivant :

    Dim Number As Integer = CInt(Textbox1.Text)
    Select Case Number
      Case 1
          MsgBox("Less than 2")
      Case 2 To 5
          MsgBox("Between 2 and 5")
      Case 6, 7, 8
          MsgBox("Between 6 and 8")
      Case 9 To 10
          MsgBox("Greater than 8")
      Case Else
          MsgBox("Not between 1 and 10")
    End Select
    
  7. Appuyez sur F5 pour exécuter le programme.

  8. Dans la zone de texte, tapez un nombre, puis cliquez sur le bouton.

    Un message s'affiche pour l'instruction Case qui correspond au nombre que vous avez entré.

Étapes suivantes

Dans cette rubrique, vous avez appris comment utiliser l'instruction Select Case pour faire un choix parmi plusieurs conditions. À ce stade, vous pouvez passer à la leçon suivante, « Opérations à effectuer en cas de problème : gestion des erreurs ».

Leçon suivante : Opération à effectuer en cas de problème : gestion des erreurs

Voir aussi

Tâches

Opération à effectuer en cas de problème : gestion des erreurs

Choix d'un programme entre deux possibilités : instruction If...Then

Référence

Select...Case, instruction (Visual Basic)