Filtre TCD Automatique

Niouf

XLDnaute Occasionnel
Bonjour le Forum,

Je cherche à automatiser un filtre de TCD.
Je renseigne dans une cellule mon numéro de semaine, et j'aimerai que mon filtre de TCD "Semaine" soit filtré en fonction de cette cellule .

J'ai déjà une base en VBA :

Code:
Sub Essai2()
Dim i As Byte
Dim semaine As Integer
semaine = Sheets("4B").Range("U4").Value

With ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields("Sem")
    For i = 1 To .PivotItems.Count
        .PivotItems(i).Visible = False
    Next i

End With
With ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields("Sem")
        .PivotItems("semaine").Visible = True
End With

End Sub

Ce code fonctionne correctement, mais le jour ou j'ai 30 ou 40 semaine dans mes filtres, le temps de traitement est beaucoup trop important ... (Boucle oblige ...)

Je suis donc ouvert à toutes autres propositions :)
 

chris

XLDnaute Barbatruc
Re : Filtre TCD Automatique

Bonjour

Sur 2010, un simple segment sur le numéro de semaine serait plus simple...

Concernant ton code : on ne peut cacher tous les items donc ta 1ère boucle risque de planter. On fait l'inverse on enlève le filtre puis on masque ce qui doit l'être soit une boucle au lieu de 2.
 

Niouf

XLDnaute Occasionnel
Re : Filtre TCD Automatique

Effectivement, le code plante ...

Pour ce qui est du segment, je viens de découvrir en recherchant sur le net, mais cela reste une opération manuelle ?
Pour un TCD ok, mais j'en ai une dizaine ou je dois filtrer sur cette meme semaine égale à la valeur de la meme cellule .
 

Discussions similaires

Réponses
12
Affichages
573

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch