filtre de page dynamique dans TCD

nicoach

XLDnaute Nouveau
Bonjour à tous,

J'ai fait un classeur excel permettant de faire des analyses dans une base de données externe (access).
Une requête access est donc importée dans mon classeur excel.
J'analyse cette requête à l'aide d'un tableau croisé dynamique.

Ce tableau croisé dynamique contient un filtre de page nommé "semaine" (ce champ correspond à la semaine d'encodage des données dans access).

Je voudrais que mon filtre de page de TCD "semaine" se mette à jour automatiquement sur les 4 dernières semaines à compter de la date du jour.
En fait, je voudrais filtrer en automatique (ou via macro) mes données TCD sur les 4 dernières semaines glissantes.
Comment puis je faire ?

Merci pour votre aide
 

jmd2

XLDnaute Accro
Re : filtre de page dynamique dans TCD

Bonjour.

Suggestion : tes données peuvent être copiées (ou importées) par ta requête sur la feuille Excel, tu crées un filtre Excel pour masquer les données au-delà des 4 dernières semaines* et tu bases ton TCD sur les lignes visibles.

* au besoin tu crées une colonne avec une formule du genre
= si inférieur à aujourd'hui moins 28 alors renvoie zéro sinon renvoie valeur
et tu filtres sur différent de zéro.
(la formule est à élaborer, car pas si simple avec des semaines, ce serait facile avec des jours)

(le filtre quand il fonctionne bien peut être enregistré en macro et associé à un bouton par exemple)
 

chris

XLDnaute Barbatruc
Re : filtre de page dynamique dans TCD

Bonjour
Il serait à mon avis plus simple de modifier la requête access : cela ferai moins de données dans Excel et serait donc plus rapide.
Pour les semaines dans Access voir les fonctions datepart et format
 

nicoach

XLDnaute Nouveau
Re : filtre de page dynamique dans TCD

Merci à tous.
D'après vos conseils je viens de mettre ma requete access à jour.J'ai rajouté une colonne du type
=> 4semaines: VraiFaux(EstNull([date]);0;VraiFaux(Maintenant()-[date]>28;0;1))
Je n'ai plus qu'à filtrer dans mon TCD sur 1 et le tour est joué !

Remarque : du même type je voulais faire un bilan de la semaine écoulée. J'ai rajouté une deuxième colonne :
=>semainederniere: VraiFaux(EstNull([date]);0;VraiFaux(PartDate("ww";[Date];2;2)=PartDate("ww";Maintenant();2;2)-1;1;0))

Merci encore pour votre aide
 

Discussions similaires

Statistiques des forums

Discussions
312 671
Messages
2 090 763
Membres
104 658
dernier inscrit
amomo