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

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

4 mars 2014
Imprimer E-mail

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 
  • 1 ou plusieurs instructions si la condition est vraie et d'autres instructions si la condition est fausse :
    Sub Condition()
      Dim NbJours As Long
      Dim UneDate As Date

      UneDate = DateValue("01/01/2001")
      NbJours = Date - UneDate
      If NbJours > 0 Then
        MsgBox NbJours & " jours se sont déroulés depuis le " & Format(UneDate, "dddd d mmmm yyyy")
      Else
        MsgBox "Encore " & -NbJours & " jours avant le " & Format(UneDate, "dddd d mmmm yyyy")
      End If
    End Sub

  • Tester une 2ème condition si la 1ère est fausse :
    Sub Condition()
      Dim NbJours As Long
      Dim UneDate As Date

      UneDate = DateValue("01/01/2001")
      NbJours = Date - UneDate
      If NbJours > 0 Then
        MsgBox NbJours & " jours se sont déroulés depuis le " & Format(UneDate, "dddd d mmmm yyyy")
      ElseIf NbJours = 0 Then
        MsgBox "Nous sommes le " & Format(UneDate, "dddd d mmmm yyyy")
      Else
        MsgBox "Encore " & -NbJours & " jours avant le " & Format(UneDate, "dddd d mmmm yyyy")
      End If
    End Sub

  • Vous pouvez imbriquer plusieurs If.....Then.....Else autant de fois que vous le désirez, mais attention à la façon dont vous les écrivez, elles doivent se présenter ainsi :
    If condition1 then
        instructions ou pas
        If condition2 then
            bloc d'instructions qui s'exécutent la conditon1 et condition2 sont vraies
        End if
        instructions ou pas
    End if