TCD, Pivotitems

S

Sebbb

Guest
Bonjour à tous,

La rentrée n'est pas trop dur?

Voilà, j'ai une question concernant les menus des tableaux croisés dynamiques (là où on coche ou décoche les éléments visualisés dans le tableau).

Malheureusement, le fichier est bcp bcp trop gros pour être envoyé.

J'ai dans ce tableau un champ Année et un autre Mois,
Dans Année, 2003, 2004, 2005 mais s'incrémente avec le tps qui passe.
Dans mois,1 jusqu'à 12.

Dans une cellule, j'ai la date du jour.

CE que je voudrais c'est que par macro, les données du tableu correpondent à celles de l'année et mois en cours, pour ca j'ai tapé le code suivant:

Sub Macro1()
'Pour n'afficher que le mois de visualisation
Dim mois As Integer

mois = Month(Sheets('Tb Evol Date').Range('A1')) (cellule qui contient la date du jour)

Sheets('Tb Evol Date').Activate (feuille où se trouve le tbl)

With ActiveSheet.PivotTables('Tb Evol Date').PivotFields('MOIS CREATION')
For i = 1 To 12
.PivotItems(mois).Visible = True
If i <> mois Then
.PivotItems(i).Visible = False
End If
Next i
End With

End Sub

Sub Macro2()
Dim annee As Integer

annee = Year(Sheets('Tb Evol Date').Range('A1'))


With Worksheets('Tb Evol Date').PivotTables('Tb Evol Date').PivotFields('ANNEE CREATION')
For i = 2003 To 2010
.PivotItems(annee).Visible = True
If i <> annee Then
.PivotItems(i).Visible = False
End If
Next i
End With
End Sub


La macro 1 fonctionne très bien, par contre la 2 bug sur ce que j'ai souligné.
Quelqu'un peut-il me venir en aide pour trouver ce qui ne va pas ou me proposer une autre solution?

Merci d'avance à tous les lecteurs.

A bientôt,
Sébbb
 

Dan

XLDnaute Barbatruc
Bonjour,

A priori je ne vois rien de spécial mais bon je vois pas non plus ton fichier.

Sinon une idée: dans le TCD, le champ année est écrit comme ceci : 'annee' ou comme cela 'année' ?

Veille à enlever les accents partout.

Dans l'attente de te lire
 
S

Sebbb

Guest
Et oui, c'est bien là le problème, il y a rien de spécial!
C'est assez énervant, surtout que les deux macros sont construites pareilles!!!

Pour le coup des accents, je n'en mets plus depuis que je me suis fait avoir.


Merci à toi Dan .

A +

Sébbb
 

Dan

XLDnaute Barbatruc
Re,

Bon si tu pouvais placer un fichier réduit avec données bidons ce serait plus facile ou alors me faire un photo de ton TCD que je vois comment c'est disposé. Place le fichier zippé sur ce fil.

Essaie aussi de retaper ta macro2 entièrement car je présume que tu as fait un copier coller de la première pour faire la seconde, non ?


;)
 
S

Sebbb

Guest
Re,
Ta réponse m'a mis sur la voie,
J'ai modifié la disposition des éléments de mon TCD (voir fichier joint), et changé un tout ptit peu ma macro 2 comme suit:

Sub Macro2()
Dim annee As Integer

annee = Year(Sheets('Tb Evol Date').Range('D1'))

Worksheets('Tb Evol Date').PivotTables('Tb Evol Date').PivotFields('ANNEE CREATION DI') .CurrentPage = annee
End Sub

et ca marche, sur le classeur en question car j'ai essayé de faire ce que tu m'as conseillé, c-a-d faire un classeur plus léger mais je n'arrive pas à me mettre dans la même config : je lance mes macros, elles ne marchent pas.

Le principal, c'est que ca marche là où il le faut!

Je te remercie de ton aide et, si des fois le bon fonctionnement ne dure pas, je te ferai signe sur ce fil.

Merci Dan,
A+

Sébbb
 

Discussions similaires

Réponses
5
Affichages
198
Réponses
17
Affichages
974

Statistiques des forums

Discussions
312 347
Messages
2 087 504
Membres
103 565
dernier inscrit
Fabien78