Application d'un filtre via VBA

Bonjour à tous,

J'aimerais pouvoir appliquer un filtre sur un TCD via VBA. Pour ce faire j'utilise le code suivant, qui fonctionne mais son application est très longue :

Dim pt As PivotItem

For Each pt In ActiveSheet.PivotTables("TCD").PivotFields("CompteNum").PivotItems

pt.Visible = Left(pt.Name, 3) = "401"

Next pt

L'idée de mon filtre est de ne sélectionner que les comptes qui commencent par 401.

Je pense qu'il est possible d'utiliser cette fonction :

ActiveSheet.PivotTables("TCD").PivotFields("CompteNum").ClearAllFilters

ActiveSheet.PivotTables("TCD").PivotFields("CompteNum").PivotFilters.Add Type:=xlCaptionEquals, Value1:=

Mais j'ai beau tourner le truc dans tous les sens je n'arrive à rien, je me tourne donc vers vous .

Bonsoir,

avez vous lancer une fois l'enregistreur de macro ?

Certain vous proposeraient PowerQuery, moi je n'y connais rien en TCD et PowerQuery, et le VBA c'est un peu mieux !

@ bientôt

LouReeD

Oui j'ai essayé avec l'enregistreur mais ça ne donne rien de concluant.

Bonjour,

Une solution simple : ajouter une colonne dans les donn"es pour le compte.

On peut aussi traiter la chose avec Power Query et créer le TCD.

Et enfin, VBA en dernier recours.

As-tu la possibilité de joindre un petit classeur (exemple) ?

Cdlt.

Bonjour Jean-Eric,

J'ai ajouté un exemple de fichier Excel.

J'ai réussi à créer le TCD via VBA, il me manque simplement l'application du filtre.

Il s'agit d'une tâche répétitive que je souhaite automatiser.

Merci

Bonjour,

2 Solutions pour appréhender ta question.

1 - TCD et VBA, avec une colonne supplémentaire dans les données.

2 - TCD et Power Query : Compte 401 spécifique.

Cdlt.

Merci pour ton retour.

Rechercher des sujets similaires à "application filtre via vba"