Filtre dans TCD par macro

mprexcel

XLDnaute Junior
Bonjour à tous,
J'ai un classeur EXCEL dans lequel j'ai plusieurs TCD relié à une feuille reprenant toutes les données. Chaque TCD est sur une feuille séparée.
Par macro, je filtre les données du TCD afin de ne voir que ce qui m'intéresse.

Code:
Worksheets("Sign_GBP").PivotTables("Tableau croisé dynamique1").PivotFields( _
        "GBP - Invoice value without VAT").PivotFilters.Add Type:= _
        xlCaptionDoesNotEqual, Value1:="0"

Le problème est que ce filtre ne fonctionne pas correctemment. Il supprime certaines valeurs nulles mais pas toutes. Pour que cela fonctionne "complètement", il faut que je fasse "manuellement" le chemin dans le filtre et que je clique sur le Ok.
(colonne où le filtre s'applique->filtre s'appliquant aux étiquettes -> est différent de)
Pourtant le filtre est bien mis à "supérieur à" et la valeur est bien "0" (par la macro" et je dois juste appuyer sur Ok à la fin pour que le filtre s'applique "complètement".
Par macro et au moment où je "rentre" dans la feuille avec le TCD, j'efface tous les filtres, pour éviter les mauvaises surprises.
Code:
Worksheets("Sign_GBP").PivotTables("Tableau croisé dynamique1").ClearAllFilters

J'ai aussi essayer de forcer une mise à jour
Code:
 ActiveWorkbook.RefreshAll

Mais cela ne fonctionne pas.

J'ai également essayé, en désespoir de cause, application.volatile mais cela ne fonctionne pas également.
J'ai de plus aussi essayé en enregistrant la macro, mais le résultat est le même.
J'ai finalement remplacer Worksheets("Sign_GBP") par ActiveSheet mais rien n'y fait.
Pour être tout à fait complet, j'ai nommé de la même façon tous les TCD (qui, je le répète, sont sur des feuilles séparées) afin que certaines macros s'appliquent à tous les TCD et éviter ainsi la multiplication des macros.
Le fichier est assez gros et truffé de macro. De plus, EXCEL ne me permet pas de copier la feuille avec le TCD et la feuille de données. Je ne puis donc pas mettre le fichier en pièce jointe.
Pour terminer, mon niveau VBA n'est pas terrible, c'est en utilisant la touche F1, en consultant ce forum et en allant sur Google que je trouve mon "inspiration" ;)

Pourriez-vous m'aider ou me donner des pistes de réflexion car je bloque.
D'avance merci pour votre aide.

Windows 7 64 bit Ultimate
Excel 2010 32 bit
 

mprexcel

XLDnaute Junior
Re : Filtre dans TCD par macro

Re-bonjour à toutes et à tous,
J'ai la solution (chut, on me l'a soufflée... ;-) ).
En fait dans
Code:
Worksheets("Sign_GBP").PivotTables("Tableau croisé dynamique1").PivotFields( _
"GBP - Invoice value without VAT").PivotFilters.Add Type:= _
xlCaptionDoesNotEqual, Value1:="0"
il faut remplacer Value1:="0" par Value1:=0

Bref, j'espère que cela pourra aider d'autres EXCELIENS.
A bientôt et bonne journée à vous.
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal