Calculer et afficher les pourcentages dans un histogramme empilé

Le
desta
Bonjour,

J'ai actuellement fait un histogramme empilé pour retranscrire la part des
ventes des produits par mois.
Lorsque je fais afficher les étiquettes de données, celles-ci corespondent
au montant des ventes.
Or, j'aimerai que ces nombres soient retranscrit en pourcentage et que les
étiquette de données affichent les pourcentages ainsi obtenus. Un peu comme
pour les camenberts.

Merci par avance pour votre aide.

Desta
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #5163221
Bonjour,

Sub commentaire()
On Error Resume Next
n = 3
For col = 1 To n
Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).ApplyDataLabels
Type:=xlDataLabelsShowLabel
Next
On Error GoTo 0
For i = 1 To
Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
tot = 0
For col = 1 To n
tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Valu es,
i)
Next col
For col = 1 To n

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.Fo nt.Size
= 6
y =
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Valu es,
i) / tot

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.Te xt
= Format(y, "0.00%")
Next col
Next i
End Sub

http://cjoint.com/?cslc06cvZZ

JB
http://boisgontierjacques.free.fr

On 18 fév, 10:18, desta wrote:
Bonjour,

J'ai actuellement fait un histogramme empilé pour retranscrire la part d es
ventes des produits par mois.
Lorsque je fais afficher les étiquettes de données, celles-ci corespon dent
au montant des ventes.
Or, j'aimerai que ces nombres soient retranscrit en pourcentage et que les
étiquette de données affichent les pourcentages ainsi obtenus. Un peu comme
pour les camenberts.

Merci par avance pour votre aide.

Desta


Modeste
Le #5163201
Bonsour® desta avec ferveur ;o))) vous nous disiez :

J'ai actuellement fait un histogramme empilé pour retranscrire la
part des ventes des produits par mois.
Lorsque je fais afficher les étiquettes de données, celles-ci
corespondent au montant des ventes.
Or, j'aimerai que ces nombres soient retranscrit en pourcentage et
que les étiquette de données affichent les pourcentages ainsi
obtenus.


il faut simplement que les nombres correspondent aux pourcentages ;o)))
http://cjoint.com/?cslr5ysmVf


--
--
@+
;o)))

desta
Le #5163111
JB,

Merci bcp pour ta réponse, c exactement ce que je voudrais faire... Par
contre, il s'agit d'une macro c ça ? Si c le cas peux-tu m'expliquer comment
l'activée car là je ne m'y connais pas du tout.
Si ce n'est pas une macro, peux-tu m'expliquer la procédure ?
Merci beaucoup
Desta


Bonjour,

Sub commentaire()
On Error Resume Next
n = 3
For col = 1 To n
Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).ApplyDataLabels
Type:=xlDataLabelsShowLabel
Next
On Error GoTo 0
For i = 1 To
Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
tot = 0
For col = 1 To n
tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Values,
i)
Next col
For col = 1 To n

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.Font.Size
= 6
y > Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Values,
i) / tot

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.Text
= Format(y, "0.00%")
Next col
Next i
End Sub

http://cjoint.com/?cslc06cvZZ

JB
http://boisgontierjacques.free.fr

On 18 fév, 10:18, desta wrote:
Bonjour,

J'ai actuellement fait un histogramme empilé pour retranscrire la part des
ventes des produits par mois.
Lorsque je fais afficher les étiquettes de données, celles-ci corespondent
au montant des ventes.
Or, j'aimerai que ces nombres soient retranscrit en pourcentage et que les
étiquette de données affichent les pourcentages ainsi obtenus. Un peu comme
pour les camenberts.

Merci par avance pour votre aide.

Desta






JB
Le #5163101
-Il s'agit bien d'une macro
-Alt+F11
-Insertion module
-Créer un bouton

http://boisgontierjacques.free.fr/pages_site/enregistrementauto.htm#Executio n

JB


On 18 fév, 13:29, desta wrote:
JB,

Merci bcp pour ta réponse, c exactement ce que je voudrais faire... Par
contre, il s'agit d'une macro c ça ? Si c le cas peux-tu m'expliquer com ment
l'activée car là je ne m'y connais pas du tout.
Si ce n'est pas une macro, peux-tu m'expliquer la procédure ?
Merci beaucoup
Desta




Bonjour,

Sub commentaire()
On Error Resume Next
n = 3
For col = 1 To n
 Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).ApplyDataLabels
Type:=xlDataLabelsShowLabel
Next
On Error GoTo 0
For i = 1 To
Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
  tot = 0
  For col = 1 To n
    tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col). Val­ues,
i)
  Next col
  For col = 1 To n

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabe l.F­ont.Size
= 6
    y =
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col). Val­ues,
i) / tot

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabe l.T­ext
= Format(y, "0.00%")
  Next col
Next i
End Sub

http://cjoint.com/?cslc06cvZZ

JB
http://boisgontierjacques.free.fr

On 18 fév, 10:18, desta wrote:
Bonjour,

J'ai actuellement fait un histogramme empilé pour retranscrire la pa rt des
ventes des produits par mois.
Lorsque je fais afficher les étiquettes de données, celles-ci core spondent
au montant des ventes.
Or, j'aimerai que ces nombres soient retranscrit en pourcentage et que les
étiquette de données affichent les pourcentages ainsi obtenus. Un peu comme
pour les camenberts.

Merci par avance pour votre aide.

Desta- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Modeste
Le #5163051
Bonsour® desta avec ferveur ;o))) vous nous disiez :

Par contre, il s'agit d'une macro c ça ? Si c le cas peux-tu
m'expliquer comment l'activée car là je ne m'y connais pas du tout.


le résultat escompté est possible sans macro !!!!

Si ce n'est pas une macro, peux-tu m'expliquer la procédure ?


création d'une autre serie correspondantes aux Pourcentage calculés
en fait ce que réalise JB, mais la série est alors invisible puisque calculée en
mémoire

--
--
@+
;o)))

desta
Le #5162971
Encore une fois merci mais je n'y arrive pas... J'ai compris dans la macro
qu'il fallait mettre le nombre de colonne à n = (à la place de ton 3).
C'est peut-être à cause de mon tableau car il se compose de 3 données, 2 en
horizontale et une en verticale.
Pour reprendre ton exemple se serait comme si tu avais 2006 en dessous les
12 mois, puis 2007, en dessous les 12 mois, etc. Et en vertical le nom des
produits.

Sinon, la macro indique une erreure sur cette ligne:
tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Values, i)

Merci encore bcp pour ton aide

Desta




-Il s'agit bien d'une macro
-Alt+F11
-Insertion module
-Créer un bouton

http://boisgontierjacques.free.fr/pages_site/enregistrementauto.htm#Execution

JB


On 18 fév, 13:29, desta wrote:
JB,

Merci bcp pour ta réponse, c exactement ce que je voudrais faire... Par
contre, il s'agit d'une macro c ça ? Si c le cas peux-tu m'expliquer comment
l'activée car là je ne m'y connais pas du tout.
Si ce n'est pas une macro, peux-tu m'expliquer la procédure ?
Merci beaucoup
Desta




Bonjour,

Sub commentaire()
On Error Resume Next
n = 3
For col = 1 To n
Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).ApplyDataLabels
Type:=xlDataLabelsShowLabel
Next
On Error GoTo 0
For i = 1 To
Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
tot = 0
For col = 1 To n
tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Val­ues,
i)
Next col
For col = 1 To n

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.F­ont.Size
= 6
y > > > Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Val­ues,
i) / tot

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.T­ext
= Format(y, "0.00%")
Next col
Next i
End Sub

http://cjoint.com/?cslc06cvZZ

JB
http://boisgontierjacques.free.fr

On 18 fév, 10:18, desta wrote:
Bonjour,

J'ai actuellement fait un histogramme empilé pour retranscrire la part des
ventes des produits par mois.
Lorsque je fais afficher les étiquettes de données, celles-ci corespondent
au montant des ventes.
Or, j'aimerai que ces nombres soient retranscrit en pourcentage et que les
étiquette de données affichent les pourcentages ainsi obtenus. Un peu comme
pour les camenberts.

Merci par avance pour votre aide.

Desta- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -








JB
Le #5162951
Met ton fichier en PJ sur http://www.cjoint.com

JB
On 18 fév, 15:19, desta wrote:
Encore une fois merci mais je n'y arrive pas... J'ai compris dans la macro
qu'il fallait mettre le nombre de colonne à n = (à la place de ton 3 ).
C'est peut-être à cause de mon tableau car il se compose de 3 donnée s, 2 en
horizontale et une en verticale.
Pour reprendre ton exemple se serait comme si tu avais 2006 en dessous les
12 mois, puis 2007, en dessous les 12 mois, etc. Et en vertical le nom des
produits.

Sinon, la macro indique une erreure sur cette ligne:
tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Va l­ues, i)

Merci encore bcp pour ton aide

Desta




-Il s'agit bien d'une macro
-Alt+F11
-Insertion module
-Créer un bouton

http://boisgontierjacques.free.fr/pages_site/enregistrementauto.htm#E...

JB

On 18 fév, 13:29, desta wrote:
JB,

Merci bcp pour ta réponse, c exactement ce que je voudrais faire... Par
contre, il s'agit d'une macro c ça ? Si c le cas peux-tu m'expliquer comment
l'activée car là je ne m'y connais pas du tout.
Si ce n'est pas une macro, peux-tu m'expliquer la procédure ?
Merci beaucoup
Desta




Bonjour,

Sub commentaire()
On Error Resume Next
n = 3
For col = 1 To n
 Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).ApplyDataLa bels
Type:=xlDataLabelsShowLabel
Next
On Error GoTo 0
For i = 1 To
Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
  tot = 0
  For col = 1 To n
    tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(c ol).Val­­ues,
i)
  Next col
  For col = 1 To n

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).Data Label.F­­ont.Size
= 6
    y =
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(c ol).Val­­ues,
i) / tot

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).Data Label.T­­ext
= Format(y, "0.00%")
  Next col
Next i
End Sub

http://cjoint.com/?cslc06cvZZ

JB
http://boisgontierjacques.free.fr

On 18 fév, 10:18, desta wrote:
Bonjour,

J'ai actuellement fait un histogramme empilé pour retranscrire l a part des
ventes des produits par mois.
Lorsque je fais afficher les étiquettes de données, celles-ci corespondent
au montant des ventes.
Or, j'aimerai que ces nombres soient retranscrit en pourcentage et que les
étiquette de données affichent les pourcentages ainsi obtenus. Un peu comme
pour les camenberts.

Merci par avance pour votre aide.

Desta- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -






desta
Le #5161931
Voilà, ce n'est qu'un apperçu. Il peut y avoir plus de produits et plus
d'année ou de mois
Merci encore

http://cjoint.com/?cspTPiqEZn

Desta


Met ton fichier en PJ sur http://www.cjoint.com

JB
On 18 fév, 15:19, desta wrote:
Encore une fois merci mais je n'y arrive pas... J'ai compris dans la macro
qu'il fallait mettre le nombre de colonne à n = (à la place de ton 3).
C'est peut-être à cause de mon tableau car il se compose de 3 données, 2 en
horizontale et une en verticale.
Pour reprendre ton exemple se serait comme si tu avais 2006 en dessous les
12 mois, puis 2007, en dessous les 12 mois, etc. Et en vertical le nom des
produits.

Sinon, la macro indique une erreure sur cette ligne:
tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Val­ues, i)

Merci encore bcp pour ton aide

Desta




-Il s'agit bien d'une macro
-Alt+F11
-Insertion module
-Créer un bouton

http://boisgontierjacques.free.fr/pages_site/enregistrementauto.htm#E...

JB

On 18 fév, 13:29, desta wrote:
JB,

Merci bcp pour ta réponse, c exactement ce que je voudrais faire... Par
contre, il s'agit d'une macro c ça ? Si c le cas peux-tu m'expliquer comment
l'activée car là je ne m'y connais pas du tout.
Si ce n'est pas une macro, peux-tu m'expliquer la procédure ?
Merci beaucoup
Desta




Bonjour,

Sub commentaire()
On Error Resume Next
n = 3
For col = 1 To n
Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).ApplyDataLabels
Type:=xlDataLabelsShowLabel
Next
On Error GoTo 0
For i = 1 To
Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
tot = 0
For col = 1 To n
tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Val­­ues,
i)
Next col
For col = 1 To n

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.F­­ont.Size
= 6
y > > > > > Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Val­­ues,
i) / tot

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.T­­ext
= Format(y, "0.00%")
Next col
Next i
End Sub

http://cjoint.com/?cslc06cvZZ

JB
http://boisgontierjacques.free.fr

On 18 fév, 10:18, desta wrote:
Bonjour,

J'ai actuellement fait un histogramme empilé pour retranscrire la part des
ventes des produits par mois.
Lorsque je fais afficher les étiquettes de données, celles-ci corespondent
au montant des ventes.
Or, j'aimerai que ces nombres soient retranscrit en pourcentage et que les
étiquette de données affichent les pourcentages ainsi obtenus. Un peu comme
pour les camenberts.

Merci par avance pour votre aide.

Desta- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -










JB
Le #5161901
Je n'ai pas 2007. Il faut l'enregister au format XLS.

JB
On 18 fév, 15:48, desta wrote:
Voilà, ce n'est qu'un apperçu. Il peut y avoir plus de produits et plu s
d'année ou de mois
Merci encore

http://cjoint.com/?cspTPiqEZn

Desta




Met ton fichier en PJ surhttp://www.cjoint.com

JB
On 18 fév, 15:19, desta wrote:
Encore une fois merci mais je n'y arrive pas... J'ai compris dans la m acro
qu'il fallait mettre le nombre de colonne à n = (à la place de t on 3).
C'est peut-être à cause de mon tableau car il se compose de 3 donn ées, 2 en
horizontale et une en verticale.
Pour reprendre ton exemple se serait comme si tu avais 2006 en dessous les
12 mois, puis 2007, en dessous les 12 mois, etc. Et en vertical le nom des
produits.

Sinon, la macro indique une erreure sur cette ligne:
tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col ).Val­­ues, i)

Merci encore bcp pour ton aide

Desta




-Il s'agit bien d'une macro
-Alt+F11
-Insertion module
-Créer un bouton

http://boisgontierjacques.free.fr/pages_site/enregistrementauto.htm#E ...

JB

On 18 fév, 13:29, desta wrote:
JB,

Merci bcp pour ta réponse, c exactement ce que je voudrais faire ... Par
contre, il s'agit d'une macro c ça ? Si c le cas peux-tu m'expli quer comment
l'activée car là je ne m'y connais pas du tout.
Si ce n'est pas une macro, peux-tu m'expliquer la procédure ?
Merci beaucoup
Desta






Bonjour,

Sub commentaire()
On Error Resume Next
n = 3
For col = 1 To n
 Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).ApplyDa taLabels
Type:=xlDataLabelsShowLabel
Next
On Error GoTo 0
For i = 1 To
Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
  tot = 0
  For col = 1 To n
    tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollecti on(col).Val­­­ues,
i)
  Next col
  For col = 1 To n

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i). DataLabel.F­­­ont.Size
= 6
    y =
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollecti on(col).Val­­­ues,
i) / tot

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i). DataLabel.T­­­ext
= Format(y, "0.00%")
  Next col
Next i
End Sub

http://cjoint.com/?cslc06cvZZ

JB
http://boisgontierjacques.free.fr

On 18 fév, 10:18, desta wrote:
Bonjour,

J'ai actuellement fait un histogramme empilé pour retranscri re la part des
ventes des produits par mois.
Lorsque je fais afficher les étiquettes de données, celles -ci corespondent
au montant des ventes.
Or, j'aimerai que ces nombres soient retranscrit en pourcentag e et que les
étiquette de données affichent les pourcentages ainsi obte nus. Un peu comme
pour les camenberts.

Merci par avance pour votre aide.

Desta- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le text e des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -








desta
Le #5161891
Voila

http://cjoint.com/?csqjWeoOIG




Je n'ai pas 2007. Il faut l'enregister au format XLS.

JB
On 18 fév, 15:48, desta wrote:
Voilà, ce n'est qu'un apperçu. Il peut y avoir plus de produits et plus
d'année ou de mois
Merci encore

http://cjoint.com/?cspTPiqEZn

Desta




Met ton fichier en PJ surhttp://www.cjoint.com

JB
On 18 fév, 15:19, desta wrote:
Encore une fois merci mais je n'y arrive pas... J'ai compris dans la macro
qu'il fallait mettre le nombre de colonne à n = (à la place de ton 3).
C'est peut-être à cause de mon tableau car il se compose de 3 données, 2 en
horizontale et une en verticale.
Pour reprendre ton exemple se serait comme si tu avais 2006 en dessous les
12 mois, puis 2007, en dessous les 12 mois, etc. Et en vertical le nom des
produits.

Sinon, la macro indique une erreure sur cette ligne:
tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Val­­ues, i)

Merci encore bcp pour ton aide

Desta




-Il s'agit bien d'une macro
-Alt+F11
-Insertion module
-Créer un bouton

http://boisgontierjacques.free.fr/pages_site/enregistrementauto.htm#E....

JB

On 18 fév, 13:29, desta wrote:
JB,

Merci bcp pour ta réponse, c exactement ce que je voudrais faire.... Par
contre, il s'agit d'une macro c ça ? Si c le cas peux-tu m'expliquer comment
l'activée car là je ne m'y connais pas du tout.
Si ce n'est pas une macro, peux-tu m'expliquer la procédure ?
Merci beaucoup
Desta






Bonjour,

Sub commentaire()
On Error Resume Next
n = 3
For col = 1 To n
Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).ApplyDataLabels
Type:=xlDataLabelsShowLabel
Next
On Error GoTo 0
For i = 1 To
Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
tot = 0
For col = 1 To n
tot = tot +
Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Val­­­ues,
i)
Next col
For col = 1 To n

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.F­­­ont.Size
= 6
y > > > > > > > Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Val­­­ues,
i) / tot

Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.T­­­ext
= Format(y, "0.00%")
Next col
Next i
End Sub

http://cjoint.com/?cslc06cvZZ

JB
http://boisgontierjacques.free.fr

On 18 fév, 10:18, desta wrote:
Bonjour,

J'ai actuellement fait un histogramme empilé pour retranscrire la part des
ventes des produits par mois.
Lorsque je fais afficher les étiquettes de données, celles-ci corespondent
au montant des ventes.
Or, j'aimerai que ces nombres soient retranscrit en pourcentage et que les
étiquette de données affichent les pourcentages ainsi obtenus. Un peu comme
pour les camenberts.

Merci par avance pour votre aide.

Desta- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -












Publicité
Poster une réponse
Anonyme