Bonjour Dan,
J'ai vu vos diverses contributions en matière de TCD et je pense que vous êtes un expert.
Aviez-vous reçu les quelques lignes de code où la page-pivot était pilotée par une variable. Je vous en renvoie une séquence d'une autre page de macro.
...
Sheets('PEO').Select ' la feuille du TCD
Range('A5').Select
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:=var2 ' correction apportée définissant l'adresse exacte des données à traiter
ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('NOM DR'). _
CurrentPage = var1 ' première variable
ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('MDATE'). _
CurrentPage = MDATE 'deuxième variable
ActiveSheet.PivotTables('Tableau croisé dynamique3').RefreshTable
J'ai écrit dans un message que j'avais trouvé une -bête- source d'erreur, elle est corrigée. Je vérifie la longueur exacte de la plage de données à traiter, et la définis pour la valeur de var2
Mais l'appli ne fonctionne pas bien et pas régulièrement : 2 types de messages d'erreur :
- le TCD s'est déconnecté de ses sources ! Et pourtant le rafraichissement manuel fonctionne,
- impossible de lire la propriété current table de la classe pivot field
Souvent,
le deuxième messsage s'affiche quand il y a 2 mises à jour de variable.
En fait dans mon appli, la variable MDATE est inutile (toutes les données de cette rubrique sont identiques). Elles ont été toutes changées dans la plage de données.
Après ce second message d'erreur, le système est fortement déstabilisé==> enregistrement du fichier en cours impossible par exemple...
Mais aujourd'hui tout a très bien tourné!
J'aimerais bien comprendre, car cette possibilité de sélectionner par VBA les valeurs des tables pivots permettrait de gagner du temps et de la place mémoire.
Merci de votre avis et à votre disposition pour tout renseignement complémentaire
ls8