Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calculer et afficher les pourcentages dans un histogramme empilé

13 réponses
Avatar
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

10 réponses

1 2
Avatar
JB
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


Avatar
Modeste
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)))

Avatar
desta
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






Avatar
JB
-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 -




Avatar
Modeste
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)))

Avatar
desta
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 -








Avatar
JB
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 -






Avatar
desta
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 -










Avatar
JB
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 m>
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 -








Avatar
desta
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 -












1 2