Classe PivotField (Excel VBA)

Cet objet représente un champ dans un rapport de tableau croisé dynamique.

Les procédures principales de la classe PivotField sont CalculatedFields.Add, AddPageItem et Delete

Set

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

Dim pvtf as PivotField
Set pvtf = ActiveCell.PivotField

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe PivotField : PivotTable.CalculatedFields, CalculatedFields.Item, CalculatedFields.Add, PivotCell.DataField, PivotCell.PivotField, ChildField, ParentField, PropertyParentField, PivotFields.Item, PivotFilter.DataField, PivotFilter.PivotField, PivotFilter.MemberPropertyField, PivotItem.Parent, PivotItems.Parent, PivotTable.AddDataField, PivotTable.ColumnFields, PivotTable.DataFields, PivotTable.DataPivotField, PivotTable.HiddenFields, PivotTable.PageFields, PivotTable.RowFields, PivotTable.VisibleFields, Range.PivotField, CubeField.PivotFields, PivotTable.PivotFields, PivotTable.ColumnFields, PivotTable.DataFields, PivotTable.HiddenFields, PivotTable.PageFields, PivotTable.RowFields et PivotTable.VisibleFields

For Each

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

Dim pvtfCalculatedField As PivotField
For Each pvtfCalculatedField In Application.CalculatedFields()
	
Next pvtfCalculatedField

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

Sort/Order with its procedures AutoSort, AutoSortCustomSubtotal, AutoSortField, AutoSortOrder, AutoSortPivotLine, DatabaseSort et PropertyOrder
Display/Show with its procedures DisplayAsCaption, DisplayAsTooltip, DisplayInReport, ShowAllItems, ShowDetail et ShowingInAxis
Formula with its procedures Formula et StandardFormula
Name with its procedures MemberPropertyCaption, SourceCaption, SourceName, SubtotalName et UseMemberPropertyAsCaption

Méthodes

Les méthodes principales de la classe PivotField sont

CalculatedFields.Add - Cette méthode crée un champ calculé. Cette propriété renvoie un objet PivotField .

Dim strName As String: strName = 
Dim strFormula As String: strFormula = 
Dim pvtf As PivotField
Set pvtf = ActiveCell.PivotTable.CalculatedFields.Add(Name:=strName, Formula:=strFormula)

AddPageItem - Cette méthode ajoute un élément supplémentaire à un champ de page à plusieurs éléments.

Dim strItem As String: strItem =  "[Product].[All Products].[Food].[Eggs]"
ActiveCell.PivotField.AddPageItem Item:=strItem

Delete - Cette méthode supprime l'objet.

ActiveCell.PivotField.Delete

Autre Méthodes

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

AutoGroup - Regroupe automatiquement les champs croisés dynamiques dans un tableau croisé dynamique.

AutoShow - Cette méthode affiche le nombre d'éléments du haut ou du bas d'une ligne, page ou champ de colonne dans le rapport de tableau croisé dynamique spécifié.

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

ClearAllFilters - L’appel de cette méthode supprime tous les filtres actuellement appliqués au champ de tableau croisé dynamique. Cela inclut la suppression de tous les filtres de la collection PivotFilters du champ de tableau croisé dynamique et la suppression de tout filtrage manuel appliqué au champ de tableau croisé dynamique. Si le champ de tableau croisé dynamique se trouve dans la zone de filtre de rapport, l’élément sélectionné sera défini sur l’élément par défaut.

ClearLabelFilters - Cette méthode supprime tous les filtres d’étiquette ou tous les filtres de date de la collection PivotFilters du champ de tableau croisé dynamique.

ClearManualFilter - Permet de définir facilement la propriété visible sur true pour tous les éléments d’un champ PivotField dans les tableaux croisés dynamiques et de vider les collections HiddenItemsList et VISIBLEITEMSLIST dans les tableaux croisés dynamiques OLAP.

ClearValueFilters - L’appel de cette méthode supprime tous les filtres de valeur dans la collection PivotFilters du champ de tableau croisé dynamique.

DrillTo - La méthode DrillTo prend en charge l'extraction d'un champ PivotField spécifié à partir d'un autre champ PivotField.

PivotItems - Renvoie un objet qui représente soit un seul élément de tableau croisé dynamique (un objet PivotItem ), soit une collection de tous les éléments visibles et masqués (un objet PivotItems ) dans le champ spécifié. En lecture seule.

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

Propriétés

CalculatedFields.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 = ActiveCell.PivotTable.CalculatedFields.Count

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

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

AllItemsVisible Permet de récupérer une valeur booléenne qui indique si un filtrage manuel est appliqué au champ de tableau croisé dynamique. En lecture seule.

Dim booAllItemsVisible As Boolean
booAllItemsVisible = ActiveCell.PivotField.AllItemsVisible

AutoShowCount Cette propriété renvoie le nombre d'éléments du haut ou du bas de la liste de champ automatiquement affichés dans le champ de tableau croisé dynamique spécifié. Type de données Long en lecture seule.

Dim lngAutoShowCount As Long
lngAutoShowCount = ActiveCell.PivotField.AutoShowCount

AutoShowField Cette propriété renvoie le nom du champ de données utilisé pour déterminer les éléments du haut ou du bas de la liste de champ automatiquement affichés dans le champ de tableau croisé dynamique spécifié. Type de données String en lecture seule.

Dim strAutoShowField As String
strAutoShowField = ActiveCell.PivotField.AutoShowField

AutoShowRange Renvoie la constante xlTop si les éléments les plus hauts sont affichés automatiquement dans le champ de tableau croisé dynamique spécifié; renvoie xlBottom si les éléments les plus bas sont affichés. Type de données Long en lecture seule.

Dim lngAutoShowRange As Long
lngAutoShowRange = ActiveCell.PivotField.AutoShowRange

AutoShowType Renvoie la constante xlAutomatic si l' affichage automatique est activé pour le champ de tableau croisé dynamique spécifié; renvoie xlManual si l' affichage automatique est désactivé. Type de données Long en lecture seule.

Dim lngAutoShowType As Long
lngAutoShowType = ActiveCell.PivotField.AutoShowType

BaseField Cette propriété renvoie ou définit le champ de base d'un mode de calcul personnalisé. Cette propriété n'est valable que pour les champs de données. Variant en lecture/écriture.

ActiveCell.PivotField.BaseField =

BaseItem Cette propriété renvoie ou définit l'élément du champ de base d'un mode de calcul personnalisé. Cette propriété n'est valable que pour les champs de données. Variant en lecture/écriture.

ActiveCell.PivotField.BaseItem =

Calculation Cette propriété renvoie ou définit une valeur XlPivotFieldCalculation qui représente le type de calcul effectué par le champ spécifié. Cette propriété n'est valide que pour les champs de données.

ActiveCell.PivotField.Calculation = xlDifferenceFrom

Caption Cette propriété renvoie une valeur de type String qui représente le texte de l'étiquette pour le champ dynamique.

ActiveCell.PivotField.Caption =

ChildField Cette propriété renvoie un objet PivotField qui représente le champ enfant du champ spécifié (si le champ est groupé et possède un champ enfant). En lecture seule.

Dim pvtfChildField As PivotField
Set pvtfChildField = ActiveCell.PivotField.ChildField

ChildItems Renvoie un objet qui représente soit un seul élément de tableau croisé dynamique (un objet PivotItem ), soit une collection de tous les éléments (un objet PivotItems ) qui sont des enfants de groupe dans le champ spécifié ou des enfants de l’élément spécifié. En lecture seule.

Dim pvtiChildItems As PivotItem
Set pvtiChildItems = ActiveCell.PivotField.ChildItems

CubeField Renvoie l’objet CubeField dont est dérivé le champ de tableau croisé dynamique spécifié. En lecture seule.

Dim cbfCubeField As CubeField
Set cbfCubeField = ActiveCell.PivotField.CubeField

CurrentPage Cette propriété renvoie ou définit la page actuelle en indiquant le champ de page (valable uniquement pour les champs de page). En lecture/écriture PivotItem.

ActiveCell.PivotField.CurrentPage =

CurrentPageList Cette propriété renvoie ou définit un tableau de chaînes correspondant à la liste d'éléments inclus dans un champ de page à plusieurs éléments d'un rapport de tableau croisé dynamique. Variant en lecture/écriture.

ActiveCell.PivotField.CurrentPageList =

CurrentPageName Cette propriété renvoie ou définit la page actuellement affichée du rapport de tableau croisé dynamique spécifié. Le nom de la page s'affiche dans le champ de page. Notez que cette propriété fonctionne uniquement si la page actuellement affichée existe déjà. String en lecture/écriture.

ActiveCell.PivotField.CurrentPageName =

DataRange Renvoie un objet Range comme indiqué dans le tableau suivant. En lecture seule.

Dim rngDataRange As Range
Set rngDataRange = ActiveCell.PivotField.DataRange

DataType Renvoie une valeur XlPivotFieldDataType qui représente le type de données dans le champ de tableau croisé dynamique.

Dim xpfDataType As XlPivotFieldDataType
xpfDataType = ActiveCell.PivotField.DataType

DragToColumn True si le champ spécifié peut être déplacé par glissement vers la position de la colonne. La valeur par défaut est True. Boolean (en lecture/écriture).

ActiveCell.PivotField.DragToColumn = True

DragToData Cette propriété renvoie la valeur True si le champ spécifié peut être déplacé par glissement vers la position des données. La valeur par défaut est True. Boolean (en lecture/écriture).

ActiveCell.PivotField.DragToData = True

DragToHide True si le champ peut être masqué en le glissant hors du rapport de tableau croisé dynamique. La valeur par défaut est True. Boolean (en lecture/écriture).

ActiveCell.PivotField.DragToHide = True

DragToPage Cette propriété renvoie la valeur True si le champ peut être déplacé par glissement vers la position de la page. La valeur par défaut est True. Boolean (en lecture/écriture).

ActiveCell.PivotField.DragToPage = True

DragToRow True si le champ peut être déplacé par glissement vers la position de la ligne. La valeur par défaut est True. Boolean (en lecture/écriture).

ActiveCell.PivotField.DragToRow = True

DrilledDown True si l’indicateur du champ de tableau croisé dynamique ou de l’élément de tableau croisé dynamique spécifié présente un état développé (ou visible). Boolean (en lecture/écriture).

ActiveCell.PivotField.DrilledDown = True

EnableItemSelection Lorsque cette propriété a la valeur False, elle désactive la possibilité d'utiliser la liste déroulante de champs dans l'interface utilisateur. La valeur par défaut est True. Boolean (en lecture/écriture).

ActiveCell.PivotField.EnableItemSelection = True

EnableMultiplePageItems Permet de spécifier si les cases à cocher sont présentes dans la liste déroulante de filtrage pour les champs de la zone de page. Boolean (en lecture/écriture).

ActiveCell.PivotField.EnableMultiplePageItems = True

Function Cette propriété renvoie ou définit la fonction utilisée pour synthétiser le champ du tableau croisé dynamique (champs de données uniquement). En lecture/écriture XlConsolidationFunction.

ActiveCell.PivotField.Function = xlAverage

GroupLevel Cette propriété renvoie la position du champ spécifié dans un groupe de champs (si le champ est membre d'un ensemble groupé de champs). En lecture seule.

Dim lngGroupLevel As Long
lngGroupLevel = ActiveCell.PivotField.GroupLevel

Hidden Cette propriété permet de masquer les niveaux individuels d'une hiérarchie OLAP. Boolean (en lecture/écriture).

ActiveCell.PivotField.Hidden = True

HiddenItems Renvoie un objet qui représente soit un seul élément de tableau croisé dynamique masqué (un objet PivotItem ), soit une collection de tous les éléments masqués (un objet PivotItems ) dans le champ spécifié. En lecture seule.

Dim pvtiHiddenItems As PivotItem
Set pvtiHiddenItems = ActiveCell.PivotField.HiddenItems

HiddenItemsList Cette propriété renvoie ou définit un objet de type Variant désignant un tableau de chaînes qui sont des éléments masqués pour un champ de tableau croisé dynamique. Lecture-écriture.

ActiveCell.PivotField.HiddenItemsList =

IncludeNewItemsInFilter Cette propriété permet aux développeurs de spécifier si les éléments exclus ou inclus doivent être suivis lorsque le filtrage manuel est appliqué au champ PivotField. Boolean (en lecture/écriture).

ActiveCell.PivotField.IncludeNewItemsInFilter = True

IsCalculated Cette propriété a la valeur True si le champ de tableau croisé dynamique est un champ ou un élément calculé. Boolean (en lecture seule).

Dim booIsCalculated As Boolean
booIsCalculated = ActiveCell.PivotField.IsCalculated

IsMemberProperty Cette propriété renvoie la valeur True lorsqu'un champ du tableau croisé dynamique contient des propriétés membre. Boolean (en lecture seule).

Dim booIsMemberProperty As Boolean
booIsMemberProperty = ActiveCell.PivotField.IsMemberProperty

LabelRange Renvoie un objet Range qui représente la cellule (ou les cellules) contenant l’étiquette de champ. En lecture seule.

Dim rngLabelRange As Range
Set rngLabelRange = ActiveCell.PivotField.LabelRange

LayoutBlankLine Cette propriété a la valeur True si une ligne vide est insérée après le champ de ligne spécifié du rapport de tableau croisé dynamique. La valeur par défaut est False. Boolean (en lecture/écriture).

ActiveCell.PivotField.LayoutBlankLine = True

LayoutCompactRow Spécifie si un champ PivotField est compressé ou non (les articles contenus dans plusieurs champs PivotField sont affichés dans une colonne) lorsque des lignes sont sélectionnées. Boolean (en lecture/écriture).

ActiveCell.PivotField.LayoutCompactRow = True

LayoutForm Renvoie ou définit la manière dont les éléments du tableau croisé dynamique spécifiés s’affichent (sous la forme d’un tableau ou d’un plan). En lecture/écriture XlLayoutFormType.

ActiveCell.PivotField.LayoutForm = xlOutline

LayoutPageBreak Cette propriété a la valeur True si un saut de page est inséré après chaque champ. La valeur par défaut est False. Boolean (en lecture/écriture).

ActiveCell.PivotField.LayoutPageBreak = True

LayoutSubtotalLocation Renvoie ou définit la position des sous-totaux d’un champ de tableau croisé dynamique par rapport au champ spécifié (au-dessus ou au-dessous). En lecture/écriture XlSubtotalLocationType.

ActiveCell.PivotField.LayoutSubtotalLocation = xlAtBottom

MemoryUsed Cette propriété renvoie la mémoire (en octets) actuellement utilisée par l'objet. Type de données Long en lecture seule.

Dim lngMemoryUsed As Long
lngMemoryUsed = ActiveCell.PivotField.MemoryUsed

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

ActiveCell.PivotField.Name =

NumberFormat Cette propriété renvoie ou définit une valeur de type String qui représente le code du format de l'objet.

ActiveCell.PivotField.NumberFormat =

Orientation Cette propriété renvoie ou définit une valeur XlPivotFieldOrientation qui représente l’emplacement du champ dans le rapport de tableau croisé dynamique spécifié.

ActiveCell.PivotField.Orientation = xlColumnField

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

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

ParentField Renvoie un objet PivotField qui représente le champ de tableau croisé dynamique qui est le groupe parent de l’objet spécifié. Le champ doit être groupé et posséder un champ parent. En lecture seule.

Dim pvtfParentField As PivotField
Set pvtfParentField = ActiveCell.PivotField.ParentField

ParentItems Renvoie un objet qui représente soit un seul élément de tableau croisé dynamique (un objet PivotItem ), soit une collection de tous les éléments (un objet PivotItems ) qui sont des groupes parents dans le champ spécifié. Le champ spécifié doit être le groupe parent d'un autre champ. En lecture seule.

Dim pvtiParentItems As PivotItem
Set pvtiParentItems = ActiveCell.PivotField.ParentItems

PivotFilters Cette propriété renvoie ou définit les filtres de tableau croisé dynamique de l'objet PivotField spécifié. En lecture seule.

Dim pfsPivotFilters As PivotFilters
Set pfsPivotFilters = ActiveCell.PivotField.PivotFilters

Position Cette propriété renvoie ou définit une valeur de type Variant qui représente la position du champ (premier, deuxième, troisième, etc.) parmi tous les champs dans son orientation (lignes, colonnes, pages, données).

ActiveCell.PivotField.Position =

PropertyParentField Cette propriété renvoie un objet PivotField représentant le champ que les propriétés de ce champ concernent.

Dim pvtfPropertyParentField As PivotField
Set pvtfPropertyParentField = ActiveCell.PivotField.PropertyParentField

RepeatLabels Renvoie ou définit une valeur qui indique si les étiquettes d’éléments sont répétées pour le champ PivotField spécifié. Lecture-écriture.

ActiveCell.PivotField.RepeatLabels = True

ServerBased Cette propriété a la valeur True si la source de données du rapport de tableau croisé dynamique spécifié est externe et si seuls les éléments correspondant à la sélection du champ de page sont récupérés. Boolean (en lecture/écriture).

ActiveCell.PivotField.ServerBased = True

Subtotals Cette propriété renvoie ou définit les sous-totaux affichés avec le champ spécifié. Cette propriété n'est valable que pour les champs qui ne sont pas des champs de données. Variant en lecture/écriture.

ActiveCell.PivotField.Subtotals = True

TotalLevels Cette propriété renvoie le nombre total de champs dans le groupe de champs actif. Si le champ n’est pas groupé ou si la source de données est basée sur OLAP, TotalLevels renvoie la valeur 1. Type de données Long en lecture seule.

Dim lngTotalLevels As Long
lngTotalLevels = ActiveCell.PivotField.TotalLevels

Value Cette propriété renvoie ou définit une valeur String qui représente le nom du champ spécifié dans le rapport de tableau croisé dynamique.

ActiveCell.PivotField.Value =

VisibleItems Renvoie un objet qui représente soit un seul élément de tableau croisé dynamique visible (un objet PivotItem ), soit une collection de tous les éléments visibles (un objet PivotItems ) dans le champ spécifié. En lecture seule.

Dim pvtiVisibleItems As PivotItem
Set pvtiVisibleItems = ActiveCell.PivotField.VisibleItems

VisibleItemsList Cette propriété renvoie ou définit une valeur de type Variant désignant un groupe de chaînes qui représentent les éléments inclus dans un filtre manuel appliqué à un champ de tableau croisé dynamique. Lecture-écriture.

ActiveCell.PivotField.VisibleItemsList =

PivotFields.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 = ActiveCell.PivotTable.VisibleFields.Count

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

Dim pvtParent As PivotTable
Set pvtParent = ActiveCell.PivotTable.VisibleFields.Parent