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

Imprimer E-mail
4 mars 2014

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

If.....Then.....Else

Imprimer E-mail
4 mars 2014

Cette instruction permet d'exécuter 1 ou plusieurs instructions selon le résultat d'une condition, vous avez 2 branchements possibles : le cas où la condition est vraie et le cas où elle est fausse. Cette instruction s'utilise ainsi :

  • 1 seule instruction à exécuter si la condition est vraie :
    Sub Condition()
       If Date > "01/01/2001" Then MsgBox "Nous sommes le " & Format(Date, "dddd d mmmm yyyy")
    End Sub
     
  • Plusieurs instructions à exécuter si la condition est vraie :
    Sub Condition()
       If Date > "01/01/2001" Then
          Range("A1") = Date
          MsgBox "Nous sommes le " & Format(Date, "dddd d mmmm yyyy")
       End If
    End Sub