Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

TcD - Tester PivotItems

dieu08

XLDnaute Occasionnel
Bonjour,

J'ai une succession de tableaux croisés dynamiques à réaliser et je me heurte à un problème. En effet, je ne parviens pas à trouver comment faire un tes pour m'assurer de la présence de tous mes "pivotItems" pour éviter un arret sur le code.

Plus concretement, je dois m'assurer de la présence du "J" avant que l'execution de la macro n'arrive sur cette ligne :

.PivotItems("J").Visible = False

Voici une plus grosse partie du code :


Merci d'avance.

Dieu08
 

Pierrot93

XLDnaute Barbatruc
Re : TcD - Tester PivotItems

Bonjour,

regarde le code ci-dessous si il peut t'aider :

Code:
Option Explicit
Sub test()
Dim p As PivotItem
With Sheets("Feuil1").PivotTables(1).PivotFields("nomchamps")
    On Error Resume Next
    Set p = .PivotItems("J")
    On Error GoTo 0
    If Not p Is Nothing Then p.Visible = False
    Set p = Nothing
End With
End Sub

Bonne journée
@+
 

dieu08

XLDnaute Occasionnel
Re : TcD - Tester PivotItems

Merci bcoup pour ta réponse ! Je vais tester ta proposition mais je crains que ce soit lourd dans mon code car j'ai beaucoup de tableaux croisés dynamiques et pas de "pivotitems" à tester...

Dieu08
 

Pierrot93

XLDnaute Barbatruc
Re : TcD - Tester PivotItems

Re

essaye en faisant des boucles imbriquées :

Code:
Option Explicit
Sub test()
Dim s() As Variant, pt As PivotTable, p As PivotItem, i As Byte
s = Array("w", "x", "y", "z")
For Each pt In Sheets("Feuil1").PivotTables
    With pt.PivotFields("client")
        For i = LBound(s) To UBound(s)
            On Error Resume Next
            Set p = .PivotItems(s(i))
            On Error GoTo 0
            If Not p Is Nothing Then p.Visible = False
            Set p = Nothing
        Next i
    End With
Next pt
End Sub

peut être lieu de rajouter une boucle sur le "PivotFields"... A voir...
 

Discussions similaires

Réponses
11
Affichages
988
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…