Afficher étiquettes et valeurs sur un graphe en secteurs
8 réponses
Jean-Baptiste
Bonjour,
Je cherche à faire afficher sur les étiquettes d'un diagramme en
secteurs à la fois les étiquettes et les valeurs. Exactement comme le
fait l'option Excel "Etiquette et Pourcentage" mais avec les valeurs à
la place des pourcentages.
Je pensais avoir trouvé une solution en ajoutant des zones de texte
reprenant les valeurs par une formule mais lorsque je change mes données
le positionnement des étiquettes ne correspond plus avec celui des
secteurs mis à jour.
Je suppose qu'il doit exister une solution par VBA mais je n'en suis
qu'au stade du tatonnement sur VBA et je ne l'ai jamais utilisé pour
paramétrer des graphiques.
Je cherche à faire afficher sur les étiquettes d'un diagramme en secteurs à la fois les étiquettes et les valeurs. Exactement comme le fait l'option Excel "Etiquette et Pourcentage" mais avec les valeurs à la place des pourcentages. Je pensais avoir trouvé une solution en ajoutant des zones de texte reprenant les valeurs par une formule mais lorsque je change mes données le positionnement des étiquettes ne correspond plus avec celui des secteurs mis à jour. Je suppose qu'il doit exister une solution par VBA mais je n'en suis qu'au stade du tatonnement sur VBA et je ne l'ai jamais utilisé pour paramétrer des graphiques.
Merci beaucoup de votre aide.
Bonjour,
Pour un graphe 'secteurs', il y a dans 'Graphique/Options du
graphique' 'catégorie, valeur et %'.
Pour des étiquettes qui n'appartiennent pas aux données du graphe:
On 2 juin, 22:52, Jean-Baptiste <jb.capg...@tiscali.fr> wrote:
Bonjour,
Je cherche à faire afficher sur les étiquettes d'un diagramme en
secteurs à la fois les étiquettes et les valeurs. Exactement comme le
fait l'option Excel "Etiquette et Pourcentage" mais avec les valeurs à
la place des pourcentages.
Je pensais avoir trouvé une solution en ajoutant des zones de texte
reprenant les valeurs par une formule mais lorsque je change mes données
le positionnement des étiquettes ne correspond plus avec celui des
secteurs mis à jour.
Je suppose qu'il doit exister une solution par VBA mais je n'en suis
qu'au stade du tatonnement sur VBA et je ne l'ai jamais utilisé pour
paramétrer des graphiques.
Je cherche à faire afficher sur les étiquettes d'un diagramme en secteurs à la fois les étiquettes et les valeurs. Exactement comme le fait l'option Excel "Etiquette et Pourcentage" mais avec les valeurs à la place des pourcentages. Je pensais avoir trouvé une solution en ajoutant des zones de texte reprenant les valeurs par une formule mais lorsque je change mes données le positionnement des étiquettes ne correspond plus avec celui des secteurs mis à jour. Je suppose qu'il doit exister une solution par VBA mais je n'en suis qu'au stade du tatonnement sur VBA et je ne l'ai jamais utilisé pour paramétrer des graphiques.
Merci beaucoup de votre aide.
Francois L
Bonjour,
Je cherche à faire afficher sur les étiquettes d'un diagramme en secteurs à la fois les étiquettes et les valeurs. Exactement comme le fait l'option Excel "Etiquette et Pourcentage" mais avec les valeurs à la place des pourcentages. Je pensais avoir trouvé une solution en ajoutant des zones de texte reprenant les valeurs par une formule mais lorsque je change mes données le positionnement des étiquettes ne correspond plus avec celui des secteurs mis à jour. Je suppose qu'il doit exister une solution par VBA mais je n'en suis qu'au stade du tatonnement sur VBA et je ne l'ai jamais utilisé pour paramétrer des graphiques.
Bonjour,
Un exemple simple qui suppose que les noms soient dans la colonne A, à partir de A1 et les valeurs dans la colonne B, à partir de B1 et que le graphique soit sur la même feuille que les données sources. Sinon, il faut adapter la ligne : .DataLabel.Text = Range("A" & i).Value & " : " & Range("B" & i).Value
Sélectionner le graphique et exécuter la macro.
Attention, si les données sources changent, il faut re-exécuter la macro pour que les étiquettes se mettent à jour. '------------------------------------------------------------- Sub etiqu() Dim i As Integer With ActiveChart 'Le graphique doit être sélectionné For i = 1 To .SeriesCollection(1).Points.Count With .SeriesCollection(1).Points(i) .HasDataLabel = True .DataLabel.Text = Range("A" & i).Value & " : " & Range("B" & i).Value End With Next End With End Sub '---------------------------------------------------------------
-- François L
Bonjour,
Je cherche à faire afficher sur les étiquettes d'un diagramme en
secteurs à la fois les étiquettes et les valeurs. Exactement comme le
fait l'option Excel "Etiquette et Pourcentage" mais avec les valeurs à
la place des pourcentages.
Je pensais avoir trouvé une solution en ajoutant des zones de texte
reprenant les valeurs par une formule mais lorsque je change mes données
le positionnement des étiquettes ne correspond plus avec celui des
secteurs mis à jour.
Je suppose qu'il doit exister une solution par VBA mais je n'en suis
qu'au stade du tatonnement sur VBA et je ne l'ai jamais utilisé pour
paramétrer des graphiques.
Bonjour,
Un exemple simple qui suppose que les noms soient dans la colonne A, à
partir de A1 et les valeurs dans la colonne B, à partir de B1 et que le
graphique soit sur la même feuille que les données sources. Sinon, il
faut adapter la ligne :
.DataLabel.Text = Range("A" & i).Value & " : " & Range("B" & i).Value
Sélectionner le graphique et exécuter la macro.
Attention, si les données sources changent, il faut re-exécuter la macro
pour que les étiquettes se mettent à jour.
'-------------------------------------------------------------
Sub etiqu()
Dim i As Integer
With ActiveChart 'Le graphique doit être sélectionné
For i = 1 To .SeriesCollection(1).Points.Count
With .SeriesCollection(1).Points(i)
.HasDataLabel = True
.DataLabel.Text = Range("A" & i).Value & " : " & Range("B" & i).Value
End With
Next
End With
End Sub
'---------------------------------------------------------------
Je cherche à faire afficher sur les étiquettes d'un diagramme en secteurs à la fois les étiquettes et les valeurs. Exactement comme le fait l'option Excel "Etiquette et Pourcentage" mais avec les valeurs à la place des pourcentages. Je pensais avoir trouvé une solution en ajoutant des zones de texte reprenant les valeurs par une formule mais lorsque je change mes données le positionnement des étiquettes ne correspond plus avec celui des secteurs mis à jour. Je suppose qu'il doit exister une solution par VBA mais je n'en suis qu'au stade du tatonnement sur VBA et je ne l'ai jamais utilisé pour paramétrer des graphiques.
Bonjour,
Un exemple simple qui suppose que les noms soient dans la colonne A, à partir de A1 et les valeurs dans la colonne B, à partir de B1 et que le graphique soit sur la même feuille que les données sources. Sinon, il faut adapter la ligne : .DataLabel.Text = Range("A" & i).Value & " : " & Range("B" & i).Value
Sélectionner le graphique et exécuter la macro.
Attention, si les données sources changent, il faut re-exécuter la macro pour que les étiquettes se mettent à jour. '------------------------------------------------------------- Sub etiqu() Dim i As Integer With ActiveChart 'Le graphique doit être sélectionné For i = 1 To .SeriesCollection(1).Points.Count With .SeriesCollection(1).Points(i) .HasDataLabel = True .DataLabel.Text = Range("A" & i).Value & " : " & Range("B" & i).Value End With Next End With End Sub '---------------------------------------------------------------
-- François L
Francois L
Bonjour,
Pour un graphe 'secteurs', il y a dans 'Graphique/Options du graphique' 'catégorie, valeur et %'.
Bonjour JB (et les autres levés tôt),
Pas de ça dans mon XL2000 !
-- François L
Bonjour,
Pour un graphe 'secteurs', il y a dans 'Graphique/Options du
graphique' 'catégorie, valeur et %'.
Je cherche à faire afficher sur les étiquettes d'un diagramme en secteurs à la fois les étiquettes et les valeurs. Exactement comme le fait l'option Excel "Etiquette et Pourcentage" mais avec les valeurs à la place des pourcentages. Je pensais avoir trouvé une solution en ajoutant des zones de texte reprenant les valeurs par une formule mais lorsque je change mes données le positionnement des étiquettes ne correspond plus avec celui des secteurs mis à jour. Je suppose qu'il doit exister une solution par VBA mais je n'en suis qu'au stade du tatonnement sur VBA et je ne l'ai jamais utilisé pour paramétrer des graphiques.
Merci beaucoup de votre aide.
Re-bonjour,
La solution de François L a très bien fonctionné. Merci encore de votre aide. J'ai maintenant une autre question : comment puis-je attribuer à une constante le numéro de la ligne de la première valeur source du graphique. Pour plus de clarté, dans la copie du code ci-dessous, le 47 permet de commencer la lecture des étiquettes à la première ligne des sources et non à la ligne 1. Je souhaiterai pouvoir attribuer le n° de ligne de la source directement afin de pouvoir l'utiliser avec n'importe que graphique.
J'espère que ma demande est assez claire.
Merci beaucoup,
Jean-Baptiste
Code :
Sub EtiquettesEtValeursA()
Dim i As Integer With ActiveChart 'Le graphique doit être sélectionné
d = .SeriesCollection(1).Points.Count For i = 1 To d With .SeriesCollection(1).Points(i) .HasDataLabel = True .DataLabel.Text = Range("A" & i + 47).Value & " : " & Range("B" & i + 47).Value End With Next End With
End Sub
Bonjour,
Pour un graphe 'secteurs', il y a dans 'Graphique/Options du
graphique' 'catégorie, valeur et %'.
Pour des étiquettes qui n'appartiennent pas aux données du graphe:
On 2 juin, 22:52, Jean-Baptiste <jb.capg...@tiscali.fr> wrote:
Bonjour,
Je cherche à faire afficher sur les étiquettes d'un diagramme en
secteurs à la fois les étiquettes et les valeurs. Exactement comme le
fait l'option Excel "Etiquette et Pourcentage" mais avec les valeurs à
la place des pourcentages.
Je pensais avoir trouvé une solution en ajoutant des zones de texte
reprenant les valeurs par une formule mais lorsque je change mes données
le positionnement des étiquettes ne correspond plus avec celui des
secteurs mis à jour.
Je suppose qu'il doit exister une solution par VBA mais je n'en suis
qu'au stade du tatonnement sur VBA et je ne l'ai jamais utilisé pour
paramétrer des graphiques.
Merci beaucoup de votre aide.
Re-bonjour,
La solution de François L a très bien fonctionné. Merci encore de votre
aide.
J'ai maintenant une autre question : comment puis-je attribuer à une
constante le numéro de la ligne de la première valeur source du graphique.
Pour plus de clarté, dans la copie du code ci-dessous, le 47 permet de
commencer la lecture des étiquettes à la première ligne des sources et
non à la ligne 1. Je souhaiterai pouvoir attribuer le n° de ligne de la
source directement afin de pouvoir l'utiliser avec n'importe que graphique.
J'espère que ma demande est assez claire.
Merci beaucoup,
Jean-Baptiste
Code :
Sub EtiquettesEtValeursA()
Dim i As Integer
With ActiveChart 'Le graphique doit être sélectionné
d = .SeriesCollection(1).Points.Count
For i = 1 To d
With .SeriesCollection(1).Points(i)
.HasDataLabel = True
.DataLabel.Text = Range("A" & i + 47).Value & " : " & Range("B" & i
+ 47).Value
End With
Next
End With
Je cherche à faire afficher sur les étiquettes d'un diagramme en secteurs à la fois les étiquettes et les valeurs. Exactement comme le fait l'option Excel "Etiquette et Pourcentage" mais avec les valeurs à la place des pourcentages. Je pensais avoir trouvé une solution en ajoutant des zones de texte reprenant les valeurs par une formule mais lorsque je change mes données le positionnement des étiquettes ne correspond plus avec celui des secteurs mis à jour. Je suppose qu'il doit exister une solution par VBA mais je n'en suis qu'au stade du tatonnement sur VBA et je ne l'ai jamais utilisé pour paramétrer des graphiques.
Merci beaucoup de votre aide.
Re-bonjour,
La solution de François L a très bien fonctionné. Merci encore de votre aide. J'ai maintenant une autre question : comment puis-je attribuer à une constante le numéro de la ligne de la première valeur source du graphique. Pour plus de clarté, dans la copie du code ci-dessous, le 47 permet de commencer la lecture des étiquettes à la première ligne des sources et non à la ligne 1. Je souhaiterai pouvoir attribuer le n° de ligne de la source directement afin de pouvoir l'utiliser avec n'importe que graphique.
J'espère que ma demande est assez claire.
Merci beaucoup,
Jean-Baptiste
Code :
Sub EtiquettesEtValeursA()
Dim i As Integer With ActiveChart 'Le graphique doit être sélectionné
d = .SeriesCollection(1).Points.Count For i = 1 To d With .SeriesCollection(1).Points(i) .HasDataLabel = True .DataLabel.Text = Range("A" & i + 47).Value & " : " & Range("B" & i + 47).Value End With Next End With
End Sub
Francois L
J'ai maintenant une autre question : comment puis-je attribuer à une constante le numéro de la ligne de la première valeur source du graphique. Pour plus de clarté, dans la copie du code ci-dessous, le 47 permet de commencer la lecture des étiquettes à la première ligne des sources et non à la ligne 1. Je souhaiterai pouvoir attribuer le n° de ligne de la source directement afin de pouvoir l'utiliser avec n'importe que graphique.
Re,
Ce qui suit ?
Sub EtiquettesEtValeursA(ValBase As Integer)
Dim i As Integer With ActiveChart 'Le graphique doit être sélectionné
d = .SeriesCollection(1).Points.Count For i = 1 To d With .SeriesCollection(1).Points(i) .HasDataLabel = True .DataLabel.Text = Range("A" & i + ValBase).Value & " : " & Range("B" & i + ValBase).Value End With Next End With
End Sub
Sub test() EtiquettesEtValeursA (46) End Sub
-- François L
J'ai maintenant une autre question : comment puis-je attribuer à une
constante le numéro de la ligne de la première valeur source du graphique.
Pour plus de clarté, dans la copie du code ci-dessous, le 47 permet de
commencer la lecture des étiquettes à la première ligne des sources et
non à la ligne 1. Je souhaiterai pouvoir attribuer le n° de ligne de la
source directement afin de pouvoir l'utiliser avec n'importe que graphique.
Re,
Ce qui suit ?
Sub EtiquettesEtValeursA(ValBase As Integer)
Dim i As Integer
With ActiveChart 'Le graphique doit être sélectionné
d = .SeriesCollection(1).Points.Count
For i = 1 To d
With .SeriesCollection(1).Points(i)
.HasDataLabel = True
.DataLabel.Text = Range("A" & i + ValBase).Value & " : " &
Range("B" & i + ValBase).Value
End With
Next
End With
J'ai maintenant une autre question : comment puis-je attribuer à une constante le numéro de la ligne de la première valeur source du graphique. Pour plus de clarté, dans la copie du code ci-dessous, le 47 permet de commencer la lecture des étiquettes à la première ligne des sources et non à la ligne 1. Je souhaiterai pouvoir attribuer le n° de ligne de la source directement afin de pouvoir l'utiliser avec n'importe que graphique.
Re,
Ce qui suit ?
Sub EtiquettesEtValeursA(ValBase As Integer)
Dim i As Integer With ActiveChart 'Le graphique doit être sélectionné
d = .SeriesCollection(1).Points.Count For i = 1 To d With .SeriesCollection(1).Points(i) .HasDataLabel = True .DataLabel.Text = Range("A" & i + ValBase).Value & " : " & Range("B" & i + ValBase).Value End With Next End With
End Sub
Sub test() EtiquettesEtValeursA (46) End Sub
-- François L
Francois L
J'ai maintenant une autre question : comment puis-je attribuer à une constante le numéro de la ligne de la première valeur source du graphique. Pour plus de clarté, dans la copie du code ci-dessous, le 47 permet de commencer la lecture des étiquettes à la première ligne des sources et non à la ligne 1. Je souhaiterai pouvoir attribuer le n° de ligne de la source directement afin de pouvoir l'utiliser avec n'importe que graphique.
Bonjour,
La solution qui suit est indépendante de l'emplacement des données sources :
'-------------------------------------- Sub test() With ActiveChart.SeriesCollection(1) For i = 1 To .Points.Count X = Application.WorksheetFunction.Index(.XValues, i) Y = Application.WorksheetFunction.Index(.Values, i) .Points(i).HasDataLabel = True .Points(i).DataLabel.Text = X & " : " & Y Next End With End Sub '---------------------------------------
-- François L
J'ai maintenant une autre question : comment puis-je attribuer à une
constante le numéro de la ligne de la première valeur source du graphique.
Pour plus de clarté, dans la copie du code ci-dessous, le 47 permet de
commencer la lecture des étiquettes à la première ligne des sources et
non à la ligne 1. Je souhaiterai pouvoir attribuer le n° de ligne de la
source directement afin de pouvoir l'utiliser avec n'importe que graphique.
Bonjour,
La solution qui suit est indépendante de l'emplacement des données sources :
'--------------------------------------
Sub test()
With ActiveChart.SeriesCollection(1)
For i = 1 To .Points.Count
X = Application.WorksheetFunction.Index(.XValues, i)
Y = Application.WorksheetFunction.Index(.Values, i)
.Points(i).HasDataLabel = True
.Points(i).DataLabel.Text = X & " : " & Y
Next
End With
End Sub
'---------------------------------------
J'ai maintenant une autre question : comment puis-je attribuer à une constante le numéro de la ligne de la première valeur source du graphique. Pour plus de clarté, dans la copie du code ci-dessous, le 47 permet de commencer la lecture des étiquettes à la première ligne des sources et non à la ligne 1. Je souhaiterai pouvoir attribuer le n° de ligne de la source directement afin de pouvoir l'utiliser avec n'importe que graphique.
Bonjour,
La solution qui suit est indépendante de l'emplacement des données sources :
'-------------------------------------- Sub test() With ActiveChart.SeriesCollection(1) For i = 1 To .Points.Count X = Application.WorksheetFunction.Index(.XValues, i) Y = Application.WorksheetFunction.Index(.Values, i) .Points(i).HasDataLabel = True .Points(i).DataLabel.Text = X & " : " & Y Next End With End Sub '---------------------------------------