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