Share via


Comment : exécuter des instructions en fonction d'une ou de plusieurs conditions (Visual Basic)

L'If...Then...Else, instruction (Visual Basic) permet d'exécuter une instruction ou un ensemble d'instructions spécifique en fonction de la valeur Booléen, type de données (Visual Basic) d'une condition. La condition provient généralement d'une comparaison entre deux valeurs, mais elle peut être une expression qui évalue une valeur Boolean (True ou False). Elle peut comprendre des valeurs d'autres types de données, tels que des types numériques, qui ont été converties en type Boolean.

Pour exécuter une ou plusieurs instructions si une condition a la valeur True

  • Si vous n'avez qu'une seule instruction à exécuter, utilisez la syntaxe sur une ligne de la construction If...Then...Else. Les instructions Else ou End If ne sont pas nécessaires. L'exemple suivant illustre ce comportement :

    Sub fixDate()
        Dim myDate As Date = #2/13/1973#
        If myDate < Now Then myDate = Now
    End Sub
    

    ou

  • Pour exécuter plusieurs lignes de code lorsque la condition est True, vous devez utiliser une syntaxe sur plusieurs lignes, comprenant l'instruction End If. Si vous n'avez aucun code à exécuter lorsque la condition est False, vous omettez l'instruction Else. L'exemple suivant illustre ce comportement :

    Dim alertLabel As New System.Windows.Forms.Label
    Sub alertUser(ByVal value As Long)
        If value = 0 Then
            alertLabel.ForeColor = System.Drawing.Color.Red
            alertLabel.Font = New Font(alertLabel.Font, 
                FontStyle.Bold Or FontStyle.Italic)
        End If
    End Sub
    

Pour exécuter des instructions si une condition a la valeur True et d'autres si elle a la valeur False

  • Utilisez une construction If...Then...Else avec l'instruction Else, instruction (Visual Basic) pour définir deux blocs d'instructions. Visual Basic exécute un bloc si la condition a la valeur True et l'autre si la condition a la valeur False. L'exemple suivant illustre ceci.

    Dim alertLabel As New System.Windows.Forms.Label
    Sub alertUser(ByVal value As Long)
        If value = 0 Then
            alertLabel.ForeColor = System.Drawing.Color.Red
            alertLabel.Font = New Font(alertLabel.Font, 
                FontStyle.Bold Or FontStyle.Italic)
        Else
            alertLabel.Forecolor = System.Drawing.Color.Black
            alertLabel.Font = New Font(alertLabel.Font, 
                FontStyle.Regular)
        End If
    End Sub
    

Pour tester des conditions supplémentaires si la première condition a la valeur False

  • Utilisez une construction If...Then...Else avec une ou plusieurs instructions ElseIf pour tester des conditions supplémentaires si la première condition est False. Dans l'exemple suivant, la procédure Function calcule une prime salariale en fonction du taux de performance. Le bloc d'instruction qui suit l'instruction Else s'exécute uniquement si les conditions des instructions If et ElseIf sont toutes False.

    Function bonus(ByVal performance As Integer, 
                   ByVal salary As Decimal) As Decimal
        If performance = 1 Then
            Return salary * 0.1
        ElseIf performance = 2 Then
            Return salary * 0.09
        ElseIf performance = 3 Then
            Return salary * 0.07
        Else
            Return 0
        End If
    End Function
    

    Visual Basic teste les conditions dans l'ordre dans lequel elles apparaissent dans les instructions If...Then...Else. Lorsqu'il rencontre une condition True ou une instruction Else, il exécute le bloc d'instruction correspondant. Le contrôle passe alors à l'instruction qui suit l'instruction End If.

    Vous pouvez avoir autant d'instructions ElseIf que nécessaire, voire aucune. Vous pouvez inclure ou omettre une instruction Else, que vous ayez ou non des instructions ElseIf.

Voir aussi

Tâches

Comment : transférer un contrôle hors d'une structure de contrôle (Visual Basic)

Comment : tester plusieurs valeurs d'une expression (Visual Basic)

Comment : conserver le contrôle si une erreur se produit (Visual Basic)

Concepts

Structures de décision (Visual Basic)

Structures de boucle (Visual Basic)

Autres structures de contrôle (Visual Basic)

Structures de contrôle imbriquées (Visual Basic)

Autres ressources

Flux de contrôle en Visual Basic