Cours VBA gratuit | Conditions

Select Case

Gratuit, sans inscription Niveau 2 / 3 | Intermédiaire Lecture 6 min V1.2 | 29/10/2026

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 à imprimer

01Définition

En une phrase

Select Case compare une seule expression à une liste de cas et exécute le bloc du premier cas qui correspond.

02Syntaxe

Syntaxe générale
Select Case expression
    Case valeur1
        ' instructions
    Case valeur2, valeur3
        ' instructions
    Case Else
        ' si aucun cas ne correspond
End Select
Forme du casExempleCorrespond à
Valeur uniqueCase "Lille"exactement "Lille"
ListeCase "Lille", "Lens", "Arras"une des valeurs
PlageCase 10 To 19de 10 à 19 inclus
ComparaisonCase Is >= 2020 et plus
SinonCase Elsetout le reste

03Exemples à copier

Attribuer une mention selon la note

Mention automatique
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

Plusieurs valeurs par cas
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
💡 AstuceSelect Case True

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

⚠️ PiègeUn 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 ».

⚠️ PiègeLes décimales entre deux plages

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.

⚠️ PiègePas de Case Else

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.

Pour les formateurs

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-05
Voir aussi

Toutes 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