====== 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 ==== Retour au menu de Excel & VBA ==== [[dev:excelvba:accueil|Excel et VBA (Visual Basic pour Application)]]