Classe PivotTable (Excel VBA)

Cet objet représente un rapport de tableau croisé dynamique dans une feuille de calcul.

Les procédures principales de la classe PivotTable sont AddDataField, AddFields, PivotTables.Add et SlicerPivotTables.AddPivotTable

Set

Pour utiliser une variable de classe PivotTable, elle doit d'abord être instanciée, par exemple

Dim pvt as PivotTable
Set pvt = ActiveCell.PivotTable

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe PivotTable : PivotCache.SourceData, PivotCache.CreatePivotTable, PivotCell.Parent, PivotCell.PivotTable, PivotFields.Parent, PivotLayout.PivotTable, PivotTableChangeList.Parent, PivotTables.Item, PivotTables.Add, Range.PivotTable, SlicerPivotTables.Item, Worksheet.PivotTableWizard, Workbook.PivotTables, Worksheet.PivotTables et SlicerCache.PivotTables

For Each

Voici un exemple de traitement des éléments PivotTable dans une collection

Dim pvt As PivotTable
For Each pvt In Application.PivotTables
	
Next pvt

Thèmes

Certaines procédures de cette classe ont été regroupées en thèmes et sont décrites sur des pages thématiques séparées

Add with its procedures AddDataField, AddFields, PivotTables.Add et SlicerPivotTables.AddPivotTable
Value with its procedures AllocationValue, RefreshDataSourceValues et Value
Column with its procedures ColumnFields, ColumnGrand, ColumnRange et PivotColumnAxis
Row with its procedures CompactRowIndent, PivotRowAxis, RowFields, RowGrand et RowRange
Formula with its procedures ConvertToFormulas, ListFormulas et PivotFormulas
Display/Show with its procedures DisplayContextTooltips, DisplayEmptyColumn, DisplayEmptyRow, DisplayErrorString, DisplayFieldCaptions, DisplayImmediateItems, DisplayMemberPropertyTooltips, DisplayNullString, ShowDrillIndicators et ShowValuesRow
Enable with its procedures EnableDataValueEditing, EnableDrilldown, EnableFieldDialog, EnableFieldList, EnableWizard et EnableWriteback
Sort/Order with its procedures FieldListSortAscending et SortUsingCustomLists
Name with its procedures GrandTotalName et RefreshName
Print with its procedures PageFieldOrder, PageFields, PageFieldStyle, PageFieldWrapCount, PageRange, PageRangeCells, PrintDrillIndicators, PrintTitles, RepeatItemsOnEachPrintedPage, ShowPageMultipleItemLabel, ShowPages et SubtotalHiddenPageItems

Méthodes

Autre Méthodes

AllocateChanges - Effectue une opération de réécriture pour toutes les cellules modifiées dans un rapport de tableau croisé dynamique basé sur une source de données OLAP.

CalculatedFields - Renvoie une collection CalculatedFields qui représente tous les champs calculés du rapport de tableau croisé dynamique spécifié. En lecture seule.

ChangeConnection - Modifie la connexion de l’objet PivotTable spécifié.

ChangePivotCache - Modifie l’objet PivotCache du tableau croisé dynamiquespécifié.

ClearAllFilters - La méthode ClearAllFilters, supprime tous les filtres actuellement appliqués au tableau croisé dynamique. Cela inclut la suppression de tous les filtres de la collection PivotFilters , la suppression d’un filtrage manuel appliqué et l’affectation de l’élément par défaut à tous les champs PivotField de la zone de filtre de rapport.

ClearTable - La méthode ClearTable, est utilisée pour effacer un tableau croisé dynamique. L’effacement de tableaux croisés dynamiques inclut la suppression de tous les champs et la suppression de tous les filtres et tris appliqués aux tableaux croisés dynamiques. Cette méthode réinitialise le tableau croisé dynamique à l’État qu’il avait juste après sa création, avant d’y ajouter des champs.

CommitChanges - Effectue une opération de validation sur la source de données d’un rapport de tableau croisé dynamique basé sur une source de données OLAP.

CreateCubeFile - Cette méthode crée un fichier de cube à partir d'un rapport de tableau croisé dynamique connecté à une source de données OLAP (Online Analytical Processing).

DiscardChanges - Ignore toutes les modifications apportées dans les cellules modifiées d’un rapport de tableau croisé dynamique reposant sur une source de données OLAP.

DrillDown - Vous permet d’explorer les données dans une hiérarchie de cubes basée sur OLAP ou PowerPivot.

DrillTo - Vous permet d’explorer un emplacement dans une hiérarchie de cubes basée sur OLAP ou PowerPivot.

DrillUp - Vous permet d’explorer les données dans une hiérarchie de cubes basée sur OLAP ou PowerPivot.

GetData - Renvoie la valeur des données contenues dans un tableau croisé dynamique.

GetPivotData - Renvoie un objet Range avec des informations sur un élément de données dans un rapport de tableau croisé dynamique.

PivotCache - Renvoie un objet PivotCache qui représente le cache du rapport de tableau croisé dynamique spécifié. En lecture seule.

PivotFields - Renvoie un objet qui représente soit un seul champ de tableau croisé dynamique (un objet PivotField ), soit une collection des champs visibles et masqués (un objet PivotFields ) dans le rapport de tableau croisé dynamique. En lecture seule.

PivotSelect - Cette méthode sélectionne une partie d'un rapport de tableau croisé dynamique.

PivotTableWizard - Crée et renvoie un objet PivotTable . Cette méthode n’affiche pas l’Assistant Tableau croisé dynamique. Cette méthode n’est pas disponible pour les sources de données OLE DB. Utilisez la méthode Add pour ajouter un cache de tableau croisé dynamique, puis créez un rapport de tableau croisé dynamique basé sur le cache.

PivotValueCell - Récupérez l’objet pivotvaluecell, pour un tableau croisé dynamique donné en précisant certains index de ligne et de colonne.

RefreshTable - Actualise le rapport de tableau croisé dynamique à partir des données sources. Renvoie la valeur true si elle réussit.

RepeatAllLabels - Spécifie s’il faut répéter les étiquettes d’éléments pour tous les champs de tableau croisé dynamique dans le tableau croisé dynamique spécifié.

RowAxisLayout - Cette méthode est utilisée pour définir simultanément les options de disposition de tous les champs PivotField existants.

SubtotalLocation - Cette méthode modifie l'emplacement du sous-total pour tous les champs de tableau croisé dynamique existants. Cela n'a un impact visuel immédiat que pour les champs présentés sous forme hiérarchique, mais les champs présentés sous forme tabulaire sont également concernés.

Update - Cette méthode met à jour le rapport de tableau croisé dynamique.

PivotTables.Item - Cette méthode renvoie un seul objet d'une collection.

SlicerPivotTables.RemovePivotTable - Supprime une référence à un tableau croisé dynamique à partir de la collection SlicerPivotTables.

Propriétés

ActiveFilters Indique le filtre actif du tableau croisé dynamique spécifié. En lecture seule.

Dim pfsActiveFilters As PivotFilters
Set pfsActiveFilters = ActiveCell.PivotTable.ActiveFilters

Allocation Cette propriété renvoie ou définit si l’instruction Update cube doit être exécutée pour chaque cellule modifiée, ou uniquement lorsque l’utilisateur choisit de calculer les modifications lors de l’exécution d’analyses de scénarios sur un tableau croisé dynamique basé sur une source de données OLAP. Lecture-écriture.

ActiveCell.PivotTable.Allocation = xlAutomaticAllocation

AllocationMethod Cette propriété renvoie ou définit la méthode à utiliser pour allouer des valeurs lors de l’exécution d’analyses de scénarios sur un rapport de tableau croisé dynamique basé sur une source de données OLAP. Lecture-écriture.

ActiveCell.PivotTable.AllocationMethod = xlEqualAllocation

AllocationWeightExpression Renvoie ou définit l’expression de poids MDX à utiliser lors d’une analyse de scénarios sur un rapport de tableau croisé dynamique basé sur une source de données OLAP. Lecture-écriture.

ActiveCell.PivotTable.AllocationWeightExpression =

AllowMultipleFilters Définit ou extrait une valeur qui indique si plusieurs filtres peuvent être appliqués simultanément à un champ de tableau croisé dynamique. Boolean (en lecture/écriture).

ActiveCell.PivotTable.AllowMultipleFilters = True

AlternativeText Renvoie ou définit la chaîne de texte descriptive (de remplacement) du tableau croisé dynamique spécifié. Lecture-écriture.

ActiveCell.PivotTable.AlternativeText =

CacheIndex Cette propriété renvoie ou définit le numéro d'index du cache de tableau croisé dynamique. Long (en lecture/écriture).

ActiveCell.PivotTable.CacheIndex =

CalculatedMembers Renvoie une collection CalculatedMembers représentant tous les membres calculés et les mesures calculées pour un tableau croisé dynamique OLAP.

Dim cmsCalculatedMembers As CalculatedMembers
Set cmsCalculatedMembers = ActiveCell.PivotTable.CalculatedMembers

CalculatedMembersInFilters Renvoie ou définit s’il faut évaluer les membres calculés à partir des serveurs OLAP dans des filtres. Lecture-écriture.

ActiveCell.PivotTable.CalculatedMembersInFilters = True

ChangeList Renvoie la collection PivotTableChangeList qui représente la liste des modifications qui ont été apportées au tableau croisé dynamique spécifié en fonction d’une source de données OLAP. En lecture seule.

Dim ptcChangeList As PivotTableChangeList
Set ptcChangeList = ActiveCell.PivotTable.ChangeList

CompactLayoutColumnHeader Spécifie la légende qui est affichée dans l'en-tête de colonne d'un tableau croisé dynamique quand celui-ci présente une disposition en lignes compacte. String en lecture/écriture.

ActiveCell.PivotTable.CompactLayoutColumnHeader =

CompactLayoutRowHeader Spécifie la légende qui est affichée dans l'en-tête de ligne d'un tableau croisé dynamique quand celui-ci présente une disposition en lignes compacte. String en lecture/écriture.

ActiveCell.PivotTable.CompactLayoutRowHeader =

CubeFields Renvoie la collection CubeFields . Chaque objet CubeField contient les propriétés de l’élément de champ de cube. En lecture seule.

Dim cfsCubeFields As CubeFields
Set cfsCubeFields = ActiveCell.PivotTable.CubeFields

DataBodyRange Renvoie un objet Range qui représente la plage de valeurs dans un tableau croisé dynamique. En lecture seule.

Dim rngDataBodyRange As Range
Set rngDataBodyRange = ActiveCell.PivotTable.DataBodyRange

DataFields Renvoie un objet qui représente soit un seul champ de tableau croisé dynamique (un objet PivotField ), soit une collection de tous les champs (un objet PivotFields ) actuellement affichés sous forme de champs de données. En lecture seule.

Dim pfsDataFields As PivotFields
Set pfsDataFields = ActiveCell.PivotTable.DataFields

DataLabelRange Renvoie un objet Range qui représente la plage contenant les étiquettes des champs de données du rapport de tableau croisé dynamique. En lecture seule.

Dim rngDataLabelRange As Range
Set rngDataLabelRange = ActiveCell.PivotTable.DataLabelRange

DataPivotField Renvoie un objet PivotField qui représente tous les champs de données contenus dans un tableau croisé dynamique. En lecture seule.

Dim pvtfDataPivotField As PivotField
Set pvtfDataPivotField = ActiveCell.PivotTable.DataPivotField

ErrorString Cette propriété renvoie ou définit une valeur de type String qui représente la chaîne affichée dans des cellules qui contiennent des erreurs lorsque la propriété DisplayErrorString est définie sur True.

ActiveCell.PivotTable.ErrorString =

HasAutoFormat True si le rapport de tableau croisé dynamique est automatiquement mis en forme lorsqu’il est actualisé ou lorsque les champs sont déplacés. Boolean (en lecture/écriture).

ActiveCell.PivotTable.HasAutoFormat = True

Hidden Vérifie si le tableau croisé dynamique existe au niveau de la feuille de calcul. Boolean (en lecture seule).

Dim booHidden As Boolean
booHidden = ActiveCell.PivotTable.Hidden

HiddenFields Renvoie un objet qui représente soit un seul champ de tableau croisé dynamique (un objet PivotField ), soit une collection de tous les champs (un objet PivotFields ) qui ne sont actuellement pas affichés sous forme de lignes, de colonnes, de pages ou de champs de données. En lecture seule.

Dim pvtfHiddenFields As PivotField
Set pvtfHiddenFields = ActiveCell.PivotTable.HiddenFields

InGridDropZones Cette propriété permet de basculer entre les zones de dépôt dans la grille d’un objet PivotTable . Dans certains cas, elle affecte également le tableau croisé dynamique. Boolean (en lecture/écriture).

ActiveCell.PivotTable.InGridDropZones = True

InnerDetail Cette propriété renvoie ou définit le nom du champ qui sera affiché sous forme de détails lorsque la propriété ShowDetail a la valeur True pour le champ de ligne ou de colonne le plus au centre. String en lecture/écriture.

ActiveCell.PivotTable.InnerDetail =

LayoutRowDefault Cette propriété spécifie les paramètres de disposition des champs PivotField lorsqu'ils sont ajoutés au tableau croisé dynamique pour la première fois. En lecture/écriture XlLayoutRowType.

ActiveCell.PivotTable.LayoutRowDefault = xlCompactRow

Location Obtient ou définit une valeur de type String qui représente la cellule supérieure gauche dans le corps de l’objet PivotTable spécifié. Lecture-écriture.

ActiveCell.PivotTable.Location =

ManualUpdate Cette propriété a la valeur True si le rapport de tableau croisé dynamique n'est recalculé qu'à la demande de l'utilisateur. La valeur par défaut est False. Boolean (en lecture/écriture).

ActiveCell.PivotTable.ManualUpdate = True

MDX Cette propriété renvoie une valeur de type String indiquant l'expression MDX (Multidimensional Expression) qui serait envoyée au fournisseur pour remplir le tableau croisé dynamique actif. En lecture seule.

Dim strMDX As String
strMDX = ActiveCell.PivotTable.MDX

MergeLabels True si les étiquettes d’élément de ligne externe, d’élément de colonne, de sous-total et de total général du rapport de tableau croisé dynamique utilisent des cellules fusionnées. Boolean (en lecture/écriture).

ActiveCell.PivotTable.MergeLabels = True

Name Cette propriété renvoie ou définit une valeur de type String qui représente le nom de l'objet.

ActiveCell.PivotTable.Name =

NullString Cette propriété renvoie ou définit la chaîne affichée dans les cellules contenant des valeurs NULL lorsque la propriété DisplayNullString a la valeur true. La valeur par défaut est une chaîne vide (""). String en lecture/écriture.

ActiveCell.PivotTable.NullString = "NA"

Parent Renvoie l’objet parent pour l’objet spécifié. En lecture seule.

Dim objParent As Object
Set objParent = ActiveCell.PivotTable.Parent

PivotChart Renvoie un objet Shape qui représente le graphique croisé dynamique autonome pour le rapport de tableau croisé dynamique spécifié. En lecture seule.

Dim shpPivotChart As Shape
Set shpPivotChart = ActiveCell.PivotTable.PivotChart

PivotSelection Cette propriété renvoie ou définit la sélection opérée dans un tableau croisé dynamique au format de sélection standard. String en lecture/écriture.

ActiveCell.PivotTable.PivotSelection =

PivotSelectionStandard Cette propriété renvoie ou définit une chaîne (type String) désignant la sélection de tableau croisé dynamique au format de rapport de tableau croisé dynamique standard en utilisant les paramètres « Anglais (États-Unis) ». Lecture-écriture.

ActiveCell.PivotTable.PivotSelectionStandard = "1.57"

PreserveFormatting True si la mise en forme est conservée lorsque le rapport est actualisé ou recalcule par des opérations telles que le pivotement, le tri ou la modification des éléments de champ de page.

ActiveCell.PivotTable.PreserveFormatting = True

RefreshDate Cette propriété renvoie la date à laquelle le rapport de tableau croisé dynamique a été actualisé pour la dernière fois. Type de données Date en lecture seule.

Dim dtRefreshDate As Date
dtRefreshDate = ActiveCell.PivotTable.RefreshDate

SaveData Cette propriété a la valeur True si les données du rapport de tableau croisé dynamique sont enregistrées avec le classeur. Elle a la valeur False si seule la définition du rapport est enregistrée. Boolean (en lecture/écriture).

ActiveCell.PivotTable.SaveData = True

SelectionMode Cette propriété renvoie ou définit le mode de sélection structuré du rapport de tableau croisé dynamique. En lecture/écriture XlPTSelectionMode.

ActiveCell.PivotTable.SelectionMode = xlBlanks

ShowTableStyleColumnHeaders La propriété ShowTableStyleColumnHeaders, est définie sur true si les en-têtes de colonne doivent être affichés dans le tableau croisé dynamique. Boolean (en lecture/écriture).

ActiveCell.PivotTable.ShowTableStyleColumnHeaders = True

ShowTableStyleColumnStripes La propriété ShowTableStyleColumnStripes affiche des colonnes en bandes, où les colonnes paires n'ont pas la même mise en forme que les colonnes impaires. Cela facilite la lecture des tableaux croisés dynamiques. Boolean (en lecture/écriture).

ActiveCell.PivotTable.ShowTableStyleColumnStripes = True

ShowTableStyleLastColumn Cette propriété renvoie ou définit si la dernière colonne est affichée pour l’objet PivotTable spécifié. Boolean (en lecture/écriture).

ActiveCell.PivotTable.ShowTableStyleLastColumn = True

ShowTableStyleRowHeaders La propriété ShowTableStyleRowHeaders, est définie sur true si les en-têtes de ligne doivent être affichés dans le tableau croisé dynamique. Boolean (en lecture/écriture).

ActiveCell.PivotTable.ShowTableStyleRowHeaders = True

ShowTableStyleRowStripes La propriété ShowTableStyleRowStripes affiche des lignes en bandes, où les lignes paires n'ont pas la même mise en forme que les lignes impaires. Cela facilite la lecture des tableaux croisés dynamiques. Boolean (en lecture/écriture).

ActiveCell.PivotTable.ShowTableStyleRowStripes = True

Slicers Renvoie la collection Slicers pour le tableau croisé dynamique spécifié. En lecture seule.

Dim slcsSlicers As Slicers
Set slcsSlicers = ActiveCell.PivotTable.Slicers

SmallGrid La valeur true si Microsoft Excel utilise une grille de deux cellules en largeur et de deux cellules en profondeur pour un rapport de tableau croisé dynamique nouvellement créé. Elle prend la valeur False si Microsoft Excel utilise un plan de gabarit vide. Boolean (en lecture/écriture).

ActiveCell.PivotTable.SmallGrid = True

SourceData Renvoie la source de données pour le rapport de tableau croisé dynamique, comme le montre le tableau suivant. Variant en lecture/écriture.

ActiveCell.PivotTable.SourceData =

Summary Renvoie ou définit la description associée à la chaîne de texte de remplacement pour le tableau croisé dynamique spécifié. Lecture-écriture.

ActiveCell.PivotTable.Summary =

TableRange1 Renvoie un objet Range qui représente la plage contenant l’intégralité du rapport de tableau croisé dynamique, mais qui n’inclut pas les champs de page. En lecture seule.

Dim rngTableRange1 As Range
Set rngTableRange1 = ActiveCell.PivotTable.TableRange1

TableRange2 Renvoie un objet Range qui représente la plage contenant l’intégralité du rapport de tableau croisé dynamique, y compris les champs de page. En lecture seule.

Dim rngTableRange2 As Range
Set rngTableRange2 = ActiveCell.PivotTable.TableRange2

TableStyle2 La propriété TableStyle2 spécifie le style de tableau croisé dynamique actuellement appliqué. Lecture-écriture.

ActiveCell.PivotTable.TableStyle2 = "PivotStyleLight17"

Tag Cette propriété renvoie ou définit une chaîne enregistrée avec le rapport de tableau croisé dynamique. String en lecture/écriture.

ActiveCell.PivotTable.Tag = "Product Sales by Region"

TotalsAnnotation True si un astérisque (*) est affiché en regard de chaque sous-total et valeur de total général dans le rapport de tableau croisé dynamique spécifié si le rapport est basé sur une source de données OLAP. La valeur par défaut est True. Boolean (en lecture/écriture).

ActiveCell.PivotTable.TotalsAnnotation = True

VacatedStyle Cette propriété renvoie ou définit le style appliqué aux cellules vidées lorsque le rapport de tableau croisé dynamique est actualisé. Valeur par défaut : Null (c'est-à-dire qu'aucun style n'est appliqué). String en lecture/écriture.

ActiveCell.PivotTable.VacatedStyle = "BlackAndBlue"

Version Renvoie une valeur de la propriété XlPivotTableVersionList qui représente le numéro de version de Microsoft Excel.

Dim xptVersion As XlPivotTableVersionList
xptVersion = ActiveCell.PivotTable.Version

ViewCalculatedMembers Lorsque cette propriété a la valeur True (par défaut), les membres calculés des tableaux croisés dynamiques OLAP (Online Analytical Processing) peuvent être affichés. Boolean (en lecture/écriture).

ActiveCell.PivotTable.ViewCalculatedMembers = True

VisibleFields Renvoie un objet qui représente soit un seul champ dans un rapport de tableau croisé dynamique (un objet PivotField ), soit une collection de tous les champs visibles (un objet PivotFields ). Les champs visibles sont affichés en tant que champs de ligne, de colonne, de page ou de données. En lecture seule.

Dim pfsVisibleFields As PivotFields
Set pfsVisibleFields = ActiveCell.PivotTable.VisibleFields

VisualTotals Cette propriété a la valeur True (par défaut) pour permettre aux tableaux croisés dynamiques OLAP (Online Analytical Processing) d'être recalculés après qu'un élément ait été masqué. Boolean (en lecture/écriture).

ActiveCell.PivotTable.VisualTotals = True

VisualTotalsForSets Cette propriété renvoie ou définit si les éléments filtrés doivent être inclus dans les totaux des jeux nommés pour le tableau croisé dynamique spécifié. Lecture-écriture.

ActiveCell.PivotTable.VisualTotalsForSets = True

PivotTables.Count Cette propriété renvoie une valeur de type Long qui représente le nombre d’objets de la collection.

Dim lngCount As Long
lngCount = ActiveSheet.PivotTables.Count

PivotTables.Parent Renvoie l’objet parent pour l’objet spécifié. En lecture seule.

Dim objParent As Object
Set objParent = ActiveSheet.PivotTables.Parent

SlicerPivotTables.Count Renvoie le nombre d'objets dans la collection.

Dim lngCount As Long
lngCount = ActiveWorkbook.SlicerCaches(1).PivotTables.Count

SlicerPivotTables.Item Cette méthode renvoie un seul objet PivotTable de la collection.

Dim pvtItem As PivotTable
Set pvtItem = ActiveWorkbook.SlicerCaches(1).PivotTables(Index:=1)

SlicerPivotTables.Parent Renvoie l’objet SlicerCache qui est le parent de la collection SlicerPivotTables spécifiée. En lecture seule.

Dim objParent As Object
Set objParent = ActiveWorkbook.SlicerCaches(1).PivotTables.Parent