Filtrer tcd avec une variable VBA

Bonjour à tous,

Premièrement je tiens à m'excuser si la question a déjà été posée. Malgré de nombreuses recherches, je ne parviens pas à fixer mon bug.

J'aimerais filtrer un tableau croisé dynamique à l'aide d'une valeur variable. (filtrer sur une semaine précise)

J'ai réussi sans problème sur un tableau classique mais impossible de trouver une solution pour mon TCD.

Code utilisé :

Sub test()

Dim reponse As String

reponse = InputBox("quel est ton age")

Sheets("feuil4").Activate

With ActiveSheet
.PivotTables("Tableau croisé dynamique1").PivotFields("Semaine").ClearAllFilters
.PivotTables("Tableau croisé dynamique1").PivotFields("Semaine").PivotFilters.Add Type:=xlCaptionEquals, Value1:=reponse

End With

End Sub

Je joins en pièce jointe le fichier.

Merci par avance pour votre temps et votre aide.

Excellent weekend à tous !

Personne ne connait une solution ? =/

bonjour

filtrer non avec une macro mais avec le filtre du TCD

je reviens

Bonjour Jmc,

Le but est de le faire sur plusieurs tableaux qui auront en commun le même filtre avec la variable donc j'aimerais automatiser avec une macro.

Pas possible selon vous ?

re

avec un simple segment

pas de VBA

tu peux associer le segment à plusrieurs TCD

note ; saisir les dates au format jj/mm/aa et si besoin ajouter une colonne Semaine = Semaine(tadate)

car Excel comprend jj/mm/aa pour faire des tas de choses, mais ne comprends rien à 35 dans une colonne.

amitiés

Re,

Merci de m'avoir fait découvrir les segments que je ne connaissais pas.

En revanche, j'ai trouvé une solution plus adaptée à ce que je cherchais. Je laisse le code pour ceux que ça intéresse :

Sub test()

Dim reponse As String

reponse = InputBox("quel est ton age")

'Filtrer tableau classique

'Selection.AutoFilter
'Sheets("Feuil1").Range("A:B").AutoFilter Field:=1, Criteria1:=reponse

On Error GoTo erreur

Sheets("feuil6").Activate
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("semaine"). _
ClearAllFilters

    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("semaine"). _
        CurrentPage = reponse

Exit Sub

erreur:  MsgBox ("Aucune semaine trouvée")

End Sub
Rechercher des sujets similaires à "filtrer tcd variable vba"