Tableau de bord de suivi et de pilotage des activités dans Excel
Recommandés
La coordination en entreprise ne se décrète pas, mais elle se mesure, se partage et se rejoue chaque semaine. Au cœur de ce rituel, le tableau de bord de suivi et de pilotage des activités s’impose comme un instrument de confiance—ni gadget décoratif, ni usine logicielle hors de portée. Lorsqu’il est conçu avec méthode, il articule la réalité du terrain (tâches, jalons, charges, délais) et la décision (prioriser, arbitrer, redresser). Et lorsque son socle est sobre—une table de données propre, des indicateurs utiles, des règles de calcul transparentes—il sert enfin son objectif : donner prise à l’action.
Une grammaire commune entre l’atelier et le comité de direction
Le tableau de bord ne vaut que par sa capacité à faire dialoguer des univers qui, trop souvent, s’ignorent : production, maintenance, qualité, logistique, RH. En proposant une grammaire commune—des statuts normalisés, des dates prévues et réelles, des charges prévues et constatées, un responsable clairement identifié—il transforme l’inventaire des tâches en file d’attente lisible.
Cette lisibilité change tout : le management ne “survole” plus, il cadre et cadence ; les équipes ne subissent plus, elles pilottent et proposent.
Pourquoi Excel tient encore la corde
Les organisations empilent les plateformes, mais le quotidien d’exécution se décide encore souvent dans Excel. Ce n’est ni nostalgie, ni renoncement : c’est pragmatisme. Un modèle dépourvu de macros, bâti sur des tables structurées, des listes de validation, et des formules traçables couvre 80 % des besoins de pilotage.
Ses atouts sont connus :
- Accessibilité (zéro friction d’adoption, partage immédiat),
- Traçabilité (formules visibles, versions maîtrisables),
- Évolutivité raisonnée (on ajoute un KPI, on ne refait pas le monde).
Le secret n’est pas l’outil, mais la discipline de modélisation.
Anatomie d’un tableau de bord robuste
Un bon modèle tient sur quatre piliers, distincts et cohérents.
1) Une table unique de faits
Une feuille “Données_Activités”, nommée tbl_activités, qui ne souffre aucune fantaisie :
Projet – Processus – Activité – Responsable – Priorité – Statut – Dates (prévu/réel) – Durées (h) – Coûts – % d’avancement – Tags.
Chaque ligne est une activité. Rien d’autre.
2) Des référentiels soignés
“Paramètres” alimente les listes : processus, responsables, statuts, projets, priorités. La première valeur « Tous » sert les filtres du dashboard. On verrouille l’orthographe, on évite les doublons : c’est là que se gagne la qualité des filtres.
3) Un étage de calculs lisible
“Calculs_KPI” abrite les indicateurs, loin du visuel. On y privilégie des masques logiques stables—des comparaisons qui conservent la même dimension quelles que soient les sélections—plutôt que des IF erratiques qui renvoient un scalaire ici, une matrice là. Résultat : zéro #VALEUR!, zéro surprise.
4) Un dashboard orienté décision
Des tuiles peu nombreuses, lisibles, et trois graphiques maximum : répartition par statut (donut), terminées par semaine (colonnes), charge prévue par processus (barres). L’œil comprend, la réunion avance.
Les métriques qui éclairent vraiment l’action
La valeur d’un tableau n’est pas dans la profusion de chiffres, mais dans la pertinence opérationnelle. Les KPI qui structurent les décisions de planning et d’arbitrage sont remarquablement constants d’un site à l’autre :
- Total / Terminées / En cours / Bloquées : portrait instantané du portefeuille.
- Taux de respect des fins prévues (SLA) : signal de fiabilité interne.
- Backlog en retard : activités non terminées dont l’échéance est passée—c’est la liste d’intervention de la semaine.
- On-time (complétées) : discipline de livraison sur ce qui est clos.
- Throughput 7 jours : cadence observée sur une fenêtre glissante ; utile pour percevoir les inflexions.
- Durée prévue vs réelle et Écart de coût : la conversation performance/marge.
- Cycle time moyen : la réalité des flux, au-delà du planning théorique.
On résiste à la tentation d’ajouter dix jauges “intéressantes” : le tableau doit aider à choisir, pas à hésiter.
L’ingénierie silencieuse des formules
La plupart des dysfonctionnements viennent de calculs fragiles. Quelques principes simples évitent les écueils :
- Masques constants plutôt que conditions scalaires
Au lieu deIF(sel="Tous";1;Table[Col]=sel), on emploie--(((sel="Tous") + (Table[Col]=sel))>0): la dimension reste identique, leSUMPRODUCTrespire. - Dates comparées directement
On bannit les contorsions du typeDATEVALUE(TEXT(...)); on compareFin_Réelle >= LundietFin_Réelle <= Lundi+6. C’est plus lisible et plus sûr. - Séparation stricte des étages
Les références visuelles pointent vers “Calculs_KPI”, pas vers la table brute. On peut alors faire évoluer les définitions sans ébranler l’interface.
Cette hygiène n’a rien d’ésotérique ; elle garantit un comportement prévisible et une maintenance sereine.
Rituels de gouvernance : peu de règles, mais tenues
- Unicité de la source : une seule table de faits ; pas de duplicata “hors piste”.
- Champs obligatoires : Projet, Processus, Responsable, Statut, Fin_Prévue. Sans échéance, pas de retard mesurable.
- Rythme d’actualisation : quotidien pour les statuts et les dates réelles ; hebdomadaire pour les coûts.
- Revue hebdomadaire de 30 minutes : on affiche Backlog en retard, on trie par impact et écart de charge (réel – prévu), on reprogramme.
- Traçabilité : version mensuelle archivée et note des évolutions d’indicateurs (définitions, seuils).
Ce cadre léger suffit à faire tenir le modèle dans le temps.
Déploiement sans fracas : une trajectoire réaliste
- Semaine 1 — Cadrage : colonnes exactes, listes de référence, modèle vierge.
- Semaine 2 — Données d’essai : import d’un mois réel, nettoyage, premiers KPI.
- Semaine 3 — Revue terrain : on confronte le tableau aux besoins réels (priorisation, arbitrage).
- Semaine 4 — Stabilisation : corrections, documentation concises, rituel hebdo institué.
Nul besoin de programme pluriannuel : quatre semaines suffisent pour faire émerger un pilotage crédible, à condition de tenir la ligne sobre.
Ce qu’on gagne (et ce qu’on évite)
Gains : une file d’attente partagée, des arbitrages expliqués, des retards visibles avant qu’ils ne s’installent, une meilleure corrélation entre charge prévue et charge réelle, et, surtout, un langage commun entre métiers.
Évitements : la paralysie par la donnée éparse, la dispersion en “tableaux maison” non comparables, et le débat d’opinions qui remplace trop souvent la preuve.
Angles d’extension, sans casser la colonne vertébrale
- Découpes par site/équipe/produit via des tags bien pensés plutôt que des onglets multiples.
- Seuils de couleur sur SLA et backlog (ex. < 90 % en alerte), à la marge, pour guider le regard.
- Exports PDF (Dashboard + contrôle d’erreurs) pour le rituel hebdomadaire.
- Connecteurs ultérieurs (BI, ETL) si l’usage dépasse le périmètre initial… mais seulement après que le modèle a fait ses preuves.
Tableau de bord de suivi et de pilotage des activités dans Excel
Un tableau de bord opérationnel est un contrat de lecture : ce que l’on mesure, comment on le calcule, et ce que l’on décide quand l’indicateur vire. La sobriété est la première bonne pratique—une table propre, des KPI utiles, des formules solides, un rituel régulier—l’organisation troque l’agitation contre l’intention d’exécuter.



Cas particuliers, arbitrages, et recettes qui tiennent au quotidien
1) Activités sans échéance (Fin_Prévue manquante)
Symptôme. Des lignes utiles, mais non datées, plombent le SLA et le backlog.
Enjeu. Ne pas punir la donnée incomplète, tout en évitant l’angle mort.
Pilotage. Exclure ces activités du SLA, mais afficher un compteur dédié “À dater”.
Dans votre modèle.
- Ajoutez une tuile “À dater” =
=SUMPRODUCT(--(tbl_activités[Fin_Prévue]=""), filtres) - Dans le SLA, divisez uniquement par les lignes où
Fin_Prévue<>"".
2) Jours ouvrés plutôt que jours calendaires
Symptôme. Un chantier prévu vendredi soir apparaît “en retard” le lundi matin.
Enjeu. Coller au rythme réel d’atelier/bureau.
Pilotage. Calculer retards et on-time en jours ouvrés.
Dans votre modèle.
- Remplacez
(Fin_Réelle - Fin_Prévue)parNETWORKDAYS.INTL(Fin_Prévue, Fin_Réelle, "0000011")-1. - Même logique pour “aujourd’hui vs Fin_Prévue”.
3) Multi-priorités avec SLA différencié
Symptôme. Tout est « urgent » ; rien ne l’est en pratique.
Enjeu. Faire varier l’exigence selon la Priorité.
Pilotage. Définir des SLA par classe (Critique < Haute < Moyenne < Basse).
Dans votre modèle.
- Créez un petit mapping (table
SLA_Priorité) avec tolérance (ex. Critique = 0 j, Haute = +1 j ouvré…). - L’on-time devient :
Fin_Réelle <= (Fin_Prévue + SLA_Priorité[Delta][@Priorité]).
4) Tâches récurrentes (préventif, inventaires, audits)
Symptôme. Les clones mensuels diluent la lecture.
Enjeu. Voir la régularité plus que l’exception.
Pilotage. Taguer “Récurrent”, suivre taux de réalisation par période.
Dans votre modèle.
- Ajoutez
Tag1="Récurrent". - KPI :
% récurrentes réalisées==SUMPRODUCT(--(Tag1="Récurrent"),--(Terminée), filtres) / SUMPRODUCT(--(Tag1="Récurrent"), filtres).
5) Chaînes à étapes (parent/enfants)
Symptôme. Une opération “terminée” masque un sous-lot en souffrance.
Enjeu. Ne pas fermer un parent tant qu’un enfant reste ouvert.
Pilotage. Introduire ID_Parent et afficher le % de parents entièrement clos.
Dans votre modèle.
- Parent on-time si tous ses enfants sont terminés et on-time.
- Formule type (parent P) :
OnTime_Parent(P) = MIN( OnTime_Enfant[i∈P] ).
6) Capacité ressource (saturation d’une équipe/personne)
Symptôme. Les retards se concentrent toujours sur le même pilote.
Enjeu. Sortir du ressenti et objectiver la charge.
Pilotage. Créer Capacité_Ressources (heures/sem.) et suivre Charge/Capacité.
Dans votre modèle.
Charge_Res = SUMPRODUCT(Durée_Prévue_h sur période & responsable)- Saturation =
Charge_Res / Capacité_Ressources[Heures][@Responsable]. - Ajoutez une tuile > 120 % = alerte.
7) Incidents & non-productifs (pannes, blocages externes)
Symptôme. Le throughput chute sans que la “charge” augmente.
Enjeu. Distinguer le travail des empêchements.
Pilotage. Traiter les incidents comme catégorie à part (Tag2 = “Incident”).
Dans votre modèle.
- Graphe dédié “heures perdues incidents” = somme des durées taguées, par semaine.
- Tuile MTTR (temps de résolution moyen) sur les incidents clos.
8) Aging du backlog (ancienneté des tâches ouvertes)
Symptôme. Un backlog stable… mais qui se fossilise.
Enjeu. Traiter le vieux d’abord.
Pilotage. Buckets d’âge : 0-7 j, 8-14 j, 15-30 j, >30 j.
Dans votre modèle.
Âge = TODAY()-Date(ou Dernier_événement).- Tableau croisé “Backlog par âge” + tuile >30 j en valeur absolue.
9) Variabilité forte (écarts extrêmes, médiane plus sincère que moyenne)
Symptôme. Le cycle time moyen raconte une fable.
Enjeu. Lutter contre l’effet d’outliers.
Pilotage. Publier médiane et P90 en plus de la moyenne.
Dans votre modèle.
- Excel 365 :
=MEDIAN(FiltreDurées)et=PERCENTILE.INC(FiltreDurées,0.9)via plages filtrées ou tables auxiliaires.
10) Multi-sites / multi-fusaux
Symptôme. “On-time” à Tanger, en retard à Lyon.
Enjeu. Concilier des calendriers différents.
Pilotage. Ajouter Site et Calendrier_Site (jours fériés).
Dans votre modèle.
NETWORKDAYS.INTL(date1, date2, masque_site, fériés_site)oùmasque_siteprovient d’un mapping par site.- Filtres par Site en tête du Dashboard.
11) Coûts CAPEX/OPEX (deux logiques, un seul tableau)
Symptôme. Mélange des choux (opex) et des carottes (capex).
Enjeu. Rendre compatible l’opérationnel et l’analytique.
Pilotage. Champ Nature_Coût (CAPEX/OPEX) et deux vues.
Dans votre modèle.
- Deux tuiles : Écart coût OPEX et Écart coût CAPEX.
- Même formule, filtrée par
Nature_Coût.
12) Classes de service (expedite, date fixe, standard, intangible)
Symptôme. Les “petits feux” dévorent le temps des chantiers importants.
Enjeu. Donner des règles d’arbitrage lisibles par tous.
Pilotage. Un champ “Classe_Service” pour trier le backlog :
- Expedite (immédiat)
- Date fixe (avant la date)
- Standard (FIFO)
- Intangible (quand capacité disponible)
Dans votre modèle.
- Vue Backlog ordonné : tri multi-clés (Classe_Service, Fin_Prévue, Âge).
- Tuile “% Expedite sur 7j” pour monitorer l’invasivité.
Trois protocoles d’arbitrage à adopter sans tarder
- Astreinte de priorisation (hebdo, 30 min)
Ordre du jour : Backlog en retard → Expedite → Date fixe court terme → Standard. Décisions écrites dans la colonne Commentaires (qui fait quoi, pour quand). - Revue de capacité (quinzaine)
Regard croisé Charge/Capacité par responsable. Si >120 %, on déplace, on pare, ou on renforce. - Sanitation des données (mensuel)
Nettoyage des libellés, fusion des doublons, contrôle des champs obligatoires. Cette routine vaut autant que n’importe quel nouveau KPI.
Comment étendre votre modèle sans le casser
- Ajouter un champ → passez par Données_Activités et Paramètres (si liste), ne renommez pas les en-têtes existants.
- Créer une nouvelle tuile → calculez d’abord dans Calculs_KPI, reliez ensuite dans Dashboard.
- Changer la définition d’un KPI → dupliquez “Calculs_KPI” en “Calculs_KPI_vX”, validez, puis basculez les références.
Mini-recettes (formules prêtes à insérer)
- Masque de filtre universel (projet/processus/responsable/statut)
--(((sel_Projet="Tous")+(tbl_activités[Projet]=sel_Projet))>0)
(même logique pour Processus/Responsable/Statut — dimensions constantes, pas de #VALEUR!). - Backlog en retard (ouvrés)
=SUMPRODUCT(--(tbl_activités[Statut]<>"Terminée"), --(tbl_activités[Fin_Prévue]<>""), --(NETWORKDAYS.INTL(tbl_activités[Fin_Prévue],TODAY(),"0000011")>1), masques) - On-time (avec SLA par priorité)
=SUMPRODUCT(--(Terminée), --(Fin_Réelle <= Fin_Prévue + VLOOKUP(Priorité, SLA_Priorité,2,0)), masques) / SUMPRODUCT(--(Terminée), --(Fin_Prévue<>""), masques) - Aging buckets
Âge = TODAY()-Date; puis=IFS(Âge<=7,"0-7", Âge<=14,"8-14", Âge<=30,"15-30", TRUE,">30")
Ce qui change la conversation, vraiment
- On ne discute plus “d’opinion” : on ordonne la file d’attente selon des règles publiques.
- On ne confond plus “charge” et “capacité” : la saturation devient visible.
- On n’invisibilise plus les empêchements : incidents et récurrents ont leur fenêtre dédiée.
- On assume la temporalité de l’action : aujourd’hui (backlog), cette semaine (cadence), ce mois (coût/durée).








