Un tableau croisé dynamique regroupe les lignes d'un tableau par catégorie, comme Region, et totalise un nombre, comme Sales, pour chaque groupe, sans formules. Pour en créer un, cliquez sur une cellule des données, allez dans Insertion > Tableau croisé dynamique, appuyez sur OK, et faites glisser Region vers Lignes et Sales vers Valeurs. Le tableau ci-dessous n'est pas un tableau croisé dynamique : il construit la même synthèse avec des formules, pour que vous voyiez les totaux changer. Il affiche les formules sous leur forme anglaise (SUMIF pour SOMME.SI), avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules : =SOMME.SI($A$2:$A$9;E2;$C$2:$C$9).
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Region | Sales | % of total | |
| 2 | North | Apple | 120 | North | 455 | 49% | |
| 3 | South | Pear | 85 | South | 305 | 33% | |
| 4 | North | Pear | 240 | East | 170 | 18% | |
| 5 | East | Apple | 60 | ||||
| 6 | South | Apple | 150 | ||||
| 7 | North | Apple | 95 | ||||
| 8 | East | Pear | 110 | ||||
| 9 | South | Pear | 70 |
=SOMME.SI($A$2:$A$9;E2;$C$2:$C$9)UNIQUE liste chaque région une fois et SOMME.SI la totalise : North 455, South 305 et East 170, soit 49 %, 33 % et 18 % des 930 au total. Remplacez C3 par 185 et le total South ainsi que les trois pourcentages suivent aussitôt. Un tableau croisé dynamique afficherait les mêmes nombres, mais seulement après une actualisation.
Créer un tableau croisé dynamique
Avant de commencer, vérifiez les données sources : une ligne d'en-tête avec un nom dans chaque colonne, un enregistrement par ligne, aucune ligne ni colonne vide au milieu, et aucune ligne de sous-total.
- Cliquez sur une cellule des données.
- Allez dans Insertion > Tableau croisé dynamique (dans certaines versions, Insertion > Tableau croisé dynamique > À partir d'un tableau ou d'une plage).
- Excel remplit la plage. Choisissez Nouvelle feuille de calcul et appuyez sur OK.
- Un tableau croisé dynamique vide apparaît avec, à droite, le volet Champs de tableau croisé dynamique qui liste vos en-têtes de colonnes.
- Faites glisser Region dans la zone Lignes et Sales dans la zone Valeurs. Le tableau croisé dynamique affiche chaque région une fois avec Somme de Sales à côté, et une ligne Total général.
- Pour changer ce qui est affiché, déplacez des champs d'une zone à l'autre ou sortez-les du volet.
Si vous ne savez pas par où commencer, Insertion > Tableaux croisés dynamiques recommandés propose quelques dispositions toutes faites pour vos données. Sur un Mac, le menu est le même : Insertion > Tableau croisé dynamique.
Lignes, Colonnes, Valeurs et Filtres
Le volet Champs de tableau croisé dynamique comporte quatre zones, et chaque tableau croisé dynamique consiste à choisir quelle colonne va dans quelle zone :
- Lignes : les catégories sur le côté gauche, une ligne par valeur distincte (Region).
- Colonnes : les catégories en haut, une colonne par valeur distincte (Product).
- Valeurs : les nombres à calculer pour chaque combinaison. La somme est le calcul par défaut pour une colonne numérique ; Nombre, Moyenne, Max, Min et d'autres se trouvent dans Paramètres des champs de valeurs.
- Filtres : un champ qui filtre tout le tableau croisé dynamique, affiché sous forme de liste déroulante au-dessus.
Avec Region en Lignes, Product en Colonnes et Sales en Valeurs, le tableau croisé dynamique des données ci-dessus ressemble à ceci (étiquettes d'un Excel anglais) :
Sum of Sales Column Labels
Row Labels Apple Pear Grand Total
East 60 110 170
North 215 240 455
South 150 155 305
Grand Total 425 505 930
La version en formules de cette disposition liste les régions vers le bas avec UNIQUE, les produits en largeur avec TRANSPOSE(UNIQUE()), et calcule chaque cellule de la grille avec un seul SOMME.SI.ENS qui prend les deux listes comme critères :
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Apple | Pear | ||
| 2 | North | Apple | 120 | North | 215 | 240 | |
| 3 | South | Pear | 85 | South | 150 | 155 | |
| 4 | North | Pear | 240 | East | 60 | 110 | |
| 5 | East | Apple | 60 | ||||
| 6 | South | Apple | 150 | ||||
| 7 | North | Apple | 95 | ||||
| 8 | East | Pear | 110 | ||||
| 9 | South | Pear | 70 |
=SOMME.SI.ENS(C2:C9;A2:A9;E2:E4;B2:B9;F1:G1)E2 répand North, South et East vers le bas, F1 répand Apple et Pear en largeur, et le SOMME.SI.ENS de F2 remplit la grille de 3 sur 2 entre les deux : un total pour chaque couple région et produit. Remplacez Apple par Pear en B5 et les deux cellules East changent. L'ordre est ici celui de première apparition des valeurs ; un tableau croisé dynamique trie ses étiquettes par ordre alphabétique.
Nombre, moyenne ou pourcentage au lieu de la somme
Dans le tableau croisé dynamique, cliquez sur le champ de la zone Valeurs et choisissez Paramètres des champs de valeurs. L'onglet Synthèse des valeurs par permet de passer de Somme à Nombre, Moyenne, Max et Min ; l'onglet Afficher les valeurs transforme les nombres en % du total général, % du total de la colonne, en cumul et autres. Chaque formule a son équivalent direct :
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Region | Orders | Average | |
| 2 | North | Apple | 120 | North | 3 | 151.7 | |
| 3 | South | Pear | 85 | South | 3 | 101.7 | |
| 4 | North | Pear | 240 | East | 2 | 85.0 | |
| 5 | East | Apple | 60 | ||||
| 6 | South | Apple | 150 | ||||
| 7 | North | Apple | 95 | ||||
| 8 | East | Pear | 110 | ||||
| 9 | South | Pear | 70 |
=UNIQUE(A2:A9)North a 3 commandes d'une moyenne de 151.7, South 3 d'une moyenne de 101.7, East 2 d'une moyenne de 85.0. La colonne % du total général se trouve dans le premier tableau de cette page.
Filtrer la synthèse sur un produit
La zone Filtres place une liste déroulante au-dessus du tableau croisé dynamique. La version en formules est une cellule avec une liste déroulante et SOMME.SI.ENS, qui ajoute une condition à SOMME.SI. Choisissez un produit en F1 :
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Product: | Apple | |
| 2 | North | Apple | 120 | |||
| 3 | South | Pear | 85 | Region | Sales | |
| 4 | North | Pear | 240 | North | 215 | |
| 5 | East | Apple | 60 | South | 150 | |
| 6 | South | Apple | 150 | East | 60 | |
| 7 | North | Apple | 95 | |||
| 8 | East | Pear | 110 | |||
| 9 | South | Pear | 70 |
Avec Apple choisi, North affiche 215, South 150 et East 60. Choisissez Pear et ils passent à 240, 155 et 110. Voir SOMME.SI.ENS pour d'autres conditions et la page liste déroulante pour ajouter la liste dans Excel.
Actualiser un tableau croisé dynamique
Un tableau croisé dynamique garde une copie des données sources (le cache du tableau croisé dynamique) et ne se recalcule pas quand une cellule de la source change. Après avoir modifié les données :
- Faites un clic droit n'importe où dans le tableau croisé dynamique et choisissez Actualiser, ou appuyez sur Alt+F5 sous Windows.
- Données > Actualiser tout (Ctrl+Alt+F5) actualise chaque tableau croisé dynamique du classeur.
- Pour actualiser à chaque ouverture du fichier, faites un clic droit sur le tableau croisé dynamique, choisissez Options du tableau croisé dynamique, et dans l'onglet Données cochez Actualiser les données lors de l'ouverture du fichier.
Les nouvelles lignes ajoutées sous la plage source ne sont pas incluses, même après une actualisation. Modifiez la plage dans Analyse du tableau croisé dynamique > Changer la source de données ou, mieux, transformez la source en tableau avant de créer le tableau croisé dynamique : sélectionnez les données et utilisez Insertion > Tableau (ou son raccourci clavier). Un tableau s'agrandit quand vous ajoutez des lignes, et le tableau croisé dynamique les intègre à l'actualisation suivante.
Totaliser chaque région avec une seule formule
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Region | Sales | |
| 2 | North | Apple | 120 | North | ||
| 3 | South | Pear | 85 | South | ||
| 4 | North | Pear | 240 | East | ||
| 5 | East | Apple | 60 | |||
| 6 | South | Apple | 150 | |||
| 7 | North | Apple | 95 | |||
| 8 | East | Pear | 110 | |||
| 9 | South | Pear | 70 |
À vous : En F2, totalisez avec une seule formule les ventes de chaque région listée en E2:E4.
La réponse répand 455, 305 et 170. Donner à SOMME.SI toute la liste E2:E4 comme critère renvoie un total par région, donc il n'y a rien à recopier vers le bas. Excel 2019 et les versions plus anciennes n'ont ni UNIQUE ni propagation : tapez les régions en E2:E4 et recopiez =SOMME.SI($A$2:$A$9;E2;$C$2:$C$9) vers le bas. Sans les signes $, les plages descendent avec chaque ligne et les totaux sont faux.
GROUPER.PAR et PIVOTER.PAR : un tableau croisé dynamique en une formule
Excel pour Microsoft 365 a deux fonctions qui construisent toute une synthèse à partir d'une seule formule et se recalculent comme n'importe quelle formule, sans actualisation. Elles exigent un abonnement Microsoft 365 à jour. Pour les données ci-dessus :
=GROUPBY(A2:A9,C2:C9,SUM)
East 170
North 455
South 305
Total 930
=PIVOTBY(A2:A9,B2:B9,C2:C9,SUM)
Apple Pear Total
East 60 110 170
North 215 240 455
South 150 155 305
Total 425 505 930
Dans un Excel français, ces formules s'écrivent =GROUPER.PAR(A2:A9;C2:C9;SOMME) et =PIVOTER.PAR(A2:A9;B2:B9;C2:C9;SOMME). GROUPER.PAR (GROUPBY en anglais) prend le champ de lignes, les valeurs et la fonction (SOMME, NBVAL, MOYENNE, MAX, PERCENTOF). PIVOTER.PAR (PIVOTBY en anglais) ajoute un champ de colonnes entre les deux. Les deux trient les étiquettes et ajoutent des lignes de total, comme un tableau croisé dynamique.
Tableau croisé dynamique ou formules : que choisir
| Tableau croisé dynamique | Formules (UNIQUE + SOMME.SI) | |
|---|---|---|
| Mise en place | Glisser-déposer, rien à taper | Une formule à taper par colonne |
| Mises à jour | Demande une actualisation | Se recalcule à chaque modification |
| Nouvelles catégories | Apparaissent après une actualisation | Apparaissent aussitôt dans le résultat de UNIQUE |
| Exploration | Réorganisation en quelques secondes, détail par double-clic sur un nombre | Il faut réécrire les formules |
| Grouper des dates par mois ou par année | Intégré (clic droit sur une date > Grouper) | Demande MOIS, ANNEE ou TEXTE |
| Disposition et format | Disposition fixe du tableau croisé dynamique | N'importe quelle disposition, chaque cellule peut alimenter un rapport ou un graphique |
Utilisez un tableau croisé dynamique pour explorer des données et répondre une fois à une question ; utilisez des formules pour une synthèse qui figure dans un rapport, alimente d'autres formules et doit toujours être à jour. Pour vérifier les nombres d'un tableau croisé dynamique, reconstruisez une de ses cellules avec SOMME.SI.ENS : si les deux ne concordent pas, le tableau croisé dynamique a en général besoin d'une actualisation ou sa plage source est trop courte.
Questions fréquentes
Qu'est-ce qu'un tableau croisé dynamique dans Excel ?
Une synthèse d'un tableau qui regroupe les lignes selon les valeurs d'une ou plusieurs colonnes et calcule un total, un nombre ou une moyenne pour chaque groupe. Vous le construisez en faisant glisser des noms de colonnes dans quatre zones (Lignes, Colonnes, Valeurs, Filtres), et il ne modifie pas les données sources.
Comment créer un tableau croisé dynamique dans Excel ?
Cliquez sur une cellule des données, allez dans Insertion > Tableau croisé dynamique, choisissez Nouvelle feuille de calcul et appuyez sur OK. Dans le volet Champs de tableau croisé dynamique, faites glisser une catégorie (Region) vers Lignes et une colonne de nombres (Sales) vers Valeurs.
Pourquoi mon tableau croisé dynamique n'affiche-t-il pas les nouvelles données ?
Un tableau croisé dynamique ne se met pas à jour tout seul. Faites un clic droit dessus et choisissez Actualiser, ou utilisez Données > Actualiser tout (Ctrl+Alt+F5). Si de nouvelles lignes ont été ajoutées sous la plage source, modifiez aussi la plage dans Analyse du tableau croisé dynamique > Changer la source de données, ou transformez la source en tableau pour qu'elle s'agrandisse toute seule.
Comment faire compter un tableau croisé dynamique au lieu d'additionner ?
Cliquez sur le champ de la zone Valeurs, choisissez Paramètres des champs de valeurs et sélectionnez Nombre. Excel choisit Nombre par défaut quand la colonne contient du texte ou des cellules vides, ce qui explique qu'un tableau croisé dynamique affiche parfois des nombres de lignes là où vous attendiez des totaux.
Peut-on faire un tableau croisé dynamique avec des formules ?
Oui. =UNIQUE(A2:A9) en E2 liste chaque catégorie une fois, et =SOMME.SI(A2:A9;E2:E4;C2:C9) en F2 totalise chacune. Dans Microsoft 365, =GROUPER.PAR(A2:A9;C2:C9;SOMME) renvoie toute la synthèse en une seule formule.