TCD : Afficher pages à 2 critères

Batiscaf

XLDnaute Occasionnel
Bonjour tout le monde,

j'ai un petit souci avec un tcd, voici le code que l'enregistreur de macro me donne :

ActiveSheet.PivotTables('Tableau croisé dynamique1').ShowPages PageField:= _
'année'
Sheets('2005').Select
ActiveSheet.PivotTables('Tableau croisé dynamique2').ShowPages PageField:= _
'Etat2'
Sheets('2004').Select
ActiveSheet.PivotTables('Tableau croisé dynamique3').ShowPages PageField:= _
'Etat2'

En résumé, j'ai mis 2 critères dans la zone PAGE au moment de la création du tcd global, puis je lui demande la répartition d'un tableau par 'annee', puis un tableau par 'etat2' pour chaque année.

Sans avoir touché la macro enregistrée, elle ne remarche pas.
Existe t-il une solution pour lui faire faire directement les 2 répartions annee/etat2 à partir du tcd global ?

Merci à vous.

Batiscaf.
 

Dan

XLDnaute Barbatruc
Bonsoir,

Bon j'ai bien vu ce que tu fais pour la création des 4 nouvelles feuilles et cela me parait Ok.

Une remarque toutefois, c'est que la macro que je t'ai fait utilise directement les données se trouvant dans le champ de page.
La tienne impose déjà des noms tels que 2004, 2005. Cette macro ne fonctionnera plus en 2006 pusique déjà tu nommes les feuilles dans ta macro. Ce que j'avais essayé d'éviter dans la macro 'resultat'

Je pense que tu dois éviter de nommer des feuilles pour essayer d'être le plus large possible.

Sinon au lieu de la macro résultat, on pourrait à simplifier partir de ta macro 'quatreonglet'.

Dis moi ce que tu veux faire pas à pas car je ne vois pas encore la finalité de ce que tu cherches à effectuer.

;)
 

Batiscaf

XLDnaute Occasionnel
Bonsoir,

Tu as raison, il faut que cette macro fonctionne encore en 2006.

A priori je disposerai toujours :
- que de 2 types d'etat2 : fact et nonf pour le fait que ce soit facturé ou non
- de plusieurs années : 2004, 2005 pour l'instant. mais bien sûr 2006 puis 2007, etc.

C'est pour ça que pour l'instant j'opte pour la macro que tu trouveras jointe.

L'important pour moi est de disposer :
1) au départ du tcd global :
car je le copie dans un nouveau classeur que l'envoie par mail tel quel.
2) au final d'un onglet par année et par état (donc 4 onglets pour 2004-2005 ; 6 onglets pour 2004-2005-2006; pas 8 car je pense qu'en 2007 je n'aurais plus besoin de 2004) :
Pour info, je dois par la suite figer l'ensemble de ces petits tcd et faire des mises en pages différentes selon les valeurs des cellules B1 et B2 de chaque onglet. Et, ce n'est pas encore certain, mais sans doute envoyer les onglets de non facturés dans un service, et les onglets de facturés dans un autre service.
Pour info toujours, j'ai pour l'instant fini les macros de mise en page.

C'est vrai que si je dois me retrouver un jour avec un 3ème type d'etat2 du genre 'non prévu', je serais obligé de modifier ma macro.
Comme tu le dis, il est préférable que tout ce fasse automatiquement.

Voilà.

A ta disposition.

Batiscaf. [file name=basetcd_batiscaf_v03.zip size=29915]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/basetcd_batiscaf_v03.zip[/file]
 

Pièces jointes

  • basetcd_batiscaf_v03.zip
    29.2 KB · Affichages: 27

Dan

XLDnaute Barbatruc
Bonjour,

Me revoici avec une solution qui devrait être celle que tu attends.

J'ai rajouté une macro qui permet de nommer les onglets en fonction des résultats de TCD.
Je résume :

1. tcd2critères : macro de constitution du TCD à partir de la base de donnée dans la feuille 'prepa'. Raccourci clavier CTRL + t (sous windows)

2. Supprime : macro de suppressin des feuilles. Elle fonctionne pendant la macro au point 1.

3. Onglet : macro pour réaliser les TCD de résultats en fonction de l'année et de l'état2.

4. Nom : Macro pour attribuer un nom aux onglets des feuilles de résultats. Elle fonctionne pendant l'exécution de la macro 'Onglet'. Raccourci clavier CTRL + q (sous windows).

NB : La macro 'resultat' ne sert plus à rien dans cette version.

Bonne lecture.

;) [file name=basetcd_batiscaf_v04.zip size=48024]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/basetcd_batiscaf_v04.zip[/file]
 

Pièces jointes

  • basetcd_batiscaf_v04.zip
    46.9 KB · Affichages: 39

Batiscaf

XLDnaute Occasionnel
Bonjour Dan, le forum,

Super ! :woohoo:

j'ai testé sur une base réelle d'environ 3000 lignes et il n'y aucun problème de capacité.

UN TRES GRAND MERCI !

Il me reste encore le petit détail d'avoir mes lignes de sous-totaux régies/clients et mon total général en gras et entourés, mais je vais essayer de me débrouiller tous seul avant de t'appeler à la rescousse.

Désolé de t'avoir autant embêté.

Bonne journée.

Batiscaf.
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 529
dernier inscrit
moket07