XL 2013 TCD : filtre dans champ Page / comment exprimer une restriction en VBA ?

Sebast

XLDnaute Impliqué
Bonsoir à toutes et à tous,

qui peut me dire comment, par VBA, introduire une restriction dans un filtre placé en champ Page ?

J'y arrive quand c'est directement dans la source, c’est-à-dire les colonnes les unes à côté des autres, mais pas dans un TCD.
Je sais que je peux après coup, à la mano saisir la restriction dans le filtre mais j'ai tellement de TCD que je ne veux pas prendre le risque d'oublier.

Par exemple pour filtrer sur le champ "Emballage" tout ce qui contient la chaîne "CORB"

On constate que pour filtrer dans la table, RAS, on a une instruction simple et lisible :

Code:
Sub Filtre_Source()
With Sheets("Source")
    .Range("$A$1:$H$9048").AutoFilter Field:=2, Criteria1:="=*CORB*"
End With
End Sub
alors que quand on est dans le TCD, la sélection se fait par défaut (en gros, l'enregistreur n'affiche pas ce qui n'est pas "CORB" mais traduit cela non pas en code mais en une liste - négative) à la Prévert …

Quelqu'un a-t-il une idée comment exprimer cela en VBA ?

Merci d'avance
 

Pièces jointes

  • Filtration_TCD_champ_Page_04042016.xlsm
    278 KB · Affichages: 66

Bebere

XLDnaute Barbatruc
Re : TCD : filtre dans champ Page / comment exprimer une restriction en VBA ?

bonjour Sebastien
je pense qu'il faut rafraichir le tcd avant
2 exemples ou mettre la ligne dans ton code
Private Sub Worksheet_Activate()
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh 'ligne
End Sub

Pour actualiser plusieurs tcd
Private Sub Worksheet_Activate()
ActiveWorkbook.RefreshAll 'ligne
End Sub
 

Statistiques des forums

Discussions
312 230
Messages
2 086 427
Membres
103 207
dernier inscrit
Michel67