07.06.2019 Views

Le Guide Complet - Excel 2010-Fonctions et formules - MicroApp

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Le</strong> mot-clé Optional perm<strong>et</strong> de déclarer un argument comme<br />

facultatif. La fonction booléenne IsMissing renvoie True si l’argument<br />

est manquant.<br />

Ainsi, si vous saisissez =TVA_2(100) dans une cellule, le résultat<br />

est 16,38… ce qui correspond bien au montant de TVA à 19,6 %. Si<br />

vous saisissez =TVA_2(100;5,5), la fonction utilise le taux de TVA à<br />

5,5 %.<br />

Calculer un taux de remise<br />

La fonction suivante calcule une remise en fonction du montant<br />

d’une commande :<br />

Function REMISE(Montant)<br />

Const Taux1 As Double = 0.05<br />

Const Taux2 As Double = 0.075<br />

Const Taux3 As Double = 0.1<br />

Select Case Montant<br />

Case Is >= 100000<br />

REMISE = Taux3 * Montant<br />

Case Is >= 50000<br />

REMISE = Taux2 * Montant<br />

Case Is < 10000<br />

REMISE = Taux1 * Montant<br />

End Select<br />

End Function<br />

C<strong>et</strong>te fonction utilise la structure Select… Case, qui perm<strong>et</strong> de<br />

traiter des tranches de valeurs en évitant d’employer des If…<br />

Then… Else.<br />

Notez au passage l’emploi de constantes. Elles sont particulièrement<br />

utiles lorsque vous devez faire référence plusieurs fois à des<br />

valeurs fixes (taux de taxe, taux d’intérêt…) dans votre code. Elles<br />

facilitent la mise à jour du code en cas de modification de leur<br />

valeur. En eff<strong>et</strong>, si vous utilisez la valeur littérale de la constante<br />

dans votre code, vous devrez modifier toutes les occurrences de<br />

ladite valeur. Avec les constantes, vous ne modifiez que la valeur<br />

attribuée à la constante.<br />

13.5. Élaborer des fonctions personnalisées<br />

311

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!