Réduire groupe TCD

craig974

XLDnaute Occasionnel
Bonjour,

J'ai un TCD qui est mis à jour chaque semaine, les étiquettes de lignes sont regroupés par années et mois, avec date de début le premier du mois actuel de l'année actuel, donc tout ce qu'il y a précédemment est regroupé dans <01/MoisActuel/annéeActuel (cela change donc tout les mois.)
Je voudrais que, quand mes tableaux sont mis à jour, le groupe des valeurs passés soit réduit sans que les autres groupes le soit.

Je joins un fichier expliquant ce que je souhaite et ce que j'ai déjà (non-codé, si cela ne vous permet pas de m'aider j'en joindrais un codé)

Merci d'avance
 

Pièces jointes

  • XLD_test.xlsx
    14.9 KB · Affichages: 31

eriiic

XLDnaute Barbatruc
Re : Réduire groupe TCD

Bonjour,

Un exemple, je force dat1 pour tester. Met ce qu'il faut pour dat1 :
Code:
Dim pi As PivotItem, dat1 As Date
'dat1 = DateSerial(Year(Date), Month(Date), 1)
dat1 = DateValue("2/9/2013")
For Each pi In ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Années").PivotItems
    pi.ShowDetail = True
    Select Case Left(pi, 1)
    Case "<"
        If CDate(Mid(pi, 2)) < dat1 Then pi.ShowDetail = False
    Case Else
        If pi < Year(Date) Then pi.ShowDetail = False
    End Select
Next pi

eric
 

craig974

XLDnaute Occasionnel
Re : Réduire groupe TCD

Bonjour à tous,

Premièrerement désolé de ne pas avoir donné signe de vie plutot.

Deuxiemement, j'ai regardé un peu ce que vous avez proposé.

Chris: Je n'ai pas trouvé sur ton fichier une solution à mon problème, mais plus une solution à comment regrouper les dates du passé (ce qui était déjà réalisé).
Eriiiic: J'allais essayer ta méthode quand j'ai trouvé la solution à mon problème. Ca part du même code que j'avais pu penser utiliser PivotItems().ShowDetail, le problème étant qu'il n'accepte que les String (et des "position", ce que je ne savais pas) il ne marchait pas avec la formule que j'utilisais. Mais comme le "sous-groupe" que je souhaite réduire est toujours en première position, en sélectionnant PivotItems(1), cela marche:

ActiveSheet.Range("A23").Select
ActiveSheet.PivotTables("NomTCD").PivotFields("Années"). _
PivotItems(1).ShowDetail = False

Merci à vous !
 

chris

XLDnaute Barbatruc
Re : Réduire groupe TCD

Bonjour
...
Chris: Je n'ai pas trouvé sur ton fichier une solution à mon problème, mais plus une solution à comment regrouper les dates du passé (ce qui était déjà réalisé)....

Sauf que le regroupement est justement automatique et non manuel (ou par VBA qui occasionne ton problème de showdetail) quelle que soit la période grâce à la colonne supplémentaire dans la source...
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
277

Statistiques des forums

Discussions
311 724
Messages
2 081 937
Membres
101 844
dernier inscrit
pktla