Pivottables format date ?

Bonjour,

j'ai un TCD avec plusieurs champs que je souhaite filtrer automatiquement :

un champs année : yyyy

mois : mm

jour : dd

ci dessous le code vba. Je ne comprends pas je n'arrive pas à filtrer automatiquement sur le champs "MOIS" sur le mois en cours.

avant de faire sur les autres champs, il faut que ça fonctionne sur ce champs.

merci pour votre aide,

Sub ExactDate()

With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("MOIS")

'--any existing filters need to be cleared first or will error

.ClearAllFilters

'--use international date format to avoid formatting mismatches

.PivotFilters.Add Type:=xlAfter, _

Value1:=Format(Date, "mm")

End With

End Sub

Bonjour,

Merci de joindre un fichier à ta demande.

Cdlt.

bonjour,

pardonnez mes manières ; lien ci dessous :

9test.xlsm (23.49 Ko)

Bonsoir

Essaie avec ce code

Sub Macro2()
    With ActiveSheet.PivotTables(1)
        .PivotFields("Mois").ClearAllFilters
        .PivotFields("Annee").ClearAllFilters
            On Error Resume Next
        .PivotFields("Mois").CurrentPage = Format(Date, "mm")
        .PivotFields("Annee").CurrentPage = Format(Date, "yyyy")
        .PivotCache.Refresh
    End With
End Sub

Cordialement

en fait je veux pouvoir programmer (filtrer) en VBA une màj automatique au démarrage du fichier en fonction de la date du jour.

un fichier incluant la date du jour

un fichier incluant la date du mois en cours et le mois d'après.

et que celle ci se lance automatiquement au démarrage du fichier !


salut,

merci j'essaie et je te dis ce que j'ai.

re

Ok mais si la date du jour n'existe pas dans la feuille données, le TCD ne peut la trouver cela ne fonctionnera pas

Dan ... mon respect éternel !

Ca marche impeccable !!!!

parcontre peux tu juste me dire comment faire pour mettre la date du mois en cours et le mois d'après ?

merci bien,

Re

Date du mois en cours, je suppose que tu parles du jour

Si oui, il suffit de rajouter une ligne dans chaque partie du code

Sub Macro2()
With ActiveSheet.PivotTables(1)
    .PivotFields("Jour").ClearAllFilters
    .PivotFields("Mois").ClearAllFilters
    .PivotFields("Annee").ClearAllFilters
    On Error Resume Next
    .PivotFields("Jour").CurrentPage = Format(Date, "dd")
    .PivotFields("Mois").CurrentPage = Format(Date, "mm")
    .PivotFields("Annee").CurrentPage = Format(Date, "yyyy")
    .PivotCache.Refresh
End With
End Sub

úPour le mois d'après, ... je vois pas ce que tu veux faire et d'autant qu'il n'existe pas dans la base de données

salut,

merci,

en fait,

admettons qu'il existe un mois suivant (le mois de mars par exemple)

et que je veuille filtrer sur le mois de mars et non sur ce mois ci (février).

merci

Re

Pas de solution pour faire cela en automatique sauf complexifier le code en faisant le choix du mois au travers d'une boite à message par exemple.

Sinon une solution en faisant manuellement dans le TCD.

A voir ce qui est désiré

il n'est pas possible de spécifier par exemple ceci ?

Format(Date, "mm + 1") ? ou quelque chose de ce style ?

merci

Re

juste après ON ERROR... tu mets ceci --> Date = Date + 1

ça ne fonctionne pas malheureusement

merci quand même

Re

Il faut que tu aies des jours correspondant à jour +1 dans ta colonne A en feuille Données et que le chiffre mentionnées soit bien de deux caractères.

Essaie avec ce code :

Sub Macro2()
Dim j As Byte
j = Format(Date + 1, "dd")
    With ActiveSheet.PivotTables(1)
        .PivotFields("Mois").ClearAllFilters
        .PivotFields("Annee").ClearAllFilters
        .PivotFields("Jour").ClearAllFilters
            On Error Resume Next
           .PivotFields("Jour").CurrentPage = j
        .PivotFields("Mois").CurrentPage = Format(Date, "mm")
        .PivotFields("Annee").CurrentPage = Format(Date, "yyyy")
        .PivotCache.Refresh
    End With
End Sub

Oublie pas de clôturer le fil si ok.

Crdlt

salut,

merci c'est nickel.

est il possible de spécifier une range ? (une période qu'il prenne en compte)

et de spécifier tous les champs qui n'entre pas dans cette période ?

merci t'es un génie!

Re

waouh ... !! tu aurais du dire cela avant car là, cela devient complexe à faire

Puis comment tu choisis le range ?

Crdlt

Ce qui est désiré est qu'il ait la politesse de faire un retour à ses questions sur les autres forums...

eric

Rechercher des sujets similaires à "pivottables format date"