L'informatique à votre portée
L'informatique prêt-à-porter

Faites appel à moi pour vos formations
sur les dpts 81, 31, 82, 11 et 67 (Strasbourg)
Confiez moi vos développements Office

FacebookTwitterGoogle BookmarksLinkedin

Select Case

4 mars 2014
Imprimer E-mail

Cette instruction permet d'exécuter 1 ou plusieurs instructions selon le résultat d'une variable, elle permet plusieurs branchements possibles et évite l'utilisation de ElseIf.  Chaque instruction Case peut contenir 1 ou plusieurs valeurs (par exemple : 1,5,8), une plage de valeurs (par exemple : 1 to 5) ou la combinaison d'une valeur et d'un opérateur de comparaison (par exemple : Is >= 5). Elle s'utilise comme dans l'exemple suivant :

Sub Condition()
    Dim N As Byte
    Dim MaCel As Range

    For N = 1 To 10
        Range("A" & N) = N
    Next
    For Each MaCel In Range("A1:A10")
        Select Case MaCel
            Case 2
                MaCel.Offset(0, 1) = MaCel + 1000
            Case 1, 4
                MaCel.Offset(0, 1) = MaCel + 10000
            Case 5 To 6
                MaCel.Offset(0, 1) = MaCel + 10
            Case Is > 7
                MaCel.Offset(0, 1) = MaCel + 100
            Case Else
                MaCel.Offset(0, 1) = MaCel
        End Select
    Next
End Sub