TCD : résultats en %

Résolu/Fermé
anthonyy - 9 janv. 2013 à 19:41
 anthonyy - 13 janv. 2013 à 11:42
Bonjour,

j'ai réalisé un tableau croisé dynamique par VBA.
initialement ma ligne résultat affichait des nombres
55|67|122

j'ai trouvé un code pour basculer mes résultats de colonne en % par rapport au total général

With ActiveSheet.PivotTables("Tableau1").PivotFields("Nombre de documents")
.Calculation = xlPercentOfTotal
.NumberFormat = "0.00%"
End With

sauf que mon résultat total s'affiche lui aussi en % et j'obtiens donc
45,08%|54,92%|100%

est il possible
- soit d'afficher 2 lignes (la première avec résultat en nombre et la seconde en %) :
55|67|122
45,08%|54,92%|100%
- soit d'afficher mes résultats de colonne en % mais maintenir le total en nombre :
45,08%|54,92%|122

merci de votre aide

3 réponses

anne do Messages postés 4 Date d'inscription samedi 12 janvier 2013 Statut Membre Dernière intervention 12 janvier 2013
12 janv. 2013 à 22:40
Bonsoir,

Pour obtenir des résultats en pourcentage, tu dois faire un clic droit sur valeur numérique et cliquer sur paremètre de champs de valeurs. Cliquez ensuite sur l'onglet Afficher les valeurs et dans la zone afficher les valeurs sélectionner % de....

cordialement
0
Tessel75 Messages postés 192 Date d'inscription lundi 17 décembre 2012 Statut Membre Dernière intervention 19 janvier 2013 22
12 janv. 2013 à 23:30
Bonsoir,
Le moyen pour faire ce que tu veux faire est relativement simple. Tu doubles le champs que tu mets en "valeurs" avec le même type de comptage, mais ce serait des sommes ce serait pareil, et dans le paramétrage du format des données tu sélectionnes "pourcentage", après tu masques les résultats que tu veux ne pas voir.
Une autre solution est de calculer dans la marge de ton TCD les % en fonctions des résultats en valeurs qui figurent dans le TCD lui-même. Mais il faut que ton code calcule la largeur et la hauteur du TCD pour qu'il mette ces données au bon endroit. Ou bien à faire manuellement.
0
Bonjour et merci pour votre intérêt à ma problématique.

au final j'en suis arrivé à maintenir le TCD avec des valeurs classiques
et au dessus du TCD j'ai créé un tableau qui va pointer mes données avec les formules LIREDONNEETABCROISDYN() et j'impose le format % via cette ligne
je l'ai fait avec l'enregistreur de macro et j'ai obtenu
ActiveCell.FormulaR1C1 = _
"=GETPIVOTDATA(""N° document"",R6C1,""Late to advise"",""OTD OK"")/GETPIVOTDATA(""N° document"",R6C1)"
Selection.NumberFormat = "0.00%"

Merci
0