Excel - VBA : les structures de décisions

Les structures de décisions permettent de tester des conditions spécifiques avant d’exécuter des instructions. On les appelle aussi alternatives ou branchements conditionnels.

Il existe deux types d'alternatives :

If … Then … Else (Si … alors … sinon)

Select … Case … (Selon que … Cas …)

L’instruction IF

If <condition> Then
<instruction>
Else
[<instructions>]
End If

Exemple : tester la valeur d'une cellule et définir une remise de 0% si le montant est ⇐ 500 € sinon la remise est de 2% :

Public Function remise(cellule)
If cellule <= 500 Then
remise = 0
Else
remise = 0.02
End If
End Function

On peut bien sûr imbriquez plusieurs alternatives If … Then … Else
Exemple : tester la valeur d'une cellule et définir une remise de 0% si le montant est ⇐ 500 €, une remise de 2% sinon si le montant HT est < 1000 sinon la remise est de 4% :

Public Function remise(cellule)
If cellule <= 500 Then
remise = 0
Else
If cellule < 1000 Then
remise = 0.02
Else
remise = 0.04
End If
End If
End Function

L’instruction Select Case

La structure Select … Case remplace avantageusement plusieurs If imbriqués quand on doit tester différentes valeurs d'une même donnée ou d'une cellule.

Select Case <ExpressionTestée>
Case <ListeExpression>
<instructions>
Case <ListeExpression>
<instructions>
...
...
Case Else
<instructions>
End Select

<listeExpression> peut prendre l’une des formes suivantes :

valeur (ex : Case 10)

liste de valeurs (ex : Case 1, 5, 10)

plage de valeurs (ex : Case 1 To 5)

expression conditionnelle (ex : Case Is >= 5)

En reprenant l'exemple précédant : tester la valeur d'une cellule et définir une remise de 0% si le montant est ⇐ 500 €, une remise de 2% sinon si le montant HT est < 1000 sinon la remise est de 4% :

Public Function remise3(cellule)
Select Case cellule
Case Is <= 500
remise3 = 0
Case Is < 1000
remise3 = 0.02
Case Else
remise3 = 0.04
End Select
End Function

Retour au menu de Excel & VBA

Excel et VBA (Visual Basic pour Application)