Instruction If...Then...Else

Définit un ou plusieurs blocs d'instructions ne devant s'exécuter que si une condition donnée est True.

Syntaxe :

Instruction If...EndIf

Fragment ElseIf

Fragment Else


  If condition Then 
      statements
  [{ElseIf|Else If} expression Then
      statements]
  [Else 
      statements]
  {EndIf|End If}

Ă€ la place Else If vous pouvez Ă©crire ElseIf, Ă  la place de End If vous pouvez Ă©crire EndIf.

tip

L'instruction If peut ĂŞtre raccourcie Ă  une seule ligne lors de l'utilisation de blocs d'instruction unique.



  If condition Then statement [Else statement]

Paramètres :

L'instruction If...Then exécute des blocs de programme en fonction de conditions données. Lorsque %Productname Basic rencontre une instruction If, la condition est évaluée. Si la condition est remplie True, toutes les instructions suivantes jusqu'à la prochaine instruction Else ou ElseIf sont exécutées. Si la condition est False et si elle est suivie d'une instruction ElseIf, LibreOffice Basic évalue la condition suivante et, si elle est TRUE, exécute les instructions suivantes. Si la condition est FALSE, le programme s'exécute conformément à la prochaine instruction ElseIf ou Else. Les instructions suivant Else ne sont exécutées que si aucune des conditions précédemment évaluées n'est True. Après avoir évalué toutes les conditions et exécuté les instructions correspondantes, le programme continue de s'exécuter suivant l'instruction figurant après EndIf.

Vous pouvez imbriquer plusieurs instructions If...Then.

Les instructions Else et ElseIf sont facultatives.

IcĂ´ne Avertissement

Vous pouvez utiliser GoTo et GoSub pour quitter un bloc If...Then, mais non pour entrer dans une nouvelle structure If...Then.


Exemple :

L'exemple suivant permet de saisir la date d'expiration d'un produit et de déterminer si cette date est dépassée.


Sub ExampleIfThenDate
    Dim sDate As String
    Dim sToday As String
    sDate = InputBox("Saisissez la date d'expiration (JJ.MM.AAAA).")
    sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2)
    sToday = Date$
    sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2)
    If sDate < sToday Then
        MsgBox "La date d'expiration est dépassée."
    ElseIf sDate > sToday Then
        MsgBox "La date d'expiration n'est pas encore dépassée."
    Else
        MsgBox "La date d'expiration est aujourd'hui."
    End If
End Sub

Aidez-nous !