Afficher automatiquement les données des 7 derniers jours sans avoir à modifier le filtre.
Solution :
Si le tableau source contient des dates, il est effectivement agréable, si l'objectif est de ne présenter que les n derniers jours, de ne pas avoir à resélectionner les dates après l'actualisation du Tableau croisé.
Deux cas peuvent se présenter :
soit on veut se référer au 7 derniers jours calendaires, ce qui peut limiter l'analyse aux seuls jours effectivement présents dans cette période,
soit on veut les 7 dernières dates présentes dans la source.
Dans les deux cas il est nécessaire d'ajouter une ou deux formules dans les données sources, mises sous forme de tableau.
1er cas : 7 jours calendaires
Une seule colonne est nécessaire et nous l'intitulons 7 jours
Pour une colonne intitulée Date, la formule de la colonne 7 jours sera la suivante :
=SI(ARRONDI.INF((MAX([Date])-[@Date])/7;0)<>0;1;0)
La colonne utilisera le format nombre Comptabilité en cliquant le bouton adéquat : ce format représente la valeur 0 par un tiret discret
Le champ 7 jours sera placé au dessus du champ Date dans le TCD et sera filtré sur la valeur 0 (représentée par un -)
2ème cas : 7 derniers jours
Deux formules et donc deux colonnes seront nécessaires :
une colonne nommée Date unique contenant la formule suivante pour des dates situées en colonne B
=SI(NB.SI($B$1:B1;[@Date])=0;[@Date];0)
une colonne nommée 7 jours contenant la formule suivante :
=SI([@Date]>=GRANDE.VALEUR([Date unique];7);0;1)
La colonne utilisera le format nombre Comptabilité en cliquant le bouton adéquat : ce format représente la valeur 0 par un tiret discret
Le champ 7 jours sera placé au dessus du champ Date dans le TCD et sera filtré sur la valeur 0 (représentée par un -)
Variante du Cas 2 :
Dans le cas où le tableau source est trié chronologiquement, et uniquement dans ce cas, il est possible de n'ajouter qu'une seule colonne nommée 7 jours contenant la formule suivante, pour des dates situées en colonne B et une colonne 7 jours placée en colonne F :
=SI([@Date]=B3;F3;MIN(RANG([@Date];[Date];0);F3+1))
Le champ 7 jours sera placé au dessus du champ Date dans le TCD et sera filtré sur la valeur de l'étiquette en sélectionnant inférieur ou égal à 7
Ce champ sera formaté avec un format nombre permettant de représenter les valeurs de 1 à 7 sous forme d'un espace : [<=7]"";0
Dans tous les cas, en adaptant les formules, on peut choisir un nombre de jours différent de 7.
Il est même possible de prévoir une cellule pour choisir cette durée variable et donc de baser les formules sur cette cellule.
Seul le dernier exemple de TCD (variante du Cas 2) nécessiterait une adaptation en raison du filtre et du format nombre.
Enfin, on peut décliner cette solution pour des périodes glissantes de n mois ou n années...