Créer des graphiques interactifs dans Google Sheets
7 août 2026
« Interactif » dans Google Sheets ne signifie pas une appli web sur mesure. Cela signifie des graphiques et des visuels dans les cellules qui changent quand les données derrière changent — surtout quand une liste déroulante, une case à cocher ou une formule de filtre pilote ces données. Cet article s'en tient à ce que Sheets propose réellement : graphiques standards, SPARKLINE pour les mini-graphiques dans les cellules, et plages pilotées par formules avec FILTER plus des listes déroulantes de validation des données.
Bases des graphiques qui comptent pour l'interactivité
Un graphique dans Sheets pointe toujours vers une plage (ou une plage nommée). Si les valeurs de cette plage changent, le graphique se redessine. La vraie question de conception est donc : qu'est-ce qui alimente la plage ?
Mise en place typique :
- Les données brutes vivent sur un onglet
Data(table de faits en append-only). - Un onglet
Dashboardcontient les contrôles (listes déroulantes) et un petit tableau de sortie construit par formules. - Insertion → Graphique pointe vers le tableau de sortie, pas le dump brut.
Cette séparation est le même schéma que dans Utiliser FILTER + XLOOKUP pour des tableaux de bord dynamiques — ici on s'arrête à la plage chartée plutôt qu'à un pipeline de lookup complet.
Insérer un graphique sur une plage de formules
- Construisez une plage déversée en deux colonnes, par exemple mois dans
Dashboard!A5:Aet totaux dansDashboard!B5:B, produits par formules. - Sélectionnez l'en-tête + les valeurs (incluez assez de lignes vides pour la croissance, ou utilisez un bloc de déversement de taille fixe).
- Insertion → Graphique. Choisissez colonnes, lignes ou combo selon le besoin.
- Dans l'éditeur de graphique, fixez explicitement la plage de données (par exemple
Dashboard!A4:B16) pour que les nouvelles lignes déversées restent dans le graphique si vous avez pré-dimensionné la plage.
Les graphiques ne « suivent » pas indéfiniment une formule matricielle ouverte, sauf si la plage du graphique inclut ces cellules. Dimensionnez la plage pour le maximum de catégories attendu, ou reconstruisez-la avec une formule de taille fixe via ARRAY_CONSTRAIN / CHOOSEROWS.
SPARKLINE — des graphiques dans une seule cellule
SPARKLINE dessine un mini-graphique dans une cellule. Idéal pour les tendances par ligne (par commercial, par SKU, par semaine) sans noyer la feuille sous des objets graphiques complets.
Sparkline en ligne (par défaut)
=SPARKLINE(C2:N2)
Trace les 12 valeurs mensuelles de la ligne en petit graphique linéaire.
Colonnes / barres / win-loss
Les options se passent comme un tableau à deux colonnes clé/valeur :
=SPARKLINE(C2:N2, {"charttype","column";"color","#3366CC"})
=SPARKLINE(C2:N2, {"charttype","bar";"max",100})
=SPARKLINE(C2:N2, {"charttype","winloss"})
winloss traite les valeurs positives comme des ticks vers le haut et les négatives vers le bas — pratique pour un P&L quotidien ou des écarts de score.
Barre de progression
Une barre à une seule valeur contre un max fixe donne une cellule de progression simple :
=SPARKLINE(A2, {"charttype","bar";"max",100;"color","green"})
Si A2 vaut 72, la cellule se remplit à environ 72 %.
Source de sparkline dynamique
Pointez la sparkline vers une tranche filtrée ou transposée pour qu'un seul contrôle réécrive de nombreux mini-graphiques :
=SPARKLINE(FILTER(Data!C2:N, Data!A2:A=Dashboard!$B$1))
Quand la liste déroulante de Dashboard!B1 change, chaque sparkline dépendante se recalcule.
Graphiques pilotés par liste déroulante avec FILTER
C'est le schéma d'interactivité le plus rentable sans Apps Script.
Étape 1 : construire le contrôle
Sur Dashboard :
- La cellule
B1contiendra la région sélectionnée (ou produit, propriétaire, etc.). - Sélectionnez
B1→ Données → Validation des données → critères Liste déroulante (à partir d'une plage). - Pointez la plage vers une liste unique de régions, par exemple construite avec :
=SORT(UNIQUE(Data!A2:A))
Placez cette liste unique sur un onglet d'aide ou à côté du tableau de bord. Les utilisateurs choisissent une valeur dans B1.
Étape 2 : filtrer les données du graphique
Supposons que Data a :
- Colonne A : Région
- Colonne B : Mois
- Colonne C : Revenu
Sortie du dashboard à partir de A4 :
={"Mois","Revenu";
SORT(FILTER(Data!B2:C, Data!A2:A=B1), 1, TRUE)}
Ou gardez les en-têtes statiques dans A4:B4 et déversez les valeurs depuis A5 :
=SORT(FILTER(Data!B2:C, Data!A2:A=B1), 1, TRUE)
Étape 3 : graver le graphique sur la sortie
Insérez un graphique sur A4:B100 (ou les bornes adaptées à votre max de mois). Changer la liste déroulante réécrit le résultat de FILTER ; le graphique suit.
Plusieurs contrôles
Ajoutez une seconde liste déroulante dans B2 pour la catégorie produit. Combinez les conditions dans FILTER :
=FILTER(Data!B2:C, (Data!A2:A=B1)*(Data!D2:D=B2))
Dans Sheets, multiplier des conditions booléennes agit comme un ET. Pour un OU, additionnez-les. Si vous avez besoin d'un langage de requête plus riche, encapsulez la même idée dans QUERY :
=QUERY(Data!A1:D, "SELECT B, C WHERE A = '"&B1&"' AND D = '"&B2&"' ORDER BY B", 1)
Les critères QUERY concaténés en chaînes demandent de l'attention aux guillemets ; FILTER est en général plus simple pour des égalités pures.
Cases à cocher (optionnel)
Les cases à cocher de validation des données (cellules TRUE/FALSE) servent de drapeaux on/off pour des séries.
Exemple : n'inclure les lignes « Active » que si B3 est coché :
=FILTER(Data!B2:C, Data!A2:A=B1, IF($B$3, Data!E2:E="Active", Data!E2:E=Data!E2:E))
Quand $B$3 est FALSE, la troisième condition est toujours vraie (garde tous les statuts) ; quand TRUE, seules les lignes Active passent. Graphiquez le bloc filtré de la même façon.
Ce qu'il ne faut pas inventer
Sheets ne fournit pas de fonctions de formule qui :
- Ouvrent des sélecteurs de type de graphique ou restylent les axes depuis une valeur de cellule (au-delà de ce que l'éditeur de graphique a déjà fixé).
- Animent des transitions ou forent dans des points avec du JS personnalisé (il faut Apps Script, Looker Studio ou un outil externe).
- Étendent automatiquement la plage de données d'un graphique à un déversement non borné sans que la plage n'inclue ces cellules.
Restez piloté par formules : contrôles → tableau filtré → graphique/sparkline. Cette pile est fiable, partageable, et entièrement visible dans la grille pour le débogage.
Conseils de mise en page pour des tableaux de bord utilisables
- Placez les contrôles sur une seule ligne en haut ; verrouillez cette ligne en partage.
- Gardez un panneau « Données du graphique » même si vous le masquez ensuite — ne pointez jamais le graphique directement vers un
IMPORTRANGEvolatile si vous pouvez le stager d'abord (voir Top 5 des fonctions d'import dans Google Sheets). - Préférez les sparklines dans les tableaux denses ; réservez les graphiques complets à 1–4 séries clés.
- Documentez les cellules de liste déroulante avec une note texte à côté (« Choisir la région → ») pour que les lecteurs sachent ce qui est modifiable.
- Pour de gros volumes, filtrez une fois dans une plage de staging et faites lire à la fois le graphique et les sparklines ce stage — évitez de répéter des
FILTERlourds sur chaque ligne.