XL 2010 TCD filtre chronologique (avant aujourd'hui)

  • Initiateur de la discussion Initiateur de la discussion BAT
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

BAT

XLDnaute Occasionnel
Bonjour à tous,

Bon courage si vous n'êtes pas encore ou déjà revenu de congés !

Ma question porte sur les filtres chronologiques des TCD. J'ai dans un colonne un filtre pour afficher uniquement les lignes dont la date est "avant" la date du jour. J'utilise donc le filtre "Avant" dans lequel j'intègre la date du jour.

Hors à chaque fois il faut manuellement renseigner la date du jour, le champ du filtre n'acceptant pas de formule type =aujourdhui().

Avez vous une solution pour ne pas avoir besoin de remettre manuellement la date ?

Merci par avance pour votre aide.

Bien à vous
 
Bonjour,
Pour le principe, une proposition avec une procédure évènementielle à l'activation de la feuille TCD.
Le filtre est automatiquement mis à jour avec la date du jour.
Cdlt.
VB:
Option Explicit

Private Sub Worksheet_Activate()
    With Me.PivotTables(1).PageFields(1)
        If .CurrentPage = Date Then Exit Sub
        .CurrentPage = Date
    End With
End Sub
 

Pièces jointes

Bonjour Jean-Eric,
Merci pour votre retour.
Je n'ai pas réussi à le faire fonctionner. Le TCD affiche toujours 182 au lieu de 103 si je retire les dates supérieur à la date du jour.
Voici le même fichier avec l'attendu. Sachant que sur ma page j'ai plusieurs TCD.
Bien à vous
 

Pièces jointes

Bonjour à tous

Le filtre "année à ce jour" est automatique mais inclus la date du jour.

L'option réappliquer n'étant pas disponible pour les TCD (sauf ajout 2013 ou 2016), il faut néanmoins actualiser ou mieux prévoir l'actualisation du TCD à l'ouverture.
 
Re,
J'avais lu entre les lignes.
Essaie ainsi :
VB:
Option Explicit

Private Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    With Me.PivotTables(1).PivotFields("Date")
        .EnableItemSelection = True
        .ShowAllItems = True
        .ClearAllFilters
        .PivotFilters.Add Type:=xlBefore, Value1:=CStr(Date)
    End With
End Sub
 
Le filtre "année à ce jour" est automatique mais inclus la date du jour.

C'est exactement ça sauf que celui ci est trop restrictif car fonctionne par année. Du coup il n'intègre pas la date si celle ci est antérieur à l'année. Dommage.

Jean-Eric, ça n'a pas marché, ça m'à intégré plein de lignes à mon TCD (tous les jours de l'année)
 
Bonjour

Dans ce cas une solution simple est d'ajouter une colonne à la source avec une formule qui renvoie 1 ou 0 selon que la colonne qui contient la date est < aujourdhui() ou pas et placer ce champ en zone de page filtré sur 1 : cela marchera automatiquement à chaque actualisation.
 
Bonjour,
La même chose avec la propriété ShowAllItems à false!...
Cdlt.
VB:
Private Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    With Me.PivotTables(1).PivotFields("Date")
        .EnableItemSelection = True
        .ShowAllItems = False
        .ClearAllFilters
        .PivotFilters.Add Type:=xlBefore, Value1:=CStr(Date)
    End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
846
Réponses
7
Affichages
696
Retour