---
title: "Projet : un tableau de bord alimenté par un formulaire"
description: "Un formulaire, un tableur, des contrôles et un tableau de bord qui se met à jour. Données fabriquées, critères de réussite et correction commentée."
url: https://meridal.fr/apprendre/projet-tableau-de-bord-par-formulaire/
language: fr
written: 2026-10-09
verified: 2026-10-09
license: CC BY 4.0
---

[Apprendre](https://meridal.fr/apprendre/) › [Projets d'entraînement](https://meridal.fr/apprendre/dossier/projets/)

S'exercer · Niveau 2, Pratiquer · 90 minutes

# Projet : un tableau de bord alimenté par un formulaire

Les interventions d'une entreprise fictive de maintenance, saisies jusqu'ici à la main dans un tableur partagé : soixante lignes, huit erreurs. Vous les remplacez par un formulaire qui refuse les erreurs, vous contrôlez l'existant, puis vous construisez un tableau de bord qui se met à jour seul. Formules vérifiées par un recalcul, valeurs attendues et correction commentée.

Écrit le 9 octobre 2026 · Vérifié le 9 octobre 2026

## Vous saurez

- Construire un formulaire qui refuse une saisie fausse
- Relier le formulaire à un tableur, chez Google ou chez Microsoft
- Contrôler un tableau rempli à la main, ligne par ligne
- Construire un tableau de bord par formules, et le vérifier contre des valeurs connues

## Dans le parcours

[Progression par projets](https://meridal.fr/apprendre/parcours/projets/)

Étape 4 sur 12

- [← Avant Les tableurs et l'IA](https://meridal.fr/apprendre/tableurs-et-ia/)
- [↓ Plus concret Projet : un assistant de projet pour une équipe](https://meridal.fr/apprendre/projet-assistant-de-projet/)
- [→ Ensuite Projet : une relance automatique avec validation sur n8n](https://meridal.fr/apprendre/projet-relance-automatique-sur-n8n/)

Rappel de la page précédente

Répondez de tête, puis ouvrez. [L'IA dans les tableurs](https://meridal.fr/apprendre/tableurs-et-ia/)

**1 Pourquoi demander une formule plutôt qu'un résultat ?**

Parce que le tableur calcule juste et de la même façon à chaque fois, et qu'une formule se relit : on voit ce qu'elle additionne.

**2 Que vérifier avant de se fier à un tableau ?**

Que toutes les lignes ont été lues, que chaque formule fait ce qu'on croit, qu'un échantillon refait à la main donne le même résultat, et que les totaux tombent juste face à une source connue.

L'essentiel

1. Le meilleur contrôle se fait à la saisie : une liste plutôt qu'un texte libre, un nombre entre deux bornes, un format imposé, un champ obligatoire.
2. Ce qui a déjà été saisi à la main se contrôle par une colonne de formules, qui signale chaque ligne douteuse au lieu de la corriger en silence.
3. Le tableau de bord se construit par formules, sur les seules lignes valides ; on le vérifie contre des valeurs connues avant de s'y fier.
4. Chez Microsoft, le classeur des réponses ne doit rien recevoir d'autre, sinon la synchronisation casse : le tableau de bord vit à côté.
5. L'IA n'est pas nécessaire ici : un formulaire, des règles et des formules font le travail, gratuitement et sans erreur de lecture.

## Objectif

Calorie Services, une entreprise fictive de maintenance de chauffage, note ses interventions dans un tableur partagé, à la main. Vous allez : créer le formulaire que les techniciens rempliront à la place ; contrôler les soixante dernières saisies ; construire le tableau de bord du mois, par semaine, par type, par technicien ; puis le brancher sur les réponses du formulaire.

Interventions fabriquées pour l'exercice : l'entreprise, ses techniciens, ses clients et ses montants sont inventés.

Google Forms et Google Sheets, ou Microsoft Forms et Excel. Aucune IA, aucun programme. Une heure et demie environ.

## Données fournies

Un classeur : soixante interventions du 7 septembre au 2 octobre 2026, une colonne Contrôle et une colonne Semaine déjà calculées par formules. Huit erreurs de saisie s'y trouvent, comme dans tout tableur rempli à la main.

- Interventions de septembre Excel, 10 Ko · soixante lignes, deux colonnes de formules [Télécharger](https://meridal.fr/assets/apprendre/fichiers/projet-tableau-bord/interventions.xlsx)

  **Lire le tableau**

  Document fabriqué pour un projet d'entraînement de Meridal : l'entreprise, Calorie Services, ses techniciens, ses clients et ses montants sont inventés.

  Les soixante dernières interventions, saisies à la main dans un tableur partagé, du 7 septembre au 2 octobre 2026. Des erreurs de saisie s'y trouvent, comme dans tout tableur rempli à la main : la colonne Contrôle les signale.

  | N° | Technicien | Date | Code client | Type | Durée (h) | Montant HT | Résultat | Contrôle | Semaine |
  |---|---|---|---|---|---|---|---|---|---|
  | 1 | Amandine | 2026-09-07 | CL-1053 | Entretien | 1 | 140 | Terminée |  |  |
  | 2 | Amandine | 2026-09-07 | CL-1028 | Dépannage | 1,5 | 98 | Terminée |  |  |
  | 3 | Amandine | 2026-09-07 | CL-1019 | Entretien | 1 | 95 | Terminée |  |  |
  | 4 | Bruno | 2026-09-08 | CL-1003 | Dépannage | 1 | 65 | Terminée |  |  |
  | 5 | Céline | 2026-09-08 | CL-1036 | Dépannage | 1 | 110 | Terminée |  |  |
  | 6 | Céline | 2026-09-08 | CL-1007 | Dépannage | 1 | 65 | Terminée |  |  |
  | 7 | David | 2026-09-09 | CL-1050 | Dépannage | 0,5 | 32 | Terminée |  |  |
  | 8 | Bruno | 2026-09-09 | CL-1051 | Entretien | 1,5 | 140 | Terminée |  |  |
  | 9 | David | 2026-09-09 |  | Entretien | 1 | 95 | Terminée |  |  |
  | 10 | Amandine | 2026-09-10 | CL-1008 | Entretien | 1,25 | 125 | Terminée |  |  |
  | 11 | David | 2026-09-10 | CL-1027 | Dépannage | 1 | 110 | À reprendre |  |  |
  | 12 | Céline | 2026-09-10 | CL-1039 | Entretien | 0,75 | 125 | Terminée |  |  |
  | 13 | Céline | 2026-09-11 | CL-1031 | Entretien | 1,25 | 95 | Terminée |  |  |
  | 14 | David | 2026-09-11 | CL-1019 | Dépannage | 0,5 | 32 | Terminée |  |  |
  | 15 | David | 2026-09-11 | CL-1023 | Dépannage | 3 | 240 | À reprendre |  |  |
  | 16 | Céline | 2026-09-14 | CL-1009 | Entretien | 0,75 | 140 | Terminée |  |  |
  | 17 | Bruno | 2026-09-14 | cl 1043 | Dépannage | 2 | 250 | Terminée |  |  |
  | 18 | Céline | 2026-09-14 | CL-1046 | Entretien | 1 | 110 | Terminée |  |  |
  | 19 | Bruno | 2026-09-15 | CL-1006 | Entretien | 1 | 140 | Terminée |  |  |
  | 20 | Bruno | 2026-09-15 | CL-1017 | Entretien | 1 | 110 | À reprendre |  |  |
  | 21 | Céline | 2026-09-15 | CL-1009 | Entretien | 1 | 140 | Terminée |  |  |
  | 22 | David | 2026-09-16 | CL-1026 | Dépannage | 2,5 | 162 | Terminée |  |  |
  | 23 | Amandine | 2026-09-16 | CL-1013 | Entretien | 0,75 | 140 | Terminée |  |  |
  | 24 | Céline | 2026-09-16 | CL-1039 | Entretien | 0 | 140 | Terminée |  |  |
  | 25 | Céline | 2026-09-17 | CL-1040 | Entretien | 0,75 | 110 | Terminée |  |  |
  | 26 | Céline | 2026-09-17 | CL-1023 | Entretien | 1 | 140 | Terminée |  |  |
  | 27 | David | 2026-09-17 | CL-1030 | Dépannage | 2 | 130 | À reprendre |  |  |
  | 28 | Céline | 2026-09-18 | CL-1048 | Entretien | 1 | 95 | Terminée |  |  |
  | 29 | Céline | 2026-09-18 | CL-1010 | Entretien | 1 | 95 | Terminée |  |  |
  | 30 | Céline | 2026-09-18 | CL-1034 | Dépannage | 0,5 | 78 | Terminée |  |  |
  | 31 | Céline | 2026-09-21 | CL-1041 | Entretien | 45 | 125 | Terminée |  |  |
  | 32 | Bruno | 2026-09-21 | CL-1013 | Entretien | 1 | 110 | Terminée |  |  |
  | 33 | David | 2026-09-21 | CL-1017 | Dépannage | 1,5 | 98 | Terminée |  |  |
  | 34 | Céline | 2026-09-22 | CL-1024 | Entretien | 1,5 | 125 | Terminée |  |  |
  | 35 | Céline | 2026-09-22 | CL-1014 | Entretien | 0,75 | 110 | Terminée |  |  |
  | 36 | Céline | 2026-09-22 | CL-1052 | Entretien | 1,5 | 95 | Terminée |  |  |
  | 37 | Bruno | 2026-09-23 | CL-1031 | Dépannage | 3 | 195 | Terminée |  |  |
  | 38 | David | 2026-09-23 | CL-1030 | Entretien | 1 | 12500 | Terminée |  |  |
  | 39 | Bruno | 2026-09-23 | CL-1002 | Entretien | 0,75 | 110 | Terminée |  |  |
  | 40 | David | 2026-09-24 | CL-1043 | Entretien | 1,25 | 110 | Terminée |  |  |
  | 41 | Amandine | 2026-09-24 | CL-1001 | Installation | 5 | 4800 | Terminée |  |  |
  | 42 | David | 2026-09-24 | CL-1056 | Dépannage | 3 | 195 | Terminée |  |  |
  | 43 | Céline | 2026-09-25 | CL-1033 | Entretien | 1 | 95 | Terminée |  |  |
  | 44 | David | 2026-09-25 | CL-1054 | Entretien | 1,5 | 125 | Terminée |  |  |
  | 45 | David | 2026-09-25 | CL-1054 | Entretien | 1,5 | 125 | Terminée |  |  |
  | 46 | Amandine | 2026-09-28 | CL-1056 | Installation | 8 | 2950 | Terminée |  |  |
  | 47 | Bruno | 2026-09-28 | CL-1012 | Entretien | 1 | 95 | Terminée |  |  |
  | 48 | Céline | 2026-09-28 | CL-1044 | Entretien | 1,5 | 95 | Terminée |  |  |
  | 49 | Amandine | 2026-09-29 | CL-1016 | Dépannage | 2,5 | 282 | Terminée |  |  |
  | 50 | Amandine | 2026-09-29 | CL-1049 | Entretien | 0,75 | 95 | Terminée |  |  |
  | 51 | Bruno | 2026-09-29 | CL-1045 | Installation | 4 | 4200 | Terminée |  |  |
  | 52 | Bruno | 2026-11-29 | CL-1045 | Entretien | 1,5 | 140 | Terminée |  |  |
  | 53 | Amandine | 2026-09-30 | CL-1026 | Dépannage | 1,5 | 98 | Terminée |  |  |
  | 54 | Bruno | 2026-09-30 | CL-1043 | Entretien | 0,75 | 110 | Terminée |  |  |
  | 55 | Céline | 2026-10-01 | CL-1010 | Entretien | 0,75 | 110 | Terminée |  |  |
  | 56 | Amandine | 2026-10-01 | CL-1026 | Entretien | 1 | 140 | Terminée |  |  |
  | 57 | David | 2026-10-01 | CL-1033 | Installation | 5 | 2950 | Terminée |  |  |
  | 58 | Amandine | 2026-10-02 | CL-1047 | Entretien | 1,25 | 110 | Terminée |  |  |
  | 59 | Amandine | 2026-10-02 | CL-1025 | Entretien | 1 | 140 | Terminée |  |  |
  | 60 | Amandine | 2026-10-02 | CL-1008 | Entretien | 1,5 | 125 | Terminée |  |  |

- Interventions de septembre, en Word Word, 37 Ko · pour lire ou imprimer [Télécharger](https://meridal.fr/assets/apprendre/fichiers/projet-tableau-bord/interventions.docx)

  **Lire le document ici**

  Document fabriqué pour un projet d'entraînement de Meridal : l'entreprise, Calorie Services, ses techniciens, ses clients et ses montants sont inventés.

  Les soixante dernières interventions, saisies à la main dans un tableur partagé, du 7 septembre au 2 octobre 2026. Des erreurs de saisie s'y trouvent, comme dans tout tableur rempli à la main : la colonne Contrôle les signale.

  | N° | Technicien | Date | Code client | Type | Durée (h) | Montant HT | Résultat | Contrôle | Semaine |
  |---|---|---|---|---|---|---|---|---|---|
  | 1 | Amandine | 2026-09-07 | CL-1053 | Entretien | 1 | 140 | Terminée |  |  |
  | 2 | Amandine | 2026-09-07 | CL-1028 | Dépannage | 1,5 | 98 | Terminée |  |  |
  | 3 | Amandine | 2026-09-07 | CL-1019 | Entretien | 1 | 95 | Terminée |  |  |
  | 4 | Bruno | 2026-09-08 | CL-1003 | Dépannage | 1 | 65 | Terminée |  |  |
  | 5 | Céline | 2026-09-08 | CL-1036 | Dépannage | 1 | 110 | Terminée |  |  |
  | 6 | Céline | 2026-09-08 | CL-1007 | Dépannage | 1 | 65 | Terminée |  |  |
  | 7 | David | 2026-09-09 | CL-1050 | Dépannage | 0,5 | 32 | Terminée |  |  |
  | 8 | Bruno | 2026-09-09 | CL-1051 | Entretien | 1,5 | 140 | Terminée |  |  |
  | 9 | David | 2026-09-09 |  | Entretien | 1 | 95 | Terminée |  |  |
  | 10 | Amandine | 2026-09-10 | CL-1008 | Entretien | 1,25 | 125 | Terminée |  |  |
  | 11 | David | 2026-09-10 | CL-1027 | Dépannage | 1 | 110 | À reprendre |  |  |
  | 12 | Céline | 2026-09-10 | CL-1039 | Entretien | 0,75 | 125 | Terminée |  |  |
  | 13 | Céline | 2026-09-11 | CL-1031 | Entretien | 1,25 | 95 | Terminée |  |  |
  | 14 | David | 2026-09-11 | CL-1019 | Dépannage | 0,5 | 32 | Terminée |  |  |
  | 15 | David | 2026-09-11 | CL-1023 | Dépannage | 3 | 240 | À reprendre |  |  |
  | 16 | Céline | 2026-09-14 | CL-1009 | Entretien | 0,75 | 140 | Terminée |  |  |
  | 17 | Bruno | 2026-09-14 | cl 1043 | Dépannage | 2 | 250 | Terminée |  |  |
  | 18 | Céline | 2026-09-14 | CL-1046 | Entretien | 1 | 110 | Terminée |  |  |
  | 19 | Bruno | 2026-09-15 | CL-1006 | Entretien | 1 | 140 | Terminée |  |  |
  | 20 | Bruno | 2026-09-15 | CL-1017 | Entretien | 1 | 110 | À reprendre |  |  |
  | 21 | Céline | 2026-09-15 | CL-1009 | Entretien | 1 | 140 | Terminée |  |  |
  | 22 | David | 2026-09-16 | CL-1026 | Dépannage | 2,5 | 162 | Terminée |  |  |
  | 23 | Amandine | 2026-09-16 | CL-1013 | Entretien | 0,75 | 140 | Terminée |  |  |
  | 24 | Céline | 2026-09-16 | CL-1039 | Entretien | 0 | 140 | Terminée |  |  |
  | 25 | Céline | 2026-09-17 | CL-1040 | Entretien | 0,75 | 110 | Terminée |  |  |
  | 26 | Céline | 2026-09-17 | CL-1023 | Entretien | 1 | 140 | Terminée |  |  |
  | 27 | David | 2026-09-17 | CL-1030 | Dépannage | 2 | 130 | À reprendre |  |  |
  | 28 | Céline | 2026-09-18 | CL-1048 | Entretien | 1 | 95 | Terminée |  |  |
  | 29 | Céline | 2026-09-18 | CL-1010 | Entretien | 1 | 95 | Terminée |  |  |
  | 30 | Céline | 2026-09-18 | CL-1034 | Dépannage | 0,5 | 78 | Terminée |  |  |
  | 31 | Céline | 2026-09-21 | CL-1041 | Entretien | 45 | 125 | Terminée |  |  |
  | 32 | Bruno | 2026-09-21 | CL-1013 | Entretien | 1 | 110 | Terminée |  |  |
  | 33 | David | 2026-09-21 | CL-1017 | Dépannage | 1,5 | 98 | Terminée |  |  |
  | 34 | Céline | 2026-09-22 | CL-1024 | Entretien | 1,5 | 125 | Terminée |  |  |
  | 35 | Céline | 2026-09-22 | CL-1014 | Entretien | 0,75 | 110 | Terminée |  |  |
  | 36 | Céline | 2026-09-22 | CL-1052 | Entretien | 1,5 | 95 | Terminée |  |  |
  | 37 | Bruno | 2026-09-23 | CL-1031 | Dépannage | 3 | 195 | Terminée |  |  |
  | 38 | David | 2026-09-23 | CL-1030 | Entretien | 1 | 12500 | Terminée |  |  |
  | 39 | Bruno | 2026-09-23 | CL-1002 | Entretien | 0,75 | 110 | Terminée |  |  |
  | 40 | David | 2026-09-24 | CL-1043 | Entretien | 1,25 | 110 | Terminée |  |  |
  | 41 | Amandine | 2026-09-24 | CL-1001 | Installation | 5 | 4800 | Terminée |  |  |
  | 42 | David | 2026-09-24 | CL-1056 | Dépannage | 3 | 195 | Terminée |  |  |
  | 43 | Céline | 2026-09-25 | CL-1033 | Entretien | 1 | 95 | Terminée |  |  |
  | 44 | David | 2026-09-25 | CL-1054 | Entretien | 1,5 | 125 | Terminée |  |  |
  | 45 | David | 2026-09-25 | CL-1054 | Entretien | 1,5 | 125 | Terminée |  |  |
  | 46 | Amandine | 2026-09-28 | CL-1056 | Installation | 8 | 2950 | Terminée |  |  |
  | 47 | Bruno | 2026-09-28 | CL-1012 | Entretien | 1 | 95 | Terminée |  |  |
  | 48 | Céline | 2026-09-28 | CL-1044 | Entretien | 1,5 | 95 | Terminée |  |  |
  | 49 | Amandine | 2026-09-29 | CL-1016 | Dépannage | 2,5 | 282 | Terminée |  |  |
  | 50 | Amandine | 2026-09-29 | CL-1049 | Entretien | 0,75 | 95 | Terminée |  |  |
  | 51 | Bruno | 2026-09-29 | CL-1045 | Installation | 4 | 4200 | Terminée |  |  |
  | 52 | Bruno | 2026-11-29 | CL-1045 | Entretien | 1,5 | 140 | Terminée |  |  |
  | 53 | Amandine | 2026-09-30 | CL-1026 | Dépannage | 1,5 | 98 | Terminée |  |  |
  | 54 | Bruno | 2026-09-30 | CL-1043 | Entretien | 0,75 | 110 | Terminée |  |  |
  | 55 | Céline | 2026-10-01 | CL-1010 | Entretien | 0,75 | 110 | Terminée |  |  |
  | 56 | Amandine | 2026-10-01 | CL-1026 | Entretien | 1 | 140 | Terminée |  |  |
  | 57 | David | 2026-10-01 | CL-1033 | Installation | 5 | 2950 | Terminée |  |  |
  | 58 | Amandine | 2026-10-02 | CL-1047 | Entretien | 1,25 | 110 | Terminée |  |  |
  | 59 | Amandine | 2026-10-02 | CL-1025 | Entretien | 1 | 140 | Terminée |  |  |
  | 60 | Amandine | 2026-10-02 | CL-1008 | Entretien | 1,5 | 125 | Terminée |  |  |

## Consignes

1. **Le formulaire.** Créez-le avec les sept questions du tableau ci-dessous, dans l'outil de votre choix (onglets plus bas). Envoyez-vous trois réponses, dont une fausse : « cl 1043 », ou une durée de 45. Le formulaire doit la refuser.
2. **Les contrôles.** Ouvrez le classeur fourni. La colonne Contrôle signale les lignes douteuses ; filtrez sur « à vérifier », et pour chacune, notez l'erreur et ce que le formulaire aurait empêché.
3. **Le tableau de bord.** Dans un onglet nouveau, le nombre d'interventions par semaine et par type, les heures par technicien, le montant du mois, la part à reprendre, la durée moyenne d'un dépannage ; avec les formules ci-dessous. Puis un graphique : les interventions par semaine.
4. **La vérification.** Comparez chaque valeur à la correction, avant de vous fier au tableau.
5. **Le branchement.** Remplacez, dans les formules, l'onglet des soixante lignes par celui des réponses du formulaire ; envoyez une réponse, et regardez-la apparaître dans le tableau de bord.

| Question, obligatoire | Type et règle | Ce que la règle empêche |
|---|---|---|
| Technicien | liste déroulante : Amandine, Bruno, Céline, David | aucune faute de frappe possible |
| Date de l'intervention | date | une vraie date, pas un texte |
| Code client | réponse courte ; Validation de réponse, Expression régulière, « Correspond à » : `CL-[0-9]{4}` | refuse « cl 1043 » |
| Type | choix multiples : Entretien, Dépannage, Installation | trois valeurs, toujours écrites pareil |
| Durée en heures | réponse courte ; Validation de réponse, Nombre, compris entre 0,25 et 12 | refuse 0 et refuse 45, des minutes saisies au lieu d'heures |
| Montant HT | réponse courte ; Validation de réponse, Nombre, compris entre 0 et 5 000 | refuse 12 500 |
| Résultat | choix multiples : Terminée, À reprendre | aucune autre valeur |

Google Microsoft

1. Créez le formulaire et ses sept questions, toutes obligatoires. Pour une règle : le menu Plus de la question, « Validation de réponse », puis le type de règle ; ajoutez un « Texte d'erreur personnalisé ».
2. Reliez-le à un tableur : « Réponses », « Résumé », le menu Plus, « Sélectionner une destination pour les réponses », « Créer une feuille de calcul », « Créer ». Sheets range les réponses dans un tableau.
3. Ajoutez au même fichier un onglet « Tableau de bord » : il lit l'onglet des réponses sans le modifier.

Les collaborateurs du formulaire ont accès à la feuille des réponses ; un changement d'accès ultérieur se fait séparément dans le formulaire et dans la feuille.

1. Créez le formulaire dans Microsoft Forms : « Nouveau formulaire », puis des questions Choix, Texte et Date.
2. Onglet « Réponses », « Ouvrir les résultats dans Excel » : le classeur est enregistré dans OneDrive professionnel, avec une connexion en direct ; les nouvelles réponses y arrivent.
3. N'ajoutez rien à ce classeur, ni tableau ni formule : Microsoft indique que la synchronisation tombe alors en erreur. Construisez le tableau de bord dans un autre classeur, qui lit celui des réponses.

Seuls le propriétaire du formulaire et les membres de l'organisation qui peuvent modifier le classeur déclenchent la mise à jour des données. Les règles de validation de Microsoft Forms ne sont pas détaillées dans les pages lues : vérifiez dans le formulaire celles qu'il propose pour une question Texte.

La colonne Contrôle du classeur, telle qu'elle s'écrit dans un tableur en français ; elle signale une ligne sans code client ou au code mal formé, une durée nulle ou de plus de 12 heures, un montant de plus de 5 000 €, une date à venir, ou un doublon :

`controle.txt`

```
=SI(OU(D2="";GAUCHE(D2;3)<>"CL-";F2<=0;F2>12;G2>5000;C2>DATE(2026;10;9);
   NB.SI.ENS($B$2:$B$61;B2;$C$2:$C$61;C2;$D$2:$D$61;D2;$E$2:$E$61;E2)>1);
   "à vérifier";"")
```

`tableau-de-bord.txt`

```
Interventions de la semaine (en A2) et du type (en B1) :
=NB.SI.ENS(interventions!$J$2:$J$61;$A2;interventions!$E$2:$E$61;B$1;
           interventions!$I$2:$I$61;"<>à vérifier")

Heures d'un technicien (en A8) :
=SOMME.SI.ENS(interventions!$F$2:$F$61;interventions!$B$2:$B$61;A8;
              interventions!$I$2:$I$61;"<>à vérifier")

Montant HT du mois :
=SOMME.SI.ENS(interventions!G2:G61;interventions!I2:I61;"<>à vérifier")

Part des interventions à reprendre :
=NB.SI.ENS(interventions!H2:H61;"À reprendre";interventions!I2:I61;"<>à vérifier")
 /NB.SI(interventions!I2:I61;"<>à vérifier")

Durée moyenne d'un dépannage :
=MOYENNE.SI.ENS(interventions!F2:F61;interventions!E2:E61;"Dépannage";
                interventions!I2:I61;"<>à vérifier")
```

Noms des fonctions dans Excel et Google Sheets en français ; en anglais : IF, OR, LEFT, COUNTIFS, SUMIFS, COUNTIF, AVERAGEIFS, avec des virgules au lieu des points-virgules. La semaine vient de NO.SEMAINE.ISO (ISOWEEKNUM), la numérotation ISO, en usage en Europe.

## Critères de réussite

- Le formulaire refuse « cl 1043 », une durée de 0 ou de 45, un montant de 12 500 chaque refus affiche votre texte d'erreur
- La colonne Contrôle signale 8 lignes les n° 9, 17, 24, 31, 38, 44, 45 et 52
- Le tableau de bord compte 52 interventions retenues
- Chaque valeur du tableau de bord est celle de la correction semaines, types, heures, montant, part à reprendre, durée moyenne
- Le graphique montre quatre semaines, de la 37 à la 40
- Une réponse envoyée au formulaire apparaît dans le tableau de bord après le branchement de l'étape 5

## Indications

**Le tableau de bord compte 60 interventions**

**Cause**Le critère « <>à vérifier » manque.

**À faire**Ajoutez-le à chaque formule : on ne compte que les lignes valides.

**Les semaines ne tombent pas juste**

**Cause**NO.SEMAINE au lieu de NO.SEMAINE.ISO : la première fait commencer la semaine 1 au 1er janvier, la seconde suit la norme ISO, en usage en Europe.

**À faire**NO.SEMAINE.ISO, partout.

**Une formule renvoie #NOM? ou une erreur d'analyse**

**Cause**Les noms ou les séparateurs ne sont pas ceux de la langue du tableur.

**À faire**En français : NB.SI.ENS et des points-virgules ; en anglais : COUNTIFS et des virgules.

**Le formulaire accepte « cl 1043 »**

**Cause**La règle n'est pas une expression régulière, ou elle dit « Contient » au lieu de « Correspond à ».

**À faire**Expression régulière, « Correspond à », CL-[0-9]{4}.

**Chez Microsoft, les nouvelles réponses n'arrivent plus**

**Cause**Un tableau ou une formule a été ajouté au classeur des réponses.

**À faire**Le retirer, et construire le tableau de bord dans un autre classeur ; au besoin, synchroniser dans un nouveau classeur.

**Les deux lignes du doublon sont signalées**

**Cause**C'est voulu : le contrôle ne sait pas laquelle est la bonne.

**À faire**Une personne garde l'une, supprime l'autre ; la règle d'unicité reste.

## Correction commentée

**Ouvrir la correction**

| Ligne | L'erreur | Ce qui l'aurait empêchée |
|---|---|---|
| 9 | code client absent | le champ obligatoire |
| 17 | « cl 1043 » au lieu de CL-1043 | le format imposé |
| 24 | durée de 0 | le nombre entre 0,25 et 12 |
| 31 | durée de 45 : des minutes, au lieu de 0,75 heure | le nombre entre 0,25 et 12 |
| 38 | 12 500 € pour un entretien : la virgule oubliée, 125,00 € | le nombre entre 0 et 5 000 |
| 44 et 45 | la même intervention saisie deux fois | rien : un formulaire n'empêche pas d'envoyer deux fois ; d'où le contrôle |
| 52 | 29 novembre : une date à venir | une date dans le passé, à vérifier par le tableur |

Les valeurs du tableau de bord, calculées par Meridal depuis le même fichier, avec les mêmes contrôles :

`attendu.py`

```
"""Les valeurs attendues du tableau de bord, calculées depuis le fichier d'exercice."""
import datetime as dt
from collections import Counter, defaultdict

lignes = [l for l in open("../fichiers/interventions.md", encoding="utf-8") if l.startswith("| ") and not l.startswith("| N°")]
saisies = []
for l in lignes:
    n, tech, date, client, typ, duree, montant, resultat = [c.strip() for c in l.strip().strip("|").split("|")][:8]
    saisies.append(dict(n=int(n), tech=tech, date=dt.date.fromisoformat(date), client=client, type=typ,
                        duree=float(duree.replace(",", ".")), montant=float(montant), resultat=resultat))

# les mêmes contrôles que la colonne Contrôle du classeur
cle = Counter((s["tech"], s["date"], s["client"], s["type"]) for s in saisies)
for s in saisies:
    s["a_verifier"] = (s["client"] == "" or not s["client"].startswith("CL-") or s["duree"] <= 0
                       or s["duree"] > 12 or s["montant"] > 5000 or s["date"] > dt.date(2026, 10, 9)
                       or cle[(s["tech"], s["date"], s["client"], s["type"])] > 1)
    s["semaine"] = s["date"].isocalendar()[1]

douteuses = [s["n"] for s in saisies if s["a_verifier"]]
print("Lignes à vérifier :", len(douteuses), "(n° " + ", ".join(map(str, douteuses)) + ")")
bonnes = [s for s in saisies if not s["a_verifier"]]
print("Lignes retenues :", len(bonnes))
print()
print("Interventions par semaine et par type")
types = ["Entretien", "Dépannage", "Installation"]
print(f"  {'semaine':<8}" + "".join(f"{t:>13}" for t in types))
for sem in sorted({s["semaine"] for s in bonnes}):
    print(f"  {sem:<8}" + "".join(f"{sum(1 for s in bonnes if s['semaine'] == sem and s['type'] == t):>13}" for t in types))
print()
heures = defaultdict(float)
for s in bonnes:
    heures[s["tech"]] += s["duree"]
print("Heures par technicien :", " ; ".join(f"{t} {h:g} h".replace(".", ",") for t, h in sorted(heures.items())))
print("Montant HT total :", f"{sum(s['montant'] for s in bonnes):,.0f} €".replace(",", " "))
rep = sum(s["resultat"] == "À reprendre" for s in bonnes)
print(f"À reprendre : {rep} sur {len(bonnes)}, soit {rep / len(bonnes):.0%}")
dep = [s["duree"] for s in bonnes if s["type"] == "Dépannage"]
print(f"Durée moyenne d'un dépannage : {sum(dep) / len(dep):.2f} h".replace(".", ","))
```

La sortie`python3 attendu.py`

```
Lignes à vérifier : 8 (n° 9, 17, 24, 31, 38, 44, 45, 52)
Lignes retenues : 52
 
Interventions par semaine et par type
  semaine     Entretien    Dépannage Installation
  37                  6            8            0
  38                 10            3            0
  39                  7            3            1
  40                  9            2            3
 
Heures par technicien : Amandine 28 h ; Bruno 15 h ; Céline 18 h ; David 20,25 h
Montant HT total : 20 605 €
À reprendre : 4 sur 52, soit 8%
Durée moyenne d'un dépannage : 1,62 h
```

Exécuté le 9 octobre 2026 avec Python 3.12.7. Les formules du classeur et du tableau de bord ont été recalculées dans LibreOffice le même jour : elles donnent les mêmes valeurs.

**Ce qui compte le plus.** Six des huit erreurs n'auraient pas pu être saisies dans le formulaire. Le tableau de bord le plus juste commence à la saisie, pas dans les formules ; et les deux erreurs qui restent, le doublon et la date, montrent pourquoi la colonne de contrôle reste utile.

## Extensions

- **Une alerte** : un message au responsable quand une intervention « À reprendre » arrive ( [l'automatisation avec une IA dans la boucle](https://meridal.fr/apprendre/automatiser-avec-une-ia/) ).
- **Une lecture par l'IA** : demander à Gemini dans Sheets de commenter le mois, puis vérifier chaque chiffre qu'il cite contre le tableau de bord ( [Gemini dans Google Sheets](https://meridal.fr/apprendre/gemini-sheets/) ).
- **Chez Microsoft** : la même lecture par Copilot, dans le volet d'Excel ( [Copilot dans Excel](https://meridal.fr/apprendre/copilot-excel/) ).

## Lectures suivantes

↑ Plus général

Rien avant : c'est un point de départ.

← Avant [Les tableurs et l'IA Faire · Niveau 2 · 15 minutes](https://meridal.fr/apprendre/tableurs-et-ia/)

Vous êtes ici

Projet : un tableau de bord alimenté par un formulaire

→ Ensuite [Projet : une relance automatique avec validation sur n8n S'exercer · Niveau 2 · 90 minutes](https://meridal.fr/apprendre/projet-relance-automatique-sur-n8n/)

Progression par projets · étape 5 sur 12

↓ Plus concret [Projet : un assistant de projet pour une équipe S'exercer · Niveau 1 · 40 minutes](https://meridal.fr/apprendre/projet-assistant-de-projet/)

[Tout le dossier « Projets d'entraînement »](https://meridal.fr/apprendre/dossier/projets/)

Les pages qui renvoient ici

- [Projet : le tri d'une boîte de réception](https://meridal.fr/apprendre/projet-tri-d-une-boite-de-reception/)

**Limites et sources**

Les interventions, l'entreprise et ses montants sont fabriqués par Meridal ; les valeurs attendues sont calculées et recalculées, aucun formulaire réel n'a reçu de réponses pour cette page.

Les étapes sont celles des aides françaises de Google et de Microsoft, lues le 9 octobre 2026 ; les règles de validation de Microsoft Forms n'y sont pas détaillées.

1. [Google, les règles d'un formulaire](https://support.google.com/docs/answer/3378864?hl=fr) ; [Google, l'emplacement des réponses](https://support.google.com/docs/answer/2917686?hl=fr) ; [Microsoft, les résultats dans Excel](https://support.microsoft.com/fr-fr/forms/check-and-share-your-form-results) ; [Microsoft, la synchronisation](https://support.microsoft.com/fr-fr/forms/how-to-ensure-your-form-and-workbook-are-in-sync).
2. Le fichier et le calcul : `apprendre/pages/projets/projet-tableau-bord/`.

Écrit par Meridal, avec l'aide de l'IA ; chaque fait vérifié à sa source et relu avant publication. Texte et schémas sous licence [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.fr) : reprenez-les en citant Meridal. Le code sous licence MIT.

Service correspondant

Ne plus recopier d'un logiciel à l'autre

1 100 € à 3 400 €, puis sur devis

[Voir le service](https://meridal.fr/offre/#automatisation)

## Un premier échange de 30 minutes

En visio et sans frais : vous décrivez votre situation, nous vous indiquons ce qui est réalisable, avec quels outils et pour quel ordre de prix. Vous pouvez aussi nous écrire ; chaque message reçoit une réponse écrite.

[Réserver 30 minutes](https://meridal.fr/contact/#reserver) [Écrire un message](https://meridal.fr/contact/)
