Format TCD

Résolu/Fermé
anthonyy - 10 janv. 2013 à 21:30
 anthonyy - 11 janv. 2013 à 07:12
Bonjour,

voici le lien de mon fichier intégrant ma macro
http://cjoint.com/?3AkvxjTpli8
et voici le lien des TCD que je cherche à obtenir, en vain
http://cjoint.com/?3AkvDPiNZcV
je n'arrive pas à conserver la colonne avec le N° document comme dans la capture d'écran quand je construis le TCD manuellement.
auriez vous une explication ? j'ai pourtant utilisé l'enregistreur de macro

A voir également:

1 réponse

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 249
Modifié par eriiic le 11/01/2013 à 00:56
Bonjour,

C'est cette ligne qui fait ça :
ActiveSheet.PivotTables("Tableau1").AddDataField ActiveSheet.PivotTables( _
"Tableau1").PivotFields("N° document"), "Somme de N° document", xlSum

tu te rappelles des manip effectuées pour le champ data ?

eric

J'ai testé avec Late to advise et xlCount qui me paraissait plus en cohérence avec ton image mais ce n'est pas encore ça...

edit : j'ai trouvé.
Déposer le champ de données fait perdre le champ de colonne.
Inverse et c'est bon :
'mise en place des champs 
With ActiveSheet.PivotTables("Tableau1").PivotFields("N° document") 
    .Orientation = xlRowField 
    .Position = 1 
End With 
ActiveSheet.PivotTables("Tableau1").AddDataField ActiveSheet.PivotTables( _ 
    "Tableau1").PivotFields("Late to advise"), "Nombre de Late to advise", xlCount 
With ActiveSheet.PivotTables("Tableau1").PivotFields("Late to advise") 
    .Orientation = xlColumnField 
    .Position = 1 
End With

J'ai mis Late to advise et xlCount que ça ressemble un peu plus à ton exemple mais tu y mets ce que tu veux
eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
Bonjour eriiic,
pour la manip je mets l'étiquette "N° document" à gauche pour avoir la liste des documents (comme la capture d'écran)
en haut je mets l'étiquette "late to advise" pour avoir les colonnes
et au milieu je mets à nouveau l'étiquette "N° document" car je suis sûr que cette colonne est complétée pour chaque ligne

en le faisant manuellement ça fonctionne mais visiblement la macro condense le tout vu qu'il s'agit de la même étiquette de données (je viens de modifier ma macro en remplaçant N° document par N° client et là j'obtiens la bonne forme ....

ActiveSheet.PivotTables("Tableau1").AddDataField ActiveSheet.PivotTables( _
"Tableau1").PivotFields("N° client"), "Somme de N° client", xlSum

j'ai testé ta proposition et ok ça fonctionne
faut éviter les doublons d'étiquettes visiblement

merci de ton aide
0