Excel - Power Query - Power Pivot - VBA
Tableaux croisées dynamiques

icon picker
TCD multi tables

Depuis la version 2013 d’Excel, il est possible de faire des TCD avec des champs provenant de différentes tables.

Données de l’exemple

Exemple avec 2 tables (ou plages) d’un même fichier Excel :
Clic droit > Download sur ce lien :
GonzagueDUCOS_SupportExcel_Exercice003.xlsx
18.1 kB
La table tblVente :
image.png
et la table tblClient :
image.png
On souhaite obtenir la somme de la colonne Montant, par Zone du client, sans calcul avec la fonction RECHERCHEV :
image.png

Créer le TCD

Dans un classeur vide :
Données > Obtenir les données > A partir d’un fichier > A partir d’un Classeur Excel
Sélectionner le fichier Excel contenant la source.
Dans la fenêtre Navigation, cocher Sélectionner plusieurs éléments puis cocher les Tables que l’on souhaite utiliser dans le TCD et cliquer sur Charger.
image.png
Un volet Requêtes et connexions s’affiche à droite :
image.png
Insertion > Tableau Croisé Dynamique > A partir de Data Model
Si cette commande ne s’affiche pas (le bouton TCD ne s’affiche pas), cliquer sur Insertion > Tableau Croisé Dynamique, vérifier que Utiliser le modèle de données est coché).
Dans la volet TCD, cliquer au besoin sur Tous. Faites glisser le champ Montant dans la zone Valeur et le champ Zone dans la zone Lignes :
image.png
Le résultat produit est faux, car il n’y a pas de relation entre les 2 tables. Cliquer sur Détecter automatiquement :
image.png

Créer ou modifier une relation

Une autre façon de créer (ou modifier) des relations consiste à utiliser le module Power Pivot :
Données > Gérer le modèle de données :
image.png
Dans la fenêtre Power Pivot qui s’ouvre : Accueil > Vue de diagramme. Faites glisser le champ Client de table tblClient vers le champ Client de la table tblVente :
GonzagueDUCOS_SupportExcel_Exercice003_CreerRelations.gif
Fermer la fenêtre Power Pivot (aucun message d’avertissement ne s’affiche).

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.