PaliSkill
Introduction au VBA

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

À faire

Voici 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.

Quitter le module