Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA - Travail sur Tableaux Croisés - Code optimisable ???

  • Initiateur de la discussion Initiateur de la discussion La braise
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

La braise

XLDnaute Occasionnel
Bonjour à Tous,

J'utilise une macro qui ouvre un fichier modèle, actualise les différents tableaux croisés dynamique et modifie la valeur d'un champ de tous les croisés dynamique.
Mon code est laborieux et est surement optimisable... Je fais largement confiance à votre science... 😛

Mon code :

Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
On Error Resume Next
ws.PivotTables("Tableau croisé dynamique1").PivotFields("Région"). _
CurrentPage = FieldTCD
ws.PivotTables("Tableau croisé dynamique2").PivotFields("Région"). _
CurrentPage = FieldTCD
ws.PivotTables("Tableau croisé dynamique3").PivotFields("Région"). _
CurrentPage = FieldTCD
ws.PivotTables("Tableau croisé dynamique4").PivotFields("Région"). _
CurrentPage = FieldTCD
ws.PivotTables("Tableau croisé dynamique5").PivotFields("Région"). _
CurrentPage = FieldTCD
Next ws​

J'aimerais en une ligne appliquer ma correction de valeur (le champ région dans l'exemple) sur tous les tableaux croisés sans être obligé de les nommer un par un.

D'avance merci pour votre aide et vos pistes de réflexion.

Bon week-end.
 
Re : VBA - Travail sur Tableaux Croisés - Code optimisable ???

bonjour la braise

En 1 ligne c'est peu !!

je te propose de tester
Code:
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
On Error Resume Next
for n=1 to 5
ws.PivotTables("Tableau croisé dynamique" & n).PivotFields("Région"). _
CurrentPage = FieldTCD
next n
on error goto 0
Next ws
 
Re : VBA - Travail sur Tableaux Croisés - Code optimisable ???

Bonjour pierrejean,

En une ligne au lieu d'une par tableau.. 🙂

Ta solution me plait beaucoup... 🙂
Je vais essayer ça au plus vite.

Juste une question :

à quoi sert la commande :
on error goto 0

Merci beaucoup.
 
Re : VBA - Travail sur Tableaux Croisés - Code optimisable ???

Re

on error goto 0 remet la gestion d'erreur dans les conditions d'origine alors que
on error resume next fait passer a la ligne suivante
une gestion rigoureuse demande que l'on ait les 2lignes on error le + proche l'une de l'autre en encadrant la seule ligne pouvant generer une erreur (que l'on connait et que l'on accepte)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2019 Code VBA
Réponses
12
Affichages
940
C
Réponses
0
Affichages
1 K
C
R
Réponses
2
Affichages
945
R
Réponses
10
Affichages
2 K
C
Réponses
4
Affichages
2 K
cerb_r
C
Réponses
2
Affichages
699
C
Réponses
1
Affichages
685
H
Réponses
9
Affichages
994
H
K
Réponses
1
Affichages
1 K
K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…