Bonjour Fabien,
Voici ce que donne l'aide d'Excel.
Exécute un des blocs d'instructions indiqués, selon la valeur d'une expression.
Syntaxe
Select Case testexpression
[Case expressionlist-n
[statements-n]] ...
[Case Else
[elsestatements]]
End Select
La syntaxe de l'instruction Select Case comprend les éléments suivants :
Élément Description
testexpression Toute expression numérique ou expression de chaîne.
expressionlist-n Si une instruction Case apparaît. Liste délimitée dont les éléments peuvent prendre l'une des formes suivantes : expression, expression To expression, Is comparisonoperator expression. Le mot clé To indique une plage de valeurs. Si vous utilisez To, la valeur la plus petite doit figurer avant To. Utilisez le mot clé Is avec les opérateurs de comparaison (sauf Is et Like) pour indiquer une plage de valeurs. S'il n'est pas indiqué, le mot clé Is est inséré automatiquement.
statements-n Facultatif. Une ou plusieurs instructions exécutées si testexpression correspond à l'un des éléments de expressionlist-n.
elsestatements Facultatif. Une ou plusieurs instructions exécutées si testexpression ne correspond à aucun élément de la clause Case.
Remarques
Si testexpression correspond à un élément de la liste expressionlist associé à une clause Case, le bloc d'instructions qui suit cette clause est exécuté jusqu'à la clause Case suivante ou jusqu'à End Select, dans le cas de la dernière clause. Le contrôle passe ensuite à l'instruction qui suit End Select. Si expressiontest correspond à une expression de la liste expressionlist dans plusieurs clauses Case, seules les instructions qui suivent la première correspondance sont exécutées.
La clause Case Else permet d'indiquer que elsestatements doit être exécutée si testexpression ne correspond à aucune autre clause Case. Bien que cela ne soit pas indispensable, la présence d'une instruction Case Else dans votre bloc Select Case peut être utile lorsque testexpression prend des valeurs inattendues. S'il n'y a pas d'instruction Case Else et si aucune des expressions des clauses Case ne correspond à testexpression, l'exécution du programme se poursuit à partir de l'instruction qui suit End Select.
Vous pouvez utiliser plusieurs expressions ou plages dans chaque clause Case. En voici un exemple :
Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber
Note L'opérateur de comparaison Is ne joue pas le même rôle que le mot clé Is utilisé dans l'instruction Select Case.
Vous pouvez aussi indiquer des plages et des expressions multiples pour des chaînes de caractères. Dans l'exemple suivant, Case correspond aux chaînes de caractères qui sont absolument identiques à tout, aux chaînes comprises entre noix et soupe dans l'ordre alphabétique, ainsi qu'à la valeur en cours de TestItem :
Case 'tout', 'noix' To 'soupe', TestItem
Les instructions Select Case peuvent être imbriquées. À chaque instruction Select Case doit correspondre une instructions End Select.
Abel.