====== 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 Then
Else
[]
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
Case
Case
...
...
Case Else
End Select
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