eclater un tableau croise dynamique

  • Initiateur de la discussion Initiateur de la discussion ike667
  • 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 !

ike667

XLDnaute Nouveau
bonjour,

comme je sèche sur ce problème, je m'en remet a vous:

en fait mon problème est le suivant: je souhaite mettre les différents occurrences du champ PivotField dans la même page.
la fonction ActiveSheet.PivotTables("tcd").ShowPages PageField := "UFSERV"
fait une chose quasi similaire car elle crée une page par occurrence. je veux toutes les occurrences dans la même page.

si vous avez des idées pour le faire ???

merci d'avance.

Michael
 
Re : eclater un tableau croise dynamique

Re:
est il possible de compter le nombre d'item du champ pagesFields ?
mieux d'y remettre le fichier pour mieux comprendre,

ci-joint un petite exemple,
en se positionnant dans le tableau, clickez souris droite, > paramètres de champ < sélecionnez: Nombre
peut-être ceci le résoud,
 

Pièces jointes

Re : eclater un tableau croise dynamique

désolé, mais la fonction ne me renvoie pas le nom d'itération que comprend le champ UFSERV

j'ai 4 occurrences dont le (tout) et la fonction ne retourne 38....😕

si une autre idée je suis preneur car je n'en ai pas encore trouvé.

cordialement,
Michael
 
Re : eclater un tableau croise dynamique

une nouvelle fois, je suis désolé mais je ne peux pas mettre le fichier en peice jointe:
- donnée confidentielle
- access a une base de données oracle distante ( je suis a limoges la base est a brive)

ce que je souhaite faire :

faire une fonction qui permet de mettre tous les tableaux croisés dynamiques les uns a la suites des autres comme le fait le bouton "Afficher les pages"
mais au lieu qui soit sur des onglets différents il me les faut sur le même onglet

j'ai découpé le problème en sous problème et le premier a réglé est de connaitre le nombre de tableau qui peut y avoir car en effet le tableau croisé dynamique dépend d'un paramètre de service et suivant les services je n'ai pas le même nombre d'itération dans la variable de regroupement(pivot pages)

voila a peut prêt ce que j'essaie de faire.

cordialement,
Michael
ps: merci beaucoup de se pencher sur mon problème
 
Re : eclater un tableau croise dynamique

Re

comprends pas trop, si j'execute la ligne de code que je t'ais donné, j'obtiens bien le bon nombre de pages que m'afficherait le bouton "Afficher les pages". Mais attention les TCD garde en "mémoire" tous les items précédemment utilisées...

@+
 
Re : eclater un tableau croise dynamique

Bonjour Ike

essaye peut être la macro de Debra Dalgleish ci dessous :

Code:
Sub NettoieItemTCD()
'macro de Debra Dalgleish
Dim ws As Worksheet, pt As PivotTable, pf As PivotField
Dim pi As PivotItem, i As Integer
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
    For Each pt In ws.PivotTables
    pt.RefreshTable
        For Each pf In pt.PivotFields
            For Each pi In pf.PivotItems
                If pi.RecordCount = 0 And Not pi.IsCalculated Then pi.Delete
            Next
        Next
    Next
Next
End Sub

bonne journée
@+
 
Re : eclater un tableau croise dynamique

re,

après test, je remarque que une fois sur 5 j'ai le bon nombre d'items pourtant je lance la procédure a chaque actualisation du tableau croise.

comment modifier le code pour que ce soit juste a chaque actualisation?
comment l'accélérer car avec les autres traitements ça devient long?

cordialement,
Michael
 
- 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

Retour