Tableau croisé dynamique
Un article de Wikipédia, l'encyclopédie libre.
Cet article est une ébauche à compléter concernant les logiciels, vous pouvez partager vos connaissances en le modifiant. |
Un tableau croisé dynamique est une fonctionalité de certains tableurs qui permet de générer une synthèse d'une table de données brutes. Cela permet de créer des mises en forme de tableaux en choisissant les différents champs voulus, en abscisses ou en ordonnées.
La base de départ est une plage de cellules où chaque ligne correspond à un enregistrement (tableau du haut dans l'image). Dans le cas de l'exemple donné dans l'image c'est la plage "A1:E16". La première ligne de la plage est constituée des titres des champs (entête des colonnes en gras).
C'est avec ces titres de champs, que l'on sélectionne ou pas, qu'on arrange le tableau croisé dynamique (tableau du bas). On fait glisser les champs soit dans une colonne soit dans une ligne du modèle. Il existe un ordre des champs dans les lignes et les colonnes.
Un champ à faire glisser constituera les données du tableau croisé.
Dans l'exemple sur l'image, les champs "fournisseur" et "prix" ont été mis en ligne, les champs "Genre" et "taille" en colonne, dans cet ordre respectivement et le champ "Quantité" a été mis pour constituer les données.
Nota : Les sous-totaux des lignes et des colonnes ont été désactivés pour plus de lisibilité du tableau servant d'exemple.
Le tableau est dit croisé parce que l'on met des données à l'intersection (le "croisement") entre des champs disposés en ligne et en colonne.
Il est dynamique, parce que l'on peut apporter des changements à la table des données brutes, il suffit de demander de "rafraîchir" pour que le tableau croisé soit actualisé. On peut aussi vouloir rééditer la position des différents champs, ce qui re-générera le tableau.
Sommaire |
[modifier] Sous MS Excel
Sous Excel, le tableau croisé dynamique est généré grâce à un assistant appelé à partir du menu Données/Rapport de tableau croisé dynamique.
[modifier] Grâce à un langage de programmation
Les tableux croisés dynamiques peuvent être mis en oeuvre directement via un language de programmation, comme dans le cas du langage Oberon ou via un langage de macro utilisant les objets d'un tableur.
[modifier] Macro en VBA
Il est possible d'enregistrer une macro en Visual Basic for Applications dans Excel lors de la génération d'un tableau croisé dynamique. Le code généré peut être édité et modifié pour contrôler la formation du tableau.
Il faut commencer par sélectionner une plage de cellules :
Range("A1:E16").Select
Puis il faut créer le tableau. L'objet associé s'appelle PivotTables :
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= "Feuil1!R1C1:R16C5").CreatePivotTable TableDestination:="", TableName:= "Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion10
On donne alors une destination à ce tableau croisé dynamique :
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
Cet objet PivotTables est un conteneur des objets PivotFields, représentant les champs ajoutés, dont on peut choisir les propriétés :
- .orientation (arguments : =xlRowField xlColumnField ou xlHidden), pour choisir si le champ est mis en ligne, en colonne ou non utilisé,
- .position (=1 , 2 ,3 ...), pour choisir la position du champ dans la ligne ou la colonne,
- .Subtotals = Array(False, False, False, False, False, ...), pour masquer les différents sous-totaux,
Il existe enfin une méthode .AddDataField permettant d'ajouter un certain champ (PivotFields) en tant que données à l'objet PivotTables. On donne deux arguments séparé par une virgule : le "Nom du champ" et xlSum,
[modifier] Liens externes
Paquetages logiciel permettant de manipuler les tableaux croisés dynamiques :