Faire apparaitre tous les élements d'un tableau croisé dynamique

Imperium

XLDnaute Junior
Bonjour,

Je cherche la commande VBA pour que tous les élements d'un tableau croisé dynamique (les lignes soient visibles).
Cela correspondrait à un "sélectionner tout" sur le filtre.
Par exemple, pour le champ "vide", j'ai ça qui me va bien :

Code:
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
        "NOM_CLASSIF")
        .PivotItems("(blank)").Visible = True

Le problème c'est que si je fais "sélectionner tout" avec l'enregistreur de macro, il me créé une ligne de code pour chaque élément nominatif un par un, hors ces éléments peuvent être amenés à changer. Existe-t-il donc une ligne de code pour "séléectionner tout" et rendre tous les éléments visibles ?

Merci beaucoup !
 

Gurgeh

XLDnaute Occasionnel
Re : Faire apparaitre tous les élements d'un tableau croisé dynamique

Salut Imperium

Tu peux faire un code qui va balayer chaque élément et le rendre visible

Code:
for each élément in ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("NOM_CLASSIF").PivotItems
 élément.visible = True
next

Gurgeh
 

Pierrot93

XLDnaute Barbatruc
Re : Faire apparaitre tous les élements d'un tableau croisé dynamique

Bonjour,

essaye avec une boucle :
Code:
Dim p As PivotItem
Application.ScreenUpdating = False
With ActiveSheet.PivotTables(1).PivotFields("NOM_CLASSIF")
    For Each p In .PivotItems
        p.Visible = True
    Next p
End With

bon après midi
@+

Edition : bonjour Gurgeh
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 137
dernier inscrit
Billly