Shairal développe quotidiennement des tableaux croisés dynamiques, en utilisant diverses sources de données telles que des listes Excel, des tableaux Access et des données OLAP. L’une des choses les plus irritantes dont il s’occupe est de supprimer la fonction de sous-total automatique sur chaque champ, un à la fois. Cela peut prendre du temps selon le nombre de champs qu’il utilise. Shairal s’est demandé s’il serait plus facile d’utiliser une macro pour supprimer les sous-totaux de tous les champs à la fois.

La réponse est qu’il serait plus facile d’utiliser une macro. (C’est à cela que servent les macros — pour s’occuper des choses fastidieuses dont vous vous lassez.) Plutôt que de réinventer la roue, cependant, une bonne solution est de considérer le code suivant, adapté du site de Microsoft MVP Debra Daglisesh:

Sub NoSubtotals()

'turns off subtotals in pivot table     '.PivotFields could be changed to     '.RowFields or .ColumnFields

Dim pt As PivotTable     Dim pf As PivotField

On Error Resume Next     For Each pt In ActiveSheet.PivotTables         For Each pf In pt.PivotFields             'First, set index 1 (Automatic) to True,             'so all other values are set to False             pf.Subtotals(1) = True             pf.Subtotals(1) = False         Next pf     Next pt End Sub

Affichez simplement le tableau croisé dynamique que vous souhaitez affecter, puis exécutez la macro.

Les sous-totaux de tous les champs du tableau croisé dynamique sont supprimés en même temps. L’original de ce code est disponible ici, sur le site de Debra:

http://www.contextures.com/xlPivot03.html#Subtotals

Le site contient également d’autres informations intéressantes sur l’utilisation des tableaux croisés dynamiques.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (3103) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.