Select Case
Quand la même valeur doit être comparée à beaucoup de cas, une série de ElseIf devient vite illisible. Select Case range chaque cas sur sa ligne, comme un aiguillage.
Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer01Définition
Select Case compare une seule expression à une liste de cas et exécute le bloc du premier cas qui correspond.
02Syntaxe
Select Case expression Case valeur1 ' instructions Case valeur2, valeur3 ' instructions Case Else ' si aucun cas ne correspond End Select
| Forme du cas | Exemple | Correspond à |
|---|---|---|
| Valeur unique | Case "Lille" | exactement "Lille" |
| Liste | Case "Lille", "Lens", "Arras" | une des valeurs |
| Plage | Case 10 To 19 | de 10 à 19 inclus |
| Comparaison | Case Is >= 20 | 20 et plus |
| Sinon | Case Else | tout le reste |
03Exemples à copier
Attribuer une mention selon la note
Function Mention(note As Double) As String Select Case note Case Is >= 16: Mention = "Très bien" Case Is >= 14: Mention = "Bien" Case Is >= 12: Mention = "Assez bien" Case Is >= 10: Mention = "Passable" Case Else: Mention = "Ajourné" End Select End Function
Le deux-points permet d'écrire le cas et son instruction sur la même ligne.
Régions à partir du département
Select Case Left(Cells(i, 3).Value, 2) Case "59", "62" Cells(i, 4).Value = "Hauts-de-France" Case "75", "92", "93", "94" Cells(i, 4).Value = "Île-de-France" Case Else Cells(i, 4).Value = "Autre" End Select
Pour tester des conditions différentes, et non une seule valeur, on peut écrire Select Case True puis Case montant > 1000 And client = "Pro". Le premier cas vrai est retenu.
04Pièges à éviter
Dès qu'un cas correspond, VBA exécute son bloc puis sort. L'ordre compte : avec Case Is >= 10 avant Case Is >= 16, une note de 18 obtiendrait « Passable ».
Avec Case 0 To 9 puis Case 10 To 19, la valeur 9,5 ne correspond à aucun des deux. Préférez Case Is < 10 pour les nombres décimaux.
Sans Case Else, une valeur qui ne correspond à aucun cas ne déclenche rien, sans message. Ajoutez un Case Else, ne serait-ce que pour signaler la valeur inattendue.
05Questions fréquentes
À quoi sert Select Case en VBA ?
Select Case compare une seule expression à une liste de cas et exécute le bloc du premier cas qui correspond.
Quel est le piège le plus fréquent avec Select Case ?
Un seul cas exécuté. Dès qu'un cas correspond, VBA exécute son bloc puis sort. L'ordre compte : avec Case Is >= 10 avant Case Is >= 16, une note de 18 obtiendrait « Passable ».
La fiche « Select Case » est-elle gratuite ?
Oui. La fiche est en accès libre et gratuit, sans inscription : vous pouvez la lire en ligne et télécharger sa version PDF. Elle fait partie du cours VBA gratuit de mesetudesdecas.fr, qui compte 21 fiches.
Passez de la fiche à la mise en situation
Les études de cas mesetudesdecas.fr placent vos apprenants face à un vrai besoin d'entreprise. L'étude de cas XL-05 fait automatiser un devis commercial de bout en bout, macros comprises, avec énoncé, corrigé et pas-à-pas du formateur.
Découvrir l'étude de cas XL-05Toutes les fiches du cours VBA gratuit
Voir aussi le cours gratuit sur les formules Excel
Fiche V1.2 | Dernière mise à jour : 29/10/2026 | Clément Delobel, formateur Excel et VBA