Aller au contenu principal
CommerciauxAvancé30 min

Automatiser le repérage des relances clients sur Excel

Un exercice corrigé pour automatiser le repérage des relances clients avec une macro VBA complète (boucle + condition), et s'entraîner sur le fichier Excel à télécharger.

Cet exercice est le projet de synthèse de la série VBA débutant, qui réunit boucle For, condition If, compteur et MsgBox dans une seule macro. On passe ici de la technique isolée au vrai mini-outil opérationnel !

Tu vas construire une macro qui parcourt un tableau de commandes, teste deux critères simultanément avec And, colore la cellule Action des commandes à relancer et affiche un message récapitulatif. Une fois ce schéma maîtrisé, tu sauras l'adapter à bien d'autres situations, des relances aux alertes de stock en passant par les rapports automatisés... la logique reste la même.

Dans la vraie vie
On passe ici de la technique isolée au vrai mini-outil. La macro parcourt tes commandes, repère celles à relancer sur deux critères, les signale en couleur et t'affiche le total dans un message. Le même schéma se recycle en alerte de stock ou en rapport automatisé.

Ce que tu vas construire

  • Combiner une boucle For et une condition If dans une seule macro.
  • Tester deux critères simultanément avec l'opérateur And.
  • Incrémenter un compteur à l'intérieur d'un bloc conditionnel.
  • Appliquer une couleur de fond avec Interior.Color et RGB().
  • Afficher un message récapitulatif avec MsgBox à la fin de la macro.

À connaître avant de commencer

  • Maîtriser la boucle For et la condition If en VBA.
  • Connaître Cells(ligne, colonne) et la dernière ligne dynamique.

Voici les données de départ de cet exercice. Copie-les ou , puis entraîne-toi avant de regarder le corrigé.

ABCDE
1DateClientMontantStatutAction
205/01/2026Acme1 500En attente
308/01/2026Bralt800Payée
412/01/2026Cima2 300En attente
520/01/2026Delos950En attente
625/01/2026Egide1 200Payée
702/02/2026Fyx3 000En attente
804/02/2026Galva1 850Payée
909/02/2026Hélios1 000En attente
1013/02/2026Iris4 200En attente
1117/02/2026Jade600Payée
1223/02/2026Kalon1 750En attente
1327/02/2026Lumo2 900Payée

Résoudre l'exercice étape par étape

Coche chaque étape au fur et à mesure. Tente-la dans ton fichier, puis déplie le corrigé.

Ta progression
0/2
1
Parcourir et appliquer la règle métierDans l'éditeur VBA (Alt+F11 > Insertion > Module), écris le Sub RelancesAFaire. Une boucle For parcourt les commandes et, quand le montant (colonne C) dépasse strictement 1000 et que le statut (colonne D) vaut exactement En attente, la macro écrit le texte À relancer dans la colonne Action (colonne E), colore cette cellule en jaune clair avec RGB(254, 243, 199) et ajoute 1 à un compteur de relances, qu'un MsgBox affiche à la fin. La condition s'écrit avec des guillemets droits autour du texte : Cells(i, 3).Value > 1000 And Cells(i, 4).Value = "En attente". Dès que le module est créé, enregistre le classeur avec Fichier > Enregistrer sous, au format classeur Excel prenant en charge les macros (.xlsm), sinon ta macro disparaît à la prochaine ouverture.
2
Exécuter et lire le récapitulatifExécute la macro avec F5 (ou Alt+F8 > RelancesAFaire), vérifie les cellules Action colorées et lis le message récapitulatif.
Le défi
Ta macro repère les relances avec Cells(i, 3).Value > 1000 And Cells(i, 4).Value = "En attente" ? Rejoue-la sans le corrigé en remplaçant And par Or, puis observe : la relance se déclenche désormais dès qu'un seul des deux critères est vrai.

Astuces pour aller plus loin

Documente ta macro avec des commentaires

En VBA, une apostrophe en début de ligne transforme la ligne en commentaire (elle est ignorée à l'exécution). Ajouter ' Boucle sur les commandes ou ' Compteur de relances rend la macro lisible pour toi et pour tes collègues.

Un MsgBox récapitulatif transforme une macro en mini-outil

Afficher le nombre de relances à la fin évite d'aller compter les cellules colorées à la main. On peut enrichir le message avec MsgBox nbRelances & " commande(s) à relancer sur " & (derniereLigne - 1) & " lignes.", qui affiche ici 5 commande(s) à relancer sur 12 lignes.

Pour aller plus loin sur les boucles VBA

Une fois And maîtrisé, explore Or (au moins une condition vraie), Not (inverse la condition) et les boucles Do While pour les listes de longueur inconnue. Exemples commentés ici : https://ledojo.club/blog/loops-in-vba

S'entraîner sur 3 exercices similaires à automatiser le repérage des relances clients

01

Tableau de bord commercial

Construire un tableau de bord commercial pour suivre le CA, le taux de conversion, le classement et l'atteinte des objectifs de chaque vendeur.
Voir l'exercice

02

Analyse des ventes par région

Construire un tableau d'analyse des ventes par région pour identifier tes zones fortes, tes zones en retard et prioriser tes efforts commerciaux.
Voir l'exercice

03

Pipeline commercial CRM

Construire un pipeline commercial dans Excel pour suivre tes opportunités de la prospection à la signature, calculer la valeur pondérée et prévoir ton CA.
Voir l'exercice

Tu as peut-être encore une question

On place l'opérateur And entre les deux conditions dans le If : If Cells(i, 3).Value > 1000 And Cells(i, 4).Value = "En attente" Then. And exige que les deux soient vraies ; Or suffit d'une seule vraie. On peut enchaîner autant de conditions que nécessaire.

Pour aller plus loin

Tout ce dont tu as besoin pour continuer à t’entraîner se trouve ici.

Besoin d’aide sur Excel ?

Rejoins le Dojo pour poser tes questions, obtenir de l’aide sur tes fichiers Excel et participer chaque mois à un cours collectif en direct.

Gratuit · Sans carte bancaire