Les tableaux croisés dynamiques dans Excel2007

SilkyRoad

Ce tutoriel présente les tableaux croisés dynamiques dans Excel2007.

- Titre : Les tableaux croisés dynamiques dans Excel2007

- Auteur : SilkyRoad

- Parution : 17 décembre 2007

- Mise à jour : 23 décembre 2007

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2007 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Créer un tableau croisé dynamique

- III. Les zones de 'la liste de champs d'un tableau croisé dynamique'

- III-A. Liste de champs

- III-B. Etiquette de colonnes

- III-C. Etiquette de lignes

- III-D. Valeurs

- III-E. Filtre du rapport

- IV. Les onglets 'Outils de tableau croisé dynamique'

- IV-A. Description de l'onglet Options

- IV-A-1. Options du tableau croisé dynamique

- IV-A-2. Champ actif

- IV-A-3. Groupe

- IV-A-4. Trier

- IV-A-5. Données

- IV-A-6. Actions

- IV-A-7. Outils

- IV-A-8. Afficher/Masquer

- IV-B. Description de l'onglet Création

- IV-B-1. Disposition

- IV-B-2. Options de style de tableau croisé dynamique

- IV-B-3. Styles de tableau croisé dynamique

- V. Le menu contextuel du rapport

- VI. Les champs et éléments calculés

- VII. Utiliser une source de données externe

- VIII. La fonction LIREDONNEESTABCROISDYNAMIQUE

- IX. Trucs et astuces

- IX-A. Remplacer les cellules vides par des zéros

- IX-B. Comment utiliser l'ancienne interface pour créer un TCD

- IX-C. Créer un rapport à partir de sources multi classeurs

- IX-D. Définir la source dynamiquement

- IX-E. Faire des glisser/déposer vers le rapport

- IX-F. Appliquer une mise en forme conditionnelle dans le rapport

- X. Conclusion

- XI. Liens

- XII. Remerciements

- XIII. Téléchargement

I - Introduction

Le Tableau Croisé Dynamique (TCD ou rapport) est un outil pour analyser vos bases de données. Il est dynamique car toute modification de la source entraîne la mise à jour du rapport, lorsque l'actualisation est déclenchée. Le TCD permet de grouper, combiner et comparer rapidement un grand nombre d'informations. Vous pouvez par exemple identifier des dépenses par centre de frais, puis regrouper les résultats par mois, en simplement 4 clics.

Chaque en-tête de colonne dans la base de données devient un champ du tableau croisé dynamique. Chaque ligne suivante correspond à un enregistrement.
La présentation du tableau de synthèse est définie par les options de filtre et de regroupement, par la position des champs ainsi que par les formules appliquées. Le TCD permet d'effectuer des calculs prédéfinis (somme, nombre, nb, moyenne, produit, chiffres, max, min, ecarttype, ecarttypep, var, varp). Vous pouvez également créer vos propres formules en insérant des champs et éléments calculés.

L'interface des tableaux croisés dynamiques Excel2007 a été repensée et pourra déconcerter les utilisateurs des anciennes versions. Une fois la prise en main terminée, vous constaterez que les options sont plus nombreuses et les limites techniques ont été repoussées.

Fonctionnalité

Limite maximale

Nombre maximal de rapports de tableau croisé dynamique par feuille

Limité par la quantité de mémoire disponible

Éléments uniques par champ

1 048 576

Nombre maximal de champs de ligne ou de colonne par TCD

Limité par la quantité de mémoire disponible

Nombre maximal de filtres par TCD

256 (limitation possible par la quantité de mémoire disponible)

Nombre maximal de champs de valeur par TCD

256

Nombre maximal de formules d'éléments calculés

Limité par la quantité de mémoire disponible

Formules d'élément calculées

Limité par la quantité de mémoire disponible

Longueur pour une chaîne relationnelle de TCD

32 767

Nota:
Les graphiques croisés dynamiques seront traités ultérieurement, dans un autre tutoriel.

II - Créer un tableau croisé dynamique

L'efficacité d'un tableau croisé dynamique repose sur une base de données correctement structurée.

Pour mieux comprendre, imaginez que la feuille de calcul est une table Access.
Chaque cellule de la première ligne contient le nom des champs (en-tête).
Les lignes suivantes contiennent les enregistrements.
La base ne doit pas contenir deux noms de champs identiques.
Evitez les cellules vides dans les champs qui stockent des données numériques.
La base ne doit pas contenir de colonnes vides.
La base ne doit pas contenir de lignes vides.
La base doit stocker uniquement des données brutes (pas de lignes de sous totaux, pas de sous ensembles ...)

Après avoir défini et préparé la source à analyser:
Positionnez vous sur une des cellules qui contient les données, Excel identifiera toutes les cellules contigües comme étant la source de données, ou sélectionnez la partie de cellules concernées par l'analyse en incluant les en-têtes de colonnes.
Sélectionnez l'onglet "Insertion" dans le ruban.
Cliquez sur le bouton "Tableau croisé dynamique" dans le groupe "Tableaux".

La fenêtre qui s'affiche, permet:
De redéfinir la plage de données source. Vous pouvez faire référence à une plage de cellules, une plage nommée ou à un tableau.
De choisir une source externe (Consultez le chapitre VII).
De définir l'emplacement du TCD.

Cliquez sur le bouton OK pour valider.

Une fenêtre nommée "Liste de champs de tableau croisé dynamique" s'affiche sur la droite de l'application. Cette nouvelle interface sert de support principal pour gérer la création et la modification de vos tableaux croisés dynamiques.
Consultez le chapitre III pour plus de détails.
Cette boîte dialogue peut être déplacée et redimensionnée. La position des sections "zones" et "Champs" est personnalisable. Utilisez le bouton placé dans l'angle supérieur droit de la fenêtre afin de modifier l'ergonomie de la boîte de dialogue.

La zone du rapport apparait sur la gauche de la feuille de calcul. La figure ci-dessous montre l'aspect du rapport lorsqu'aucun champ n'est défini.

Deux onglets supplémentaires ("Options" et "Création") sont accessibles depuis le ruban, quand le rapport est sélectionné. Ils contiennent de nombreuses fonctionnalités pour gérer votre TCD. Le chapitre IV détaille ces deux onglets.
Vous remarquerez que la fenêtre de droite et les deux onglets disparaissent lorsque la cellule active ne correspond plus à une des cellules du rapport.

Vous allez utiliser la fenêtre "Liste de champs de tableau croisé dynamique" pour créer le TCD, en choisissant les champs à inclure. Le résultat s'affichera dans la zone rapport.

Par exemple, cochez les champs à prendre en compte dans le tableau croisé dynamique ("Region" et "Resultat").

Vous constatez que l'application a d'elle même placé le champ "Region" en étiquette de ligne, et le champ "Resultat" dans la zone valeur. En fonction du type de données sélectionné (et pour des cas simples) Excel est capable de définir l'emplacement des champs dans le TCD: en étiquette pour les champs textuels et chronologiques, en valeur pour les champs numériques.

Cette solution a ses limites. Plus généralement, faites un simple glisser/déposer pour mettre en forme votre rapport. Sélectionnez les champs dans la liste et faite les glisser dans la zone de votre choix, en fonction des analyses à effectuer. Pour supprimer un champ du TCD, effectuez l'opération inverse: glissez/déposez de la zone vers la liste.

La zone "Etiquettes de ligne" définit les champs qui vont s'afficher sur la gauche du TCD.
La zone "Etiquettes de colonne" définit les champs qui vont s'afficher dans la partie supérieure du TCD.
La zone "Filtre du rapport" correspond au "Champ de page" dans les anciennes versions d'Excel. Elle sert à afficher et filtrer des sous-ensembles de données dans un tableau croisé dynamique.
La zone "valeur" contient les données numériques synthétisées en fonction des étiquettes de lignes, des étiquettes de colonne, des filtres de rapport et des opérations appliqués sur les champs de cette zone.

Reportez vous au chapitre III qui décrit en détail l'utilisation et les options de la fenêtre "Liste de champs de tableau croisé dynamique".

Tout comme dans les anciennes versions d'Excel, vous avez la possibilité d'insérer plusieurs fois un même champ dans une zone, par exemple le premier qui affiche l'opération "Somme" et le second, la valeur "% du total".

Pour débuter, ajoutez, déplacez ou supprimez des champs dans les différentes zones afin de tester la nouvelle interface et de visualiser les résultats. Cela vous donnera une idée des potentialités offertes par l'application.

La case à cocher "Différer la mise à jour de la disposition" permet de préparer la mise en forme du rapport et d'actualiser l'affichage uniquement lorsque vous cliquez sur le bouton "Mettre à jour". Attention, si vous décochez la case sans avoir préalablement cliqué sur le bouton "mettre à jour", vos modifications non validées ne sont pas prises en compte.

Vous pouvez toujours extraire les éléments d'une étiquette en double cliquant dans les cellules du TCD. Le détail des éléments est copié dans une nouvelle feuille, sous forme de tableau. Les tableaux facilitent ensuite le classement et l'exploitation de ces données.

III - Les zones de 'la liste de champs d'un tableau croisé dynamique'

III-A - Liste de champs

La zone "Liste de champs" contient tous les noms d'entêtes de la base de données, ainsi que les champs calculés. Ce sont donc tous les champs disponibles pour créer le tableau croisé dynamique. Vous pouvez les utiliser comme étiquette de colonnes ou de lignes, comme filtre de rapport ou en tant que champ de valeur.

Un champ coché signifie qu'il est actuellement pris en compte dans le TCD.
L'icône en forme d'entonnoir, sur la droite du nom, signifie que le champ utilisé dans le TCD contient des éléments filtrés.

Nous avons vu dans le chapitre précédent qu'il suffit de faire glisser un champ dans une zone afin de l'intégrer au rapport. Vous pouvez aussi faire un clic droit sur le nom du champ et sélectionner la destination depuis le menu contextuel.

Lorsque vous cliquez sur un nom de champ dans la liste, vous remarquerez un triangle noir qui s'affiche sur la droite. Cette petite icône donne accès aux options de tri et de filtre dans le rapport.

La liste des éléments apparait dans la partie inférieure de la boîte de dialogue. Décochez les éléments que vous ne souhaitez pas prendre en compte dans le tableau croisé dynamique.
Les outils de tri et de filtre sont identiques aux fonctionnalités de la feuille de calcul. Vous pouvez appliquer des tris d'affichage croissant ou décroissant aux étiquettes et aux valeurs, afin de mettre en avant les chiffres les plus importants de votre rapport. Les options de filtre sont aussi très nombreuses. Les filtres permettent d'afficher ou de masquer des éléments à partir des conditions que vous aurez défini, chaque type de donnée (texte, numérique ou chronologique) disposant de critères spécifiques.

Si vous cliquez sur la croix en haut et à droite de la fenêtre "la liste de champs d'un tableau croisé dynamique", celle-ci disparait. Pour la réafficher, sélectionnez une cellule du rapport, choisissez l'onglet "Options" dans le ruban, puis cliquez sur le bouton "Liste des champs", dans le groupe "Afficher/Masquer". Une deuxième solution consiste à effectuer un clic droit dans le TCD et à sélectionner l'option "Afficher la liste de champs" dans le menu contextuel.

III-B - Etiquette de colonnes

Cette zone contient les noms de champs qui vont s'afficher dans la partie supérieure du TCD (orientation de colonne). Un champ peut être ajouté ou enlevé très facilement, par un simple glisser/déposer.

Un menu déroulant (similaire pour toutes les zones) est accessible lorsque vous cliquez sur le nom du champ:

Vous pouvez cumuler plusieurs champs dans la zone étiquette de colonne. Lorsque c'est le cas, les options "Monter", "Descendre", "Déplacer au début" et "Déplacer à la fin" permettent de réordonner les champs multiples les uns par rapport aux autres. Vous pouvez aussi effectuer cette action directement en faisant un glisser/déposer des champs dans la zone "Etiquette de colonne". L'ordre des champs multiples à son importance dans la zone car celui qui est en partie supérieure va représenter le groupe principal et les champs qui suivent correspondront à des sous-groupes:
Par exemple, un groupe "Region" et un sous-groupe "Etablissement":

Les 4 options suivantes du menu déroulant provoquent le déplacement du champ dans une autre zone.

L'option "Supprimer le champ" enlève le champ de la zone.

La dernière option permet d'afficher la boîte de dialogue "Paramètres de champ", afin de gérer:
Les sous-totaux dans le rapport.
La disposition des étiquettes d'éléments.
L'insertion de sauts de ligne après chaque étiquette d'élément.
L'affichage des éléments sans données.
L'insertion de sauts de page entre chaque élément, lors de l'impression.

III-C - Etiquette de lignes

Cette zone contient les noms de champs qui vont s'afficher sur la gauche du TCD (orientation de ligne).
Les fonctionnalités du menu déroulant qui s'affiche lorsque vous cliquez sur l'étiquette de lignes, sont identiques aux étiquettes de colonne.

III-D - Valeurs

Cette zone contient les champs qui vont être synthétisés, en fonction:
Des étiquettes de ligne.
Des étiquettes de colonne.
Des filtres de rapport.
Des opérations (résumés) qui sont appliquées.

Les opérations sont spécifiées, depuis le menu "Paramètres de champ de valeurs" (accessible en cliquant sur le nom du champ) ou en ajoutant des champs calculés (voir le chapitre VI).

La boîte de dialogue "Paramètres de champ de valeurs" est composée de Deux onglets: "Synthèse par" et "Afficher les valeurs" qui contiennent les types de calcul dont vous disposez pour synthétiser les éléments d'un champ.

Nota:
Bien entendu, si vous appliquez des formules type "Moyenne" ou "Somme" à des champs textuels, le rapport affichera 0 ou une valeur d'erreur.

Les opérations courantes disponibles:
"Somme" renvoie la somme de toutes les valeurs du champ.
"Nombre" renvoie le nombre d'enregistrements dans le champ.
"Moyenne" renvoie la moyenne de toutes les valeurs de ce champ.
"Max" renvoie la plus grande valeur du champ.
"Min" renvoie la plus petite valeur du champ.
"Produit" multiplie toutes les valeurs du champ.
"Chiffres" renvoie le nombre d'enregistrements numériques dans le champ.
"Ecartype" renvoie l'écart type du champ.
"Ecartypep" renvoie l'écart type d'une population.
"Var" renvoie la variance du champ.
"Varp" renvoie la variance d'une population.

Les opérations de pourcentage:
"Normal" utilise les opérations courantes.
"% par ligne" calcule le pourcentage du total de la ligne.
"% par colonne" calcule le pourcentage du total de la colonne.
"% du total" calcule le pourcentage du total général.
"Index" calcule de manière relative ((valeur dans la cellule) x (Total général)) / ((Total général de la ligne) x (Total général de la colonne)).
"Résultat cumulé par" calcule un total cumulé pour le champ de base.
"Différence par rapport" calcule la différence en pourcentage par rapport à la valeur de l'élément de base dans le Champ de base.
"% de" calcule le pourcentage de la valeur de l'élément de base dans le Champ de base.
"Différence en % par rapport" calcule le pourcentage par rapport à la valeur de l'élément de base dans le Champ de base.

La fenêtre "Paramètres de champs" contient aussi d'autres informations et options:
Le nom du champ source.
Le nom personnalisé qui apparait dans le rapport, et que vous pouvez modifier.
Le bouton "Format de nombre" pour personnaliser les valeurs présentées dans le TCD. Le format du champ sera ainsi figé même si les données sont modifiées, ou déplacées.

Vous pouvez cumuler plusieurs synthèses du même champ dans la zone. Par exemple, glissez deux fois le champ "Resultat". Ensuite, attribuez un type de calcul à chacun (par Somme et par Nombre). Cela permet de visualiser rapidement des informations complémentaires sur le champ à analyser.

III-E - Filtre du rapport

La zone "Filtre du rapport" (équivalent du champ de page dans les versions antérieures d'Excel) sert à masquer ou afficher des sous-groupes de données dans le tableau croisé dynamique.

Sélectionnez un champ, qui va servir de filtre, dans la liste de champs ("Region" dans la capture d'écran) et effectuez un glisser/déposer vers la zone "Filtre du rapport".
De nouvelles cellules, dont une icône, s'affichent dans la feuille de calcul, juste au dessus du TCD.
Cliquez sur l'icône pour visualiser la fenêtre qui liste les éléments du champ filtre.

Les éléments décochés ne sont pas pris en compte dans le rapport.

A chaque fois que vous cochez/décochez un ou plusieurs éléments dans la liste de choix (tous, Région 01, Région 02), le tableau croisé est actualisé et présente uniquement les données filtrées correspondantes.

Une icône de filtre (image en forme d'entonnoir) est affiché dans le TCD lorsque des éléments sont filtrés.

Un icône de filtre apparait aussi sur la droite du nom, dans la fenêtre "Liste de champs de tableau croisé dynamique". Vous pouvez également filtrer le champ en cliquant sur ce bouton.

Vous pouvez également cumuler et ordonner plusieurs champs dans la zone filtre du rapport.

IV - Les onglets 'Outils de tableau croisé dynamique'

Deux onglets supplémentaires (Options et Création) apparaissent dans le ruban lorsqu'une cellule du rapport est sélectionnée.

Ces onglets donnent accès à un grand nombre d'outils pour gérer et mettre en forme les TCD. Les sous chapitres suivants décrivent les transactions disponibles depuis ces onglets.

IV-A - Description de l'onglet Options

IV-A-1 - Options du tableau croisé dynamique

La première option de ce groupe permet de lire et de modifier le nom attribué au tableau croisé dynamique.

Le bouton "Options" affiche la boîte de dialogue "Options du tableau croisé dynamique". La fenêtre est constituée de 5 onglets.

L'onglet "Disposition et mise en forme":
Fusionne et centre les cellules avec les étiquettes.
Applique un retrait aux étiquettes de lignes lorsque le rapport est en mode compacté (entre 0 et 127 caractères).
Définit l'ordre d'affichage des champs de filtre (Vers le bas, puis à droite ou À droite, puis vers le bas).
Attribue une valeur aux cellules vides. Indiquez 0 dans les champs numériques, pour fiabiliser les calculs ultérieurs.
Conserve la mise en forme des cellules lors de la mise à jour des données.

L'onglet "Totaux et filtres":
Affiche ou masque les totaux de lignes et de colonnes.
Ajoute ou supprime les éléments filtrés dans les sous-totaux.
Autorise plusieurs filtres par champ (pour utiliser toutes les valeurs dans les sous-totaux et les totaux généraux, sinon le calcul ne prendra pas en compte les éléments masqués/filtrés).

L'onglet "Affichage":
Affiche ou masque les boutons Développer/Réduire.
Affiche ou masque les info-bulles qui apparaissent lorsque vous passez la souris sur une cellule valeur dans le rapport.
L'info-bulle renvoie le nom du champ, la valeur, ainsi que les noms d'étiquettes de ligne et de colonne.
Affiche ou masque les info-bulles qui apparaissent lorsque vous passez la souris sur les éléments des étiquettes.
L'option "Disposition classique ..." définit le type de TCD à utiliser. Consultez le chapitre IX-E pour plus de détails.
Affiche ou masque les éléments de ligne qui ne contiennent pas de valeur.

L'onglet "Impression":
Imprime les boutons Développer/Réduire. Il est préférable de décocher cette option pour améliorer la lisibilité de l'impression.
Répète les étiquettes de lignes sur chaque page imprimée.
L'option "Définir les titres d'impression" répète les en-têtes de colonnes, de lignes et les étiquettes des colonnes pour toutes les pages imprimées.

L'onglet "Données":
L'option "Enregistrer les données sources avec le fichier" sauvegarde les données de la source externe avec le classeur.
Consultez le chapitre VII pour plus de détails sur la gestion des données externes.
Utilisez "Activer le développement des détails" pour extraire et afficher les données de détail dans une nouvelle feuille de calcul.
Actualise les données lors de l'ouverture du fichier.

L'option "Afficher les pages de filtre du rapport" est dégrisée lorsque votre TCD contient un filtre de rapport (champ de page).
Sélectionnez le champ de filtre dans la fenêtre et cliquez sur le bouton OK.
Chaque élément du champ filtre est alors copié dans une nouvelle feuille de calcul, sous forme de tableau croisé dynamique distinct. Vous obtenez ainsi le détail de chaque élément du champ filtre.

La dernière option, "Générer l'extraction de données croisées dynamiques" définit si la fonction LIREDONNEESTABCROISDYNAMIQUE doit être créée automatiquement lorsque vous faites référence à une cellule du rapport. Consultez le chapitre VIII pour plus de détails.

IV-A-2 - Champ actif

Vous pouvez lire ou modifier le nom du champ actif depuis la zone de saisie ("Region" dans la capture d'écran).

Lorsque vous sélectionnez des étiquettes de ligne ou de colonne, les deux boutons contenant un "plus vert" et un "moins rouge" sont dégrisés. Le 'Plus' développe tous les éléments du champ actif et le 'Moins' réduit tous les éléments du champ actif.
Cela revient à cliquer sur tous les boutons de développement dans le rapport.

Le bouton "Paramètres de champs" affiche la boîte de dialogue du même nom, en fonction de la cellule active.

IV-A-3 - Groupe

Le bouton "Grouper la sélection" crée un ensemble à partir des éléments que vous sélectionnez dans le rapport.
Lorsque vous développez le groupe chaque valeur d'élément s'affiche séparément. Quand le groupe est réduit, le TCD affiche le total des éléments constitutifs.

Le bouton "Dissocier" permet de supprimer le groupe sélectionné.

Le bouton "Grouper les champs" permet de synthétiser des éléments de type numérique ou Date dans le rapport.
Sélectionnez par exemple une date dans le TCD puis cliquez sur le bouton "Gouper les champs":
Choisissez le type de regroupement (par mois).

Le tableau croisé dynamique renvoie ensuite les éléments regroupés par mois:

Vous pouvez sélectionner plusieurs options de groupe en même temps.
Cliquez sur le bouton "Dissocier" pour supprimer les groupes de dates.

Les éléments numériques peuvent être regroupés de la même manière. Exemple pour regrouper des valeurs par dizaine:

IV-A-4 - Trier

Le groupe "Trier" permet de trier la sélection par ordre croisant ou décroissant. Si vous avez un doute sur le résultat (en fonction de la cellule sélectionnée), cliquez préalablement sur le bouton "Tri par valeur". La fenêtre contient une description du tri qui va être effectué.

IV-A-5 - Données

Le bouton "Actualiser" possède 5 options:
* Actualiser le TCD actif.
* Actualiser tous les TCD.
* Etat de l'actualisation.
* Annuler l'actualisation.
* Propriétés de connexion (pour les sources de données externes).

Le bouton "Changer la source" permet de modifier la référence à la base de données et de modifier les propriétés de connexion aux sources externes.

IV-A-6 - Actions

Le bouton "Effacer" contient deux options qui suppriment la totalité du tableau croisé dynamique ou efface tous les filtres du rapport.

Le bouton "Sélectionner" permet d'activer rapidement certaines cellules du rapport:
* Les étiquettes et les valeurs.
* Les étiquettes seules.
* Les valeurs seules.
* La totalité du tableau croisé dynamique.

Vérifiez que l'option "Activer la sélection" est activée et que le TCD complet est sélectionné afin de dégriser les menus.

Le bouton "Déplacer le tableau croisé dynamique" modifie l'emplacement du rapport vers une autre cellule du classeur ou vers une nouvelle feuille. Cette méthode permet de conserver vos mises en forme personnalisées de cellules après le déplacement.

IV-A-7 - Outils

Le premier bouton crée un graphique croisé dynamique à partir des données du TCD.

Le bouton "Formules" gère:
Les champs calculés (consultez le chapitre VI).
Les éléments calculés.
L'ordre de résolution (sert à définir l'ordre de calcul lorsque vous utilisez plusieurs éléments calculés dans le TCD.).
La liste des formules (énumère et détaille tous les champs et éléments calculés, dans une nouvelle feuille de calcul).

Le bouton "Outils OLAP" permet de manipuler un tableau croisé dynamique connecté à une source de données OLAP.

IV-A-8 - Afficher/Masquer

Le bouton "Liste des champs" masque et affiche la fenêtre "Liste de champs de tableau croisé dynamique". Le paramètre "masqué" empêche l'affichage automatique de la fenêtre lorsqu'une cellule du rapport est sélectionnée.

"Boutons +/-" permet d'afficher ou de masquer les boutons développer/réduire dans le rapport.

L'option "En-tête de champ" masque et affiche les en-têtes de champs des lignes et des colonnes.

IV-B - Description de l'onglet Création

IV-B-1 - Disposition

Le bouton "Sous totaux" permet de:
Ne pas afficher les sous-totaux.
Afficher tous les sous-totaux au bas du groupe.
Afficher tous les sous-totaux au haut du groupe.

Le bouton "Totaux généraux" permet de:
Désactiver pour les lignes et les colonnes.
Activer pour les lignes et les colonnes.
Activer pour les lignes uniquement.
Activer pour les colonnes uniquement.

Le bouton "Disposition du rapport" définit le type de tableau croisé dynamique.
Le mode compactée est le format par défaut sous Excel2007.
En mode Plan, chaque étiquette de ligne dispose de sa propre colonne.
Le mode tabulaire affiche les données sous forme de tableau.

Le bouton "Lignes vides" insère ou supprime un saut de ligne entre chaque groupe d'éléments. L'insertion de lignes aère et améliore la présentation du rapport.

IV-B-2 - Options de style de tableau croisé dynamique

Les cases à cocher définissent le comportement du style appliqué au TCD (Le chapitre suivant montre comment choisir un style). Ces options facilitent la mise en page et la lecture du rapport.

"En-têtes de lignes" affiche une mise en forme sur la première ligne du rapport.

"En-têtes de colonnes" affiche une mise en forme particulière sur la première colonne du rapport.

"Lignes à bandes" permet d'appliquer des couleurs différentes entres les lignes paires et impaires du rapport.

"Colonnes à bandes" permet d'appliquer des couleurs différentes entres les colonnes paires et impaires du rapport.

IV-B-3 - Styles de tableau croisé dynamique

Cette option permet de choisir un style de présentation parmi une large palette de formats prédéfinis.

Cliquez dans l'angle inférieur droit du menu déroulant pour afficher les différents styles.

Vous apprécierez la prévisualisation instantanée du rapport lorsque le curseur de la souris passe sur les styles disponibles.

Vous pouvez aussi supprimer un style dans la liste ou ajouter un style personnalisé afin, par exemple, de respecter une charte graphique. Un style personnalisé peut être défini en tant que style rapide de tableau croisé par défaut, pour le document spécifié.

V - Le menu contextuel du rapport

Le menu contextuel est la barre flottante qui apparait lorsque vous effectuez un clic droit et qu'une cellule du tableau croisé dynamique est sélectionnée. Les éléments du menu peuvent être différents en fonction que vous cliquez sur une valeur ou sur une étiquette. Ce menu permet d'accéder rapidement à certaines transactions du TCD.

Exemple de menu contextuel sur une valeur:

Exemple de menu contextuel sur une étiquette de ligne:

L'option "Copier" permet de placer dans le presse-papier la cellule ou la plage sélectionnée.

L'option "Format de cellule" affiche la boîte de dialogue pour la mise en forme des cellules.

L'option "Format de nombre" affiche la boîte de dialogue pour la mise en formes des cellules dans le TCD (identique au bouton du même nom dans la fenêtre "Paramètres de champs de valeurs").

L'option "Actualiser" rafraichit l'affichage du TCD en fonction des modifications apportées à la source de données.

L'option "Trier" classe les étiquettes par ordre croissant ou décroissant.

L'option "Supprimer" efface l'étiquette spécifiée dans le menu contextuel ("Nombre de produit" et "Etablissement" dans les captures d'écran ci-dessus).
Vous constaterez qu'après validation, l'élément disparait aussi dans la zone "Etiquette de lignes" de la fenêtre "Liste de champ de tableau croisé dynamique".

L'option "Synthétiser les données par" permet de modifier le type d'analyse appliqué à vos données: somme, nombre, nb, moyenne, produit, chiffres, max, min, ecarttype, ecarttypep, var, varp.
Vous pouvez afficher la boîte de dialogue "Paramètres des champs de valeurs" depuis ce menu.

L'option "Afficher les détails" écrit dans une nouvelle feuille, sous forme de tableau, les données associées au champ sélectionné. C'est l'équivalent du double clic dans une cellule du rapport.
Ce tableau n'est pas lié à la source de données et n'est pas de mis à jour lorsque vous modifiez ensuite le rapport.

L'option "Paramètres des champs de valeurs" affiche la boîte de dialogue du même nom (voir chapitre III).

"Options du tableau croisé dynamique" affiche la boîte de dialogue du même nom (consultez le chapitre IV-A-1).

L'option "Masquer/Afficher la liste de champs" gère la fenêtre "Liste de champs de tableau croisé dynamique".
Nous avons vu au début de l'article que la fenêtre "Liste de champs de tableau croisé dynamique" s'affiche automatiquement quand vous cliquez sur une cellule du rapport. La boîte de dialogue reste cachée si l'option "Masquer la liste de champs" est activée.

L'option "Filtrer" applique ses critères sur l'étiquette sélectionnée.

L'option "Sous-total de" masque ou démasque toutes les valeurs de sous total dans tableau croisé dynamique. Une cellule d'étiquette de sous-total doit être préalablement sélectionnée.

L'option "Développer/Réduire" masque ou démasque les éléments du groupe sélectionné.

L'option "Grouper" crée un groupe à partir des éléments sélectionnés dans le rapport.
Consultez le chapitre IV-A-3 pour plus de détails.

L'option "Dissocier" supprime le groupe sélectionné.
Consultez le chapitre IV-A-3 pour plus de détails.

L'option "Déplacer" repositionne les éléments les uns par rapport aux autres. Vous pouvez ainsi finaliser l'affichage du rapport si les paramètres par défaut ne vous conviennent pas.

VI - Les champs et éléments calculés

Si les formules prédéfinies ne sont pas suffisantes pour synthétiser les champs de valeurs, vous avez la possibilité de créer des fonctions personnelles adaptées à votre projet. Ces formules sont appelées champs calculés et éléments calculés.

Les champs calculés sont basés sur les données des autres champs.
Pour créer la formule,
Sélectionnez l'onglet "Options" dans le ruban.
Cliquez sur le bouton "Formules" dans le groupe "Outils".
Choisissez l'option "Champ calculé".
Attribuez un nom convivial à votre formule, dans la zone "Nom", par exemple "CoefResultat". C'est également dans ce menu déroulant que vous sélectionnez un champ calculé existant afin de le modifier ou de le supprimer.
Créez la fonction personnelle dans la zone "Formule". Vous pouvez faire référence aux autres champs du rapport en les sélectionnant dans la liste, puis en cliquant sur le bouton "Insérer un champ".
Un exemple qui intègre 12% supplémentaires aux valeurs du champ "Resultat":
=Resultat+((Resultat*12)/100)
Cliquez sur le bouton "Ajouter" pour que le champ calculé soit intégré à la liste des champs.
Cliquez sur le bouton OK pour valider.

Un nouveau champ nommé "CoefResultat" apparait dans le tableau croisé dynamique, et les valeurs sont augmentées de 12% comparées au champ "Resultat".
Vous constatez que le nom est aussi ajouté dans la liste de champs.

Les éléments calculés sont basés sur le contenu des éléments d'un champ. Un nouvel élément est ainsi ajouté au champ spécifié.
Si votre TCD contient des groupes, ceux-ci doivent être provisoirement dissociés, le temps de créer le nouvel l'élément calculé.
Pour ajouter une formule,
sélectionnez un élément dans les étiquettes de ligne ou de colonne ("Reference 02" dans notre exemple).
Attribuez un nom convivial à votre formule, dans la zone "Nom", par exemple "Ref 02 remise". C'est également dans ce menu déroulant que vous sélectionnez un élément calculé existant afin de le modifier ou de le supprimer.
Créez la fonction personnelle dans la zone "Formule". Les formules doivent faire référence à des éléments du même champ que l'élément calculé.
Un exemple qui applique une remise de 20% aux valeurs de l'élément "Reference 02":
='Reference 02'-(('Reference 02'*20)/100)
Cliquez sur le bouton "Ajouter" pour que l'élément calculé soit intégré à la liste des éléments.
Cliquez sur le bouton OK pour valider.

Un nouvel élément nommé "Ref 02 remise" apparait dans le tableau croisé dynamique, et les valeurs sont réduites de 20% comparées au champ "Reference 02".

Pensez à la gestion des totaux et au filtre d'éléments lorsque vous ajoutez un élément calculé, dans certains cas de figure. Dans l'exemple précédent, la fonction SOMME est utilisée pour le champ de valeur "Resultat". Les éléments "Reference 02" et "Ref 02 remise" seront donc cumulés dans le total si vous n'appliquez pas de filtre sur un des deux éléments. Ce qui bien entendu n'est pas logique.

VII - Utiliser une source de données externe

Une source externe peut être une table Access, un autre classeur Excel fermé (une feuille de calcul ou une plage nommée)...

Sélectionnez l'onglet "Insertion" dans le ruban.
Cliquez sur le bouton "Tableau croisé dynamique" dans le groupe "Tableaux". Sélectionnez l'option "Utiliser une source de données externe".
Cliquez sur le bouton "Choisir la connexion".
Cliquez sur le bouton "Rechercher".
Sélectionnez le type de fichier dans le menu déroulant puis recherchez votre fichier source sur le PC.
Cliquez sur le bouton "Ouvrir".
Choisissez la table.

Cliquez sur le bouton OK dans la boîte de dialogue "Sélectionner le tableau".
Cliquez sur le bouton OK dans la boîte de dialogue "Créer un tableau croisé dynamique".
La connexion est établie et il ne vous reste plus qu'à mettre en forme le rapport de façon classique.

Vous pouvez accéder aux paramètres de connexion (lecture, modification et suppression) depuis le ruban: Sélectionnez l'onglet "Données", dans le groupe "Connexions".
Le bouton "Propriétés" est intéressant, et tout particulièrement l'onglet "Définition" car vous y trouverez la syntaxe à utiliser si vous désirez réaliser le même travail en VBA.

L'onglet "Utilisation" contient les options pour l'actualisation automatique de la source:
En arrière plan.
Toutes les xx minutes.
Lors de l'ouverture du classeur.

La mise à jour à chaque ouverture peut aussi être paramétrée directement depuis le TCD:
Affichez la boîte de dialogue "Options du tableau croisé dynamique".
Sélectionnez l'onglet "Données".
Cochez l'option "Actualiser les données lors de l'ouverture du classeur".
Cliquez sur le bouton OK pour valider.

VIII - La fonction LIREDONNEESTABCROISDYNAMIQUE

La fonction LIREDONNEESTABCROISDYNAMIQUE permet d'extraire le contenu d'un TCD.

La formule peut être mise en oeuvre très facilement:
Choisissez une cellule à l'extérieur du TCD et insérez y le signe égal (=). Ensuite, sélectionnez une valeur dans le tableau croisé dynamique ($C$5 dans la capture d'écran suivante), puis validez.

Vous obtenez un résultat similaire à la formule suivante:
=LIREDONNEESTABCROISDYNAMIQUE("Resultat";$A$3;"Region";"Région 02";"Produit";"Reference 01")
Renvoie la somme du champ "Resultat", correspondant à l'élément "Reference 01" du champ "Produit", pour l'élément "Région 02" du champ "Region".

La syntaxe de la fonction (information issue de l'aide Microsoft Excel) est:
LIREDONNEESTABCROISDYNAMIQUE(champ_données,tableau_croisé_dyn,champ1,élément1,champ2,élément2,...)

champ_données est le nom du champ de données contenant les données à extraire.

tableau_croisé_dyn représente une référence à n'importe quelle cellule, plage de cellules ou plage nommée du tableau croisé dynamique. Cet argument permet de spécifier sur quel TCD va être appliquée la formule.
Utilisez la fonction INDIRECT si vous ne souhaitez pas indiquer l'emplacement du TCD mais faire référence à une autre cellule qui contient l'argument tableau_croisé_dyn (par exemple En H1):
=LIREDONNEESTABCROISDYNAMIQUE("Resultat";INDIRECT(H1);"Region";"Région 02";"Produit";"Reference 01")

champ1, élément1, champ2, élément2 représentent de 1 à 126 paires de noms de champ et d'élément qui décrivent les données que vous souhaitez extraire. Les paires peuvent apparaître dans n'importe quel ordre. Les noms de champ et les noms d'éléments autres que des dates et des nombres sont entourés de guillemets.

La fonction renvoie une erreur #REF! si un nom de champ ou d'élément est inexistant dans le tableau croisé dynamique.

Vous pouvez également utiliser la boîte de dialogue "Arguments de la fonction", si besoin pour créer votre formule:

Nota:
La méthode GetData permet de lire le contenu du rapport par macro:

Vba

MsgBox ActiveSheet.PivotTables("Tableau croisé dynamique1").GetData("'Somme de Resultat' " & _
"'Region' 'Région 02' 'Produit' 'Reference 01'")

Pour désactiver l'option de création automatique de la formule LIREDONNEESTABCROISDYNAMIQUE lorsque vous faites référence à une cellule du rapport:
Sélectionnez le TCD.
Sélectionnez l'onglet "Options" dans le ruban.
Cliquez sur le bouton "Options du tableau croisé dynamique".
Ouvrez le menu déroulant "Options".
Décochez l'option "Générer l'extraction de données croisées dynamiques".

Une autre solution pour désactiver cet outil:
Cliquez sur le bouton "Office".
Cliquez sur le menu "Formules".
Décochez l'option "Utiliser les fonctions LIREDONNEESTABCROISDYNAMIQUE pour les références à des tableaux croisés dynamiques".
Cliquez sur le bouton OK pour valider.

IX - Trucs et astuces

IX-A - Remplacer les cellules vides par des zéros

Sélectionnez l'onglet "Options".
Cliquez sur le bouton "Options du tableau croisé dynamique".
Options.
Sélectionnez l'onglet "Disposition et mise en forme".
Dans le champ "Pour les cellules vides, afficher:", assurez vous que l'option est cochée puis saisissez la valeur 0.
Cliquez sur le bouton OK pour valider.

IX-B - Comment utiliser l'ancienne interface pour créer un TCD

Cette question revient souvent suite au passage à Excel2007, et peut être intéressante, notamment pour gérer les sources de données multi feuilles.
En fait il suffit d'ajouter le bouton "Assistant tableau croisé dynamique" dans la barre d'outils accès rapide.

Cliquez sur le bouton "Office".
Cliquez sur le bouton "Options Excel".
Sélectionnez l'option "Personnaliser".
Dans le menu déroulant "Choisir les commandes dans les catégories...", sélectionnez l'option "Commandes non présentes dans le ruban".
Recherchez la commande "Assistant tableau croisé dynamique".
Sélectionnez la commande et cliquez sur le bouton "Ajouter" pour qu'il apparaisse dans la barre d'outils d'accès rapide.
Cliquez sur le bouton OK pour valider.

IX-C - Créer un rapport à partir de sources multi classeurs

C'est possible en utilisant l'assistant de création des TCD (chapitre IX-B):
Les données de chaque classeur sont supposées dans une plage nommée "PlageSource".
Etape 1, sélectionnez l'option "Plages de feuilles de calcul avec étiquettes".
Cliquez sur le bouton "Suivant" (2 fois, jusqu'à l'étape 2b).

Vous pouvez sélectionner vos classeurs source en cliquant sur le bouton "Parcourir".
Complétez le nom de la plage nommée avant de cliquer sur le bouton "Ajouter", pour obtenir une syntaxe dans la style:
'C:\Documents and Settings\mimi\dossier\Classeur1.xls'!PlageSource
Sélectionnez les classeurs, complétez la plage nommée et cliquez sur le bouton "Ajouter" autant de fois que vous avez de classeurs sources.
Ensuite, cliquez sur le bouton "Suivant".
Précisez la cellule de destination pour le tableau croisé.
Cliquez sur le bouton "Terminer".

Le TCD qui s'affiche contient notamment un champ de page permettant de filtrer les classeurs sources.

IX-D - Définir la source dynamiquement

Tout comme dans les versions précédentes d'Excel, la fonction DECALER est pratique pour redéfinir automatiquement la plage de données source, si vous utilisez un nombre de lignes ou de colonnes variables. La plage nommée est modifiée en fonction du nombre de cellules non vides.

Activez la feuille contenant la source.
Sélectionnez l'onglet "Formules" dans le ruban.
Cliquez sur le bouton "Définir un nom" dans le groupe "Noms définis".
Dans le champ "Nom", attribuez un nom à la plage de cellules (par exemple NomPlage).
Assurez-vous que "Classeur" est sélectionné dans le menu déroulant "Zone".
Dans le champ "Fait référence à:", indiquez la formule suivante:
=DECALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$H$1))
Cet exemple limite la base de données de la colonne A jusqu'à H, et jusqu'à 2000 lignes.
Cliquez sur le bouton sur OK pour valider.

Vous pouvez ensuite utiliser le nom pour définir l'emplacement des données (2ème étape lorsque vous créez le tableau croisé dynamique).
=NomPlage

IMPORTANT:
Il doit impérativement y avoir des étiquettes dans toutes les colonnes spécifiées.

Pour utiliser la même formule sans limite de lignes et de colonnes:
=DECALER($A$1;;;NBVAL($A:$A);NBVAL($1:$1))

Privilégiez l'utilisation des références absolues.
La base de données ne doit pas contenir de cellules vides dans la première ligne d'en-tête.
Un enregistrement peut être vide, sauf dans la première colonne de gauche.
Il est préférable de démarrer la base de données dans la cellule A1.
Ne créez pas deux tableaux sur la même ligne.
Vous pouvez utiliser la même feuille pour plusieurs tables "mono-champs" (sur une colonne), en passant 1 comme cinquième paramètre de la fonction DECALER. Vous déterminez de cette manière une plage d'une seule colonne. Ainsi, si vous devez gérer des catégories de produits et des catégories de clients, par exemple, indiquez les catégories de produits en colonne A, les catégories de clients en colonne B, puis utilisez:
Catégories de produits =DECALER($A$1;1;0;NBVAL($A:$A)-1;1)
Catégories de clients =DECALER($B$1;1;0;NBVAL($B:$B)-1;1)

Il aussi possible de remplacer la fonction DECALER par des Tableaux. Utilisez les caractéristiques de l'outil 'Tableau' pour définir aisément les données source. La plage de cellules sera ainsi redéfinie automatiquement en fonction de l'ajout ou de la suppression d'enregistrements.

IX-E - Faire des glisser/déposer vers le rapport

Si vous désirez effectuer des glisser/déposer de la liste de champs directement vers le rapport dans la feuille de calcul, comme dans les anciennes versions d'Excel:
Faites un clic droit dans le TCD.
Choisissez "Options du tableau croisé dynamique" dans le menu contextuel.
Sélectionnez l'onglet "Affichage".
Cochez l'option "Disposition classique du tableau croisé dynamique (glisser de champs dans la grille)".
Cliquez sur le bouton OK pour valider.

IX-F - Appliquer une mise en forme conditionnelle dans le rapport

Sélectionnez les cellules correspondant aux étiquettes de valeur dans le rapport.
Sélectionnez l'onglet "Accueil" dans le ruban.
Cliquez sur le bouton "Mise en forme conditionnelle" dans le groupe "Style".
Bien que les nombreux critères prédéfinis soient disponibles, privilégiez "Nouvelle règle" dans le menu déroulant.
En effet, comme vous le constatez dans la boîte de dialogue, "Cellules sélectionnées" est l'option par défaut et peut provoquer des mises en formes fantaisistes si vous choisissez des critères prédéfinis.
Sélectionnez donc la troisième option qui prend en compte les étiquettes de lignes et de colonnes.

Ensuite, choisissez la mise en forme à appliquer, puis validez.

X - Conclusion

Cet article est une présentation très générale des tableaux croisé dynamique dans Excel 2007.
Nous avons vu une infime partie de ce qu'il est possible de réaliser grâce aux TCD. Les limites de capacité ont été repoussées et les paramètres de mises en forme améliorés. La puissance et les nombreuses options en font un outil indispensable pour l'analyse et la synthèse de vos données.

XI - Liens

La FAQ Excel.

Utilisation de différents formats de tableau croisé dynamique dans Office Excel.

Options du tableau croisé dynamique.

Features that are not supported in Office Excel 2007.

XII - Remerciements

Je remercie toute l'équipe Office de DVP et particulièrement Philippe Jochmans, Jeannot45 pour la relecture et la correction du tutoriel.

XIII - Téléchargement

Téléchargez le classeur qui a servi de support pour les captures d'écran.