Problème de Tableau croisé dynamique avec données filtrées, en VBA.

fwramaro

XLDnaute Nouveau
Bonjour,

J'utilise en VBA le pilotage de création de TCD. Ca fonctionne bien.

Maintenant, je dois modifier le code VBA pour créer le TCD sur un sous-ensemble de données via un filtre (élaboré ou non).
Le filtre s'applique bien sur l'onglet des données.

En revanche, le TCD est toujours basé sur les données non filtrées, càd, sur la totalité des infos.

1/ Est-ce que c'est normal ?

2/ Le cas échéant, par quel biais je pourrai construire par VBA sans faire des sauts de lignes en boucle, ce qui revient à tout parcourir ?

Je vous remercie d'avance pour vos idées lumineuses.
 

Cousinhub

XLDnaute Barbatruc
Re : Problème de Tableau croisé dynamique avec données filtrées, en VBA.

Bonjour fwramaro,
Ton filtre élaboré, tu le fais sur place, ou vers un autre emplacement?
Si sur place, normal que ton TCD prenne toutes les données

Essaie en filtrant vers un autre emplacement, et fais ton TCD à partir de tes données extraites.
 

Bisson

XLDnaute Nouveau
Re : Problème de Tableau croisé dynamique avec données filtrées, en VBA.

Bonjour,

Il faut :

-Créer un tableau intermédiaire (onglet TCD)
-Nom de champ dynamique :
BDExtraction:=DECALER(BDExtrait!$A$1;;;NBVAL(BDExtrait!$A:$A);7)
-Spécifier le nom de champ dynamque dans le TCD.

Sub Extrait()
nf = "BDExtrait"
Sheets(nf).Cells.ClearContents
Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy Sheets(nf).[A1]
Sheets("TCD").PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Calculate
End Sub

Bisson
 

Pièces jointes

  • FiltreAutoTCD.zip
    33.1 KB · Affichages: 127

Discussions similaires

Statistiques des forums

Discussions
312 527
Messages
2 089 355
Membres
104 136
dernier inscrit
redzzo