Leçon 1 / 10 — Chapitre 6: Mise en pratique : automatiser la gestion commerciale
Calculer des remises par palier pour les clients
Cette leçon combine deux techniques déjà vues séparément — une Function réutilisable et une boucle For — pour automatiser un calcul de remise commerciale appliqué à toute une liste de clients d'un coup.
Function CalculerRemise(montant As Double) As Double
If montant >= 5000 Then
CalculerRemise = montant * 0.12
ElseIf montant >= 2000 Then
CalculerRemise = montant * 0.05
Else
CalculerRemise = 0
End If
End Function
Sub AppliquerRemises()
Dim i As Integer
For i = 2 To 10
Cells(i, 3).Value = CalculerRemise(Cells(i, 2).Value)
Next i
End Sub
La Function encapsule la règle de calcul une seule fois (3 paliers selon le montant de commande), et la boucle l'applique ligne par ligne sur la colonne B, en écrivant le résultat en colonne C — modifier les seuils de remise ne demande de changer qu'un seul endroit du code, la Function elle-même.
À vous de jouer : adaptez cette Function pour ajouter un quatrième palier à 15% au-delà de 10 000 $.
À vous de jouer
À faireVoici un extrait de code, où B2=6000, B3=1500 et B4=3000 :
Function CalculerRemise(montant As Double) As Double
If montant >= 5000 Then
CalculerRemise = montant * 0.12
ElseIf montant >= 2000 Then
CalculerRemise = montant * 0.05
Else
CalculerRemise = 0
End If
End Function
Sub Test()
MsgBox CalculerRemise(Cells(4, 2).Value)
End Sub
Que va afficher le MsgBox lors de l'exécution ?
Réalisez la tâche, puis saisissez votre réponse ci-dessous pour vérification.