Filtre tableau croisé dynamique selon deux dates

Bonjour à tous,

j'espère que vous passer un bon Mercredi après midi

En faite, j'ai sur la même feuille excel appelé "crois" , 7 tableaux croisés dynamique qui sont des sources différentes, mais qui ont un champs commun sur lequel on va pointé appelé "Date début réel".

l'idée c'est que je dois introduire dans des deux cellules M1 et O1 deux dates différentes. Une fois la date est introduite je veux récupérer les données entre ces deux dates. Donc j'ai essayé avec macro j'ai fais le code suivant:

Private Sub Worksheet_Activate()

Dim i As Integer

Application.ScreenUpdating = False

'Set crois = ActiveSheet

For i = 1 To 7

ActiveSheet.PivotTables("tab" & i).PivotFields("Date début réel" ). _

ClearAllFilters

ActiveSheet.PivotTables("tab" & i).PivotFields("Date début réel" ). _

PivotFilters.Add Type:=xlDateBetween, Value1:=Range("M1" ).Value, Value2:=Range("O1" ).Value

Next

End Sub

Mais il ne marche pas je ne sais pas pourquoi

J'espère avoir été assez clair dans mes explications et en attente de réponses, je vous souhaite une excellente fin de journées.

Cordialement

Mamoucha

bonjour

joins un fichier, avec seulement le tableau des données et le(s) TCD à filtrer

je pense que VBA est inutile

Merci pour votre réponse, je ne peux pas en faite vous envoyer le fichier car c'est un fichier de travail, un peu confidentiel je peux vous décrire le phénomène avec plus de détails:

J'ai 3 feuilles:

Feuille 1 : feuilles de données 1

Feuille 2: Feuilles de données 2

Feuille 3: la ou il y a les croisés dynamiques , cette feuille est appelé crois, dans laquelle j'ai 7 tableaux croisé dynamique ( tab1, tab2, tab3, tab4, tab5, tab6, tab7)

les données des tab1, tab2 et tab3 sont de la feuille 1

les données des tab4, tab5, tab6 et tab7 sont de la feuille 2

les différents tableaux sont pointés sur une cellule date.

Donc je veux sur la même feuille ( Feuille 3) insérer deux dates dans deux cellules différentes( date début et date fin), le moment ou je sélectionne les date je peux récupérer les données qui sont dans enregistrées dans cet intervalle.

Mercii

Bonjour,

Pour le principe.

A tester.

Cdlt

Private Sub Worksheet_Activate()
Dim strPF As PivotField

    Application.ScreenUpdating = False
    strPF = "Date début réel"

    For Each PT In Me.PivotTables
        PT.PivotCache.Refresh
        PT.ManualUpdate = True
        With PT.PivotFields(strPF)
            .EnableItemSelection = True
            .ClearAllFilters
        End With
        PT.PivotFields(strPF).PivotFilters.Add _
                Type:=xlDateBetween, _
                Value1:=CStr(Me.Cells(13)), _
                Value2:=CStr(Me.Cells(15))
        PT.ManualUpdate = False
    Next PT

End Sub

Merci bien

Mais j'arrive pas à comprendre comment je peux intégrer ce code dans mon exercice

Cordialement

Re,

C'est à toi d'en dire plus et de joindre un fichier, que l'on sache vraiment ce que tu souhaites.

Cdlt.

Bonsoir ,,

Voila le fichier

Cordialement

64test.xlsm (146.26 Ko)

Bonjour,

Une proposition à tester.

A te relire.

Cdlt.

Bonjour Jean,

Merci beaucoup c'est génial ,

Juste lorsque j'ai choisi deux dates par exemple le 30/08/2015 et 31/08/2015 il va cocher les deux dates 30 , 31 et une autre date que j'ai pas choisie.

Cordialement

[quote="mamoucha"

Mamoucha [/quote]

Bonjour,

ça ressemble très fort à des données tirées de SAP non ?

Il ne serait pas plus prudent et + clair de mettre tes tcd dans des onglets séparés ou de les décaler (le 2e en bas à droite du 1er, le 3e en bas à droite du 2e ?)

Si tu modifies la structure du 1er il va tuer les autres ...

Merci infiniment pour vos aides

Rechercher des sujets similaires à "filtre tableau croise dynamique deux dates"