On peut donner le nom qu'on veut à une fonction personnalisée à condition de ne pas utiliser un mot réservé par Excel. PUISSANCE est un mot réservé, REDUCTION ne l'est pas. Comme pour toute fonction, on peut passer des paramètres de types différents. Ici, on en a deux : Anciennete qui est du type String (chaîne de caractères) et montant qui est un nombre à virgule flottante.
La fonction personnalisée (en colonne "D") passe le contenu des cellules B (le prix de vente) et C ("OUI" ou "NON"). En D7 tu peux lire =REDUCTION(C7;B7)
Cette fonction compte 3 lignes :
Ligne 1 - On affecte le prix de vente à REDUCTION comme s'il s'agissait d'une variable. Ce prix sera modifié dans les lignes 2 et 3 si les conditions sont remplies.
Ligne 2 - Si le paramètre Ancienneté contient "OUI", on multiplie le prix de vente par 0.95, ce qui correspond à une remise de 5%.
Ligne 3 - Si le montant est >= 70, on retranche de la nouvelle valeur de REDUCTION les frais de port qui se trouvent dans la cellule $H$4. En fin de traitement, la fonction REDUCTION retourne un nombre à virgule flottante correspondant au total à payer.
L'inconvénient du système (il n'a pas que des avantages) : si on change le montant des frais de port en H4 a posteriori, le rafraîchissement de la colonne "Total à payer" ne se fera pas : il faudra le gérer, mais c'est un autre problème.