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 <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
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 :
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