Bonjour,
J'ai une base de données qui alimente un TCD. Cette base de données est importée plusieurs fois par jour (annule et remplace l'import précédent).
Je dois extraire les données du TCD répondant aux critères : Lib Marque Fab = Mq B et Lib Pays Dest = Pays-Bas (les données sont volontairement fausses - j'adapterai le code en fonction). Les données extraites du total alimentent une nouvelle feuille (identique au double-clic sur le grand total du TCD).
J'ai crée un code VBA pour filtrer sur ces éléments. Je souhaite obtenir la liste répondant à la fonction .ShowDetail = True, mais le Grand Total n'est jamais au même endroit (dans le fichier joint il est en G13 mais en fonction des éléments additionnés ou retirés à la base, il peut être ailleurs).
Je peine à trouver le code qui permette de sélectionner le total du TCD et d'en extraire les valeurs dans une nouvelle feuille.
Merci de vos aides et conseils
Merci pour ce lien Chris. J'ai compris la démarche globale d'Herdet dans son fichier, mais je peine à l'adapter à mon cas (peut-être parce que je suis à mes débuts en VBA !). La propriété est reconnue par la version 2003, mais je n'ai sans doute pas utilisé la bonne syntaxe.
DataBodyRange Edit me retourne une erreur. DataBodyRange.Select fonctionne mais ne permet pas d'accéder au détail avec Selection.Showdetail = True.
Une idée sur ce qui ne fonctionne pas ?
Merci Chris. Les codes sont en version image - je ne peux pas les voir intégralement. Je suis preneur de ta méthode qui semble différente de celle que j'ai bricolé entre temps dont voici le résultat :
For Each pvt In ActiveSheet.PivotTables
With pvt
.ColumnGrand = True
.RowGrand = True
End With
Set rng = pvt.DataBodyRange
rng.Cells(rng.Rows.Count, rng.Columns.Count).ShowDetail = True
Next pvt
Bien à toi,
Oui c'est parfait et même plus élégant que ma proposition
(j'ai mis dans des balises code : c'est curieux que tu aies un PB. Signale-le à notre Webmaster...)