Je cherche =E0 faire un nuage de points avec une hauteur en=20
abscisse, un diam=E8tre en ordonn=E9es et ajouter des=20
=E9tiquettes du nom de l'arbre correspondant pour chacun=20
des points, c'est =E0 dire une troisi=E8me variable.
Comment faire?
Merci d'avance,
isabelle
"isabelle" a écrit dans le message de news:25dc101c46276$935c4fe0$ Bonjour,
Je cherche à faire un nuage de points avec une hauteur en abscisse, un diamètre en ordonnées et ajouter des étiquettes du nom de l'arbre correspondant pour chacun des points, c'est à dire une troisième variable. Comment faire? Merci d'avance, isabelle
"isabelle" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:25dc101c46276$935c4fe0$a601280a@phx.gbl...
Bonjour,
Je cherche à faire un nuage de points avec une hauteur en
abscisse, un diamètre en ordonnées et ajouter des
étiquettes du nom de l'arbre correspondant pour chacun
des points, c'est à dire une troisième variable.
Comment faire?
Merci d'avance,
isabelle
"isabelle" a écrit dans le message de news:25dc101c46276$935c4fe0$ Bonjour,
Je cherche à faire un nuage de points avec une hauteur en abscisse, un diamètre en ordonnées et ajouter des étiquettes du nom de l'arbre correspondant pour chacun des points, c'est à dire une troisième variable. Comment faire? Merci d'avance, isabelle
twinley
Bjr,
J'utilise cette sub de Garnotte qui fait merveille...
Graph en nuage de points
10 -0.5 1 20 1.5 0.25 30 0.25 -0.50
Sélectionne les colonnes 2 et 3 et appelle cette macro :
Sub Construit_Nuage_Avec_Étiquettes_En_Haut_Des_Points() Application.ScreenUpdating = False Set ici = Selection nom = ActiveSheet.Name Charts.Add With ActiveChart .ChartType = xlXYScatter .SetSourceData Source:=ici, PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=nom End With With ActiveChart.SeriesCollection(1) .ApplyDataLabels .DataLabels.Position = xlLabelPositionAbove For i = 1 To ici.Rows.Count .Points(i).DataLabel.Characters.Text = ici(i, 1).Offset(, -1) Next End With End Sub
à+ -- twinley
Bonjour,
Je cherche à faire un nuage de points avec une hauteur en abscisse, un diamètre en ordonnées et ajouter des étiquettes du nom de l'arbre correspondant pour chacun des points, c'est à dire une troisième variable. Comment faire? Merci d'avance, isabelle
Bjr,
J'utilise cette sub de Garnotte qui fait merveille...
Graph en nuage de points
10 -0.5 1
20 1.5 0.25
30 0.25 -0.50
Sélectionne les colonnes 2 et 3 et appelle cette macro :
Sub Construit_Nuage_Avec_Étiquettes_En_Haut_Des_Points()
Application.ScreenUpdating = False
Set ici = Selection
nom = ActiveSheet.Name
Charts.Add
With ActiveChart
.ChartType = xlXYScatter
.SetSourceData Source:=ici, PlotBy:=xlColumns
.Location Where:=xlLocationAsObject, Name:=nom
End With
With ActiveChart.SeriesCollection(1)
.ApplyDataLabels
.DataLabels.Position = xlLabelPositionAbove
For i = 1 To ici.Rows.Count
.Points(i).DataLabel.Characters.Text = ici(i, 1).Offset(, -1)
Next
End With
End Sub
à+
--
twinley
Bonjour,
Je cherche à faire un nuage de points avec une hauteur en
abscisse, un diamètre en ordonnées et ajouter des
étiquettes du nom de l'arbre correspondant pour chacun
des points, c'est à dire une troisième variable.
Comment faire?
Merci d'avance,
isabelle
J'utilise cette sub de Garnotte qui fait merveille...
Graph en nuage de points
10 -0.5 1 20 1.5 0.25 30 0.25 -0.50
Sélectionne les colonnes 2 et 3 et appelle cette macro :
Sub Construit_Nuage_Avec_Étiquettes_En_Haut_Des_Points() Application.ScreenUpdating = False Set ici = Selection nom = ActiveSheet.Name Charts.Add With ActiveChart .ChartType = xlXYScatter .SetSourceData Source:=ici, PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=nom End With With ActiveChart.SeriesCollection(1) .ApplyDataLabels .DataLabels.Position = xlLabelPositionAbove For i = 1 To ici.Rows.Count .Points(i).DataLabel.Characters.Text = ici(i, 1).Offset(, -1) Next End With End Sub
à+ -- twinley
Bonjour,
Je cherche à faire un nuage de points avec une hauteur en abscisse, un diamètre en ordonnées et ajouter des étiquettes du nom de l'arbre correspondant pour chacun des points, c'est à dire une troisième variable. Comment faire? Merci d'avance, isabelle
garnote
Bonsoir twinley,
Supposons qu'un graphique est construit (sans étiquettes). Alors si tu sélectionnes une série et que tu appelles cette macro, tu obtiendras des étiquettes qui se mettront à jour automatiquement. Tu peux faire ça pour chaque série (les plages d'étiquettes peuvent être en lignes ou en colonnes).
Sub Étiquettes_Mises_À_Jour_Automatiquement() Dim plage As Object Dim cellule As Object Dim point As Object Dim nomgraphique As String Dim série As String Dim i As Integer nomgraphique = ActiveChart.Parent.Name série = Selection.Name ActiveWindow.Visible = False Set plage = Application.InputBox( _ prompt:="Sélectionnez la plage des étiquettes", Type:=8) ActiveSheet.ChartObjects(nomgraphique).Activate i = 1 If plage.Cells.Count > _ ActiveChart.SeriesCollection(série).Points.Count Then MsgBox prompt:="Sélection non valide. Plage trop grande!", _ Buttons:=vbCritical Else For Each cellule In plage Set point = ActiveChart.SeriesCollection(série).Points(i) With point .ApplyDataLabels Type:=xlShowValue .DataLabel.Text = "=" & cellule.Address _ (ReferenceStyle:=xlR1C1, external:=True) End With i = i + 1 Next End If End Sub
Serge
"twinley" a écrit dans le message de news:
Bjr,
J'utilise cette sub de Garnotte qui fait merveille...
Graph en nuage de points
10 -0.5 1 20 1.5 0.25 30 0.25 -0.50
Sélectionne les colonnes 2 et 3 et appelle cette macro :
Sub Construit_Nuage_Avec_Étiquettes_En_Haut_Des_Points() Application.ScreenUpdating = False Set ici = Selection nom = ActiveSheet.Name Charts.Add With ActiveChart .ChartType = xlXYScatter .SetSourceData Source:=ici, PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=nom End With With ActiveChart.SeriesCollection(1) .ApplyDataLabels .DataLabels.Position = xlLabelPositionAbove For i = 1 To ici.Rows.Count .Points(i).DataLabel.Characters.Text = ici(i, 1).Offset(, -1) Next End With End Sub
à+ -- twinley
Bonjour,
Je cherche à faire un nuage de points avec une hauteur en abscisse, un diamètre en ordonnées et ajouter des étiquettes du nom de l'arbre correspondant pour chacun des points, c'est à dire une troisième variable. Comment faire? Merci d'avance, isabelle
Bonsoir twinley,
Supposons qu'un graphique est construit
(sans étiquettes).
Alors si tu sélectionnes une série et que tu appelles
cette macro, tu obtiendras des étiquettes qui se
mettront à jour automatiquement. Tu peux faire ça
pour chaque série (les plages d'étiquettes peuvent
être en lignes ou en colonnes).
Sub Étiquettes_Mises_À_Jour_Automatiquement()
Dim plage As Object
Dim cellule As Object
Dim point As Object
Dim nomgraphique As String
Dim série As String
Dim i As Integer
nomgraphique = ActiveChart.Parent.Name
série = Selection.Name
ActiveWindow.Visible = False
Set plage = Application.InputBox( _
prompt:="Sélectionnez la plage des étiquettes", Type:=8)
ActiveSheet.ChartObjects(nomgraphique).Activate
i = 1
If plage.Cells.Count > _
ActiveChart.SeriesCollection(série).Points.Count Then
MsgBox prompt:="Sélection non valide. Plage trop grande!", _
Buttons:=vbCritical
Else
For Each cellule In plage
Set point = ActiveChart.SeriesCollection(série).Points(i)
With point
.ApplyDataLabels Type:=xlShowValue
.DataLabel.Text = "=" & cellule.Address _
(ReferenceStyle:=xlR1C1, external:=True)
End With
i = i + 1
Next
End If
End Sub
Serge
"twinley" <twinley@discussions.microsoft.com> a écrit dans le message de
news: A7BE0A37-015A-400B-ACFA-FA7AE82E4940@microsoft.com...
Bjr,
J'utilise cette sub de Garnotte qui fait merveille...
Graph en nuage de points
10 -0.5 1
20 1.5 0.25
30 0.25 -0.50
Sélectionne les colonnes 2 et 3 et appelle cette macro :
Sub Construit_Nuage_Avec_Étiquettes_En_Haut_Des_Points()
Application.ScreenUpdating = False
Set ici = Selection
nom = ActiveSheet.Name
Charts.Add
With ActiveChart
.ChartType = xlXYScatter
.SetSourceData Source:=ici, PlotBy:=xlColumns
.Location Where:=xlLocationAsObject, Name:=nom
End With
With ActiveChart.SeriesCollection(1)
.ApplyDataLabels
.DataLabels.Position = xlLabelPositionAbove
For i = 1 To ici.Rows.Count
.Points(i).DataLabel.Characters.Text = ici(i, 1).Offset(, -1)
Next
End With
End Sub
à+
--
twinley
Bonjour,
Je cherche à faire un nuage de points avec une hauteur en
abscisse, un diamètre en ordonnées et ajouter des
étiquettes du nom de l'arbre correspondant pour chacun
des points, c'est à dire une troisième variable.
Comment faire?
Merci d'avance,
isabelle
Supposons qu'un graphique est construit (sans étiquettes). Alors si tu sélectionnes une série et que tu appelles cette macro, tu obtiendras des étiquettes qui se mettront à jour automatiquement. Tu peux faire ça pour chaque série (les plages d'étiquettes peuvent être en lignes ou en colonnes).
Sub Étiquettes_Mises_À_Jour_Automatiquement() Dim plage As Object Dim cellule As Object Dim point As Object Dim nomgraphique As String Dim série As String Dim i As Integer nomgraphique = ActiveChart.Parent.Name série = Selection.Name ActiveWindow.Visible = False Set plage = Application.InputBox( _ prompt:="Sélectionnez la plage des étiquettes", Type:=8) ActiveSheet.ChartObjects(nomgraphique).Activate i = 1 If plage.Cells.Count > _ ActiveChart.SeriesCollection(série).Points.Count Then MsgBox prompt:="Sélection non valide. Plage trop grande!", _ Buttons:=vbCritical Else For Each cellule In plage Set point = ActiveChart.SeriesCollection(série).Points(i) With point .ApplyDataLabels Type:=xlShowValue .DataLabel.Text = "=" & cellule.Address _ (ReferenceStyle:=xlR1C1, external:=True) End With i = i + 1 Next End If End Sub
Serge
"twinley" a écrit dans le message de news:
Bjr,
J'utilise cette sub de Garnotte qui fait merveille...
Graph en nuage de points
10 -0.5 1 20 1.5 0.25 30 0.25 -0.50
Sélectionne les colonnes 2 et 3 et appelle cette macro :
Sub Construit_Nuage_Avec_Étiquettes_En_Haut_Des_Points() Application.ScreenUpdating = False Set ici = Selection nom = ActiveSheet.Name Charts.Add With ActiveChart .ChartType = xlXYScatter .SetSourceData Source:=ici, PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=nom End With With ActiveChart.SeriesCollection(1) .ApplyDataLabels .DataLabels.Position = xlLabelPositionAbove For i = 1 To ici.Rows.Count .Points(i).DataLabel.Characters.Text = ici(i, 1).Offset(, -1) Next End With End Sub
à+ -- twinley
Bonjour,
Je cherche à faire un nuage de points avec une hauteur en abscisse, un diamètre en ordonnées et ajouter des étiquettes du nom de l'arbre correspondant pour chacun des points, c'est à dire une troisième variable. Comment faire? Merci d'avance, isabelle
garnote
Yep ! Au péril de ma santé :-))) j'ai enfin réussi à tenir compte d'éventuels changements d'étiquettes.
Un tableau de trois colonnes adjacentes. Première colonne : Étiquettes Les deux autres : Valeurs X et Y du nuage de points. a 1 6 b 2 7 c 3 8 d 4 9 e 5 10 Je sélectionne les valeurs numériques et appelle cette macro. Restriction : une seule série.
Sub Construit_Nuage_Avec_Étiquettes_Mises_À_Jour() Application.ScreenUpdating = False Set ici = Selection nom = ActiveSheet.Name Charts.Add With ActiveChart .ChartType = xlXYScatter .SetSourceData Source:=ici, PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=nom End With Set plage = ici.Offset(0, -1).Resize(ici.Rows.Count, 1) i = 1 For Each c In plage Set point = ActiveChart.SeriesCollection(1).Points(i) With point .ApplyDataLabels Type:=xlShowValue .DataLabel.Text = "=" & c.Address _ (ReferenceStyle:=xlR1C1, external:=True) End With i = i + 1 Next End Sub
Serge
Yep ! Au péril de ma santé :-))) j'ai enfin réussi
à tenir compte d'éventuels changements d'étiquettes.
Un tableau de trois colonnes adjacentes.
Première colonne : Étiquettes
Les deux autres : Valeurs X et Y du nuage de points.
a 1 6
b 2 7
c 3 8
d 4 9
e 5 10
Je sélectionne les valeurs numériques et appelle cette macro.
Restriction : une seule série.
Sub Construit_Nuage_Avec_Étiquettes_Mises_À_Jour()
Application.ScreenUpdating = False
Set ici = Selection
nom = ActiveSheet.Name
Charts.Add
With ActiveChart
.ChartType = xlXYScatter
.SetSourceData Source:=ici, PlotBy:=xlColumns
.Location Where:=xlLocationAsObject, Name:=nom
End With
Set plage = ici.Offset(0, -1).Resize(ici.Rows.Count, 1)
i = 1
For Each c In plage
Set point = ActiveChart.SeriesCollection(1).Points(i)
With point
.ApplyDataLabels Type:=xlShowValue
.DataLabel.Text = "=" & c.Address _
(ReferenceStyle:=xlR1C1, external:=True)
End With
i = i + 1
Next
End Sub
Yep ! Au péril de ma santé :-))) j'ai enfin réussi à tenir compte d'éventuels changements d'étiquettes.
Un tableau de trois colonnes adjacentes. Première colonne : Étiquettes Les deux autres : Valeurs X et Y du nuage de points. a 1 6 b 2 7 c 3 8 d 4 9 e 5 10 Je sélectionne les valeurs numériques et appelle cette macro. Restriction : une seule série.
Sub Construit_Nuage_Avec_Étiquettes_Mises_À_Jour() Application.ScreenUpdating = False Set ici = Selection nom = ActiveSheet.Name Charts.Add With ActiveChart .ChartType = xlXYScatter .SetSourceData Source:=ici, PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=nom End With Set plage = ici.Offset(0, -1).Resize(ici.Rows.Count, 1) i = 1 For Each c In plage Set point = ActiveChart.SeriesCollection(1).Points(i) With point .ApplyDataLabels Type:=xlShowValue .DataLabel.Text = "=" & c.Address _ (ReferenceStyle:=xlR1C1, external:=True) End With i = i + 1 Next End Sub
Serge
garnote
Légère simplification avant un gros dodo.
Remplacer : Set plage = ici.Offset(0, -1).Resize(ici.Rows.Count, 1) par : Set plage = ici.Offset(, -1).Resize(, 1)
Bonsoir, Bonne nuit. Et bonnes vacances à ceux et celles qui en prendront.
Serge
Légère simplification avant un gros dodo.
Remplacer :
Set plage = ici.Offset(0, -1).Resize(ici.Rows.Count, 1)
par :
Set plage = ici.Offset(, -1).Resize(, 1)
Bonsoir, Bonne nuit.
Et bonnes vacances à ceux et celles qui en prendront.
Remplacer : Set plage = ici.Offset(0, -1).Resize(ici.Rows.Count, 1) par : Set plage = ici.Offset(, -1).Resize(, 1)
Bonsoir, Bonne nuit. Et bonnes vacances à ceux et celles qui en prendront.
Serge
twinley
Bonjour garnote
j'use et j'abuse de cette petite merveille sans vergogne. J'ai ajouté une droite de reg, l'échelle Y à droite. Je voulais l'étiquette de début de série et l'étiquette de fin de série uniquement. J'ai donc enlevé dans la série étiquettes toute les données sauf la première et la dernière. J'ai été supris par le bout de code qui ajustait les étiquettes, mais il a son utilité en dynamique. Bravo et encore merci
PS: j'avais testé une procedure de graph que tu voulais évaluer mais j'ai buté au point 8. Je crois que le fil est tombé aux oubliettes...
à+ -- twinley
Bonsoir twinley,
Supposons qu'un graphique est construit (sans étiquettes). Alors si tu sélectionnes une série et que tu appelles cette macro, tu obtiendras des étiquettes qui se mettront à jour automatiquement. Tu peux faire ça pour chaque série (les plages d'étiquettes peuvent être en lignes ou en colonnes).
Sub Étiquettes_Mises_À_Jour_Automatiquement() Dim plage As Object Dim cellule As Object Dim point As Object Dim nomgraphique As String Dim série As String Dim i As Integer nomgraphique = ActiveChart.Parent.Name série = Selection.Name ActiveWindow.Visible = False Set plage = Application.InputBox( _ prompt:="Sélectionnez la plage des étiquettes", Type:=8) ActiveSheet.ChartObjects(nomgraphique).Activate i = 1 If plage.Cells.Count > _ ActiveChart.SeriesCollection(série).Points.Count Then MsgBox prompt:="Sélection non valide. Plage trop grande!", _ Buttons:=vbCritical Else For Each cellule In plage Set point = ActiveChart.SeriesCollection(série).Points(i) With point .ApplyDataLabels Type:=xlShowValue .DataLabel.Text = "=" & cellule.Address _ (ReferenceStyle:=xlR1C1, external:=True) End With i = i + 1 Next End If End Sub
Serge
"twinley" a écrit dans le message de news:
Bjr,
J'utilise cette sub de Garnotte qui fait merveille...
Graph en nuage de points
10 -0.5 1 20 1.5 0.25 30 0.25 -0.50
Sélectionne les colonnes 2 et 3 et appelle cette macro :
Sub Construit_Nuage_Avec_Étiquettes_En_Haut_Des_Points() Application.ScreenUpdating = False Set ici = Selection nom = ActiveSheet.Name Charts.Add With ActiveChart .ChartType = xlXYScatter .SetSourceData Source:=ici, PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=nom End With With ActiveChart.SeriesCollection(1) .ApplyDataLabels .DataLabels.Position = xlLabelPositionAbove For i = 1 To ici.Rows.Count .Points(i).DataLabel.Characters.Text = ici(i, 1).Offset(, -1) Next End With End Sub
à+ -- twinley
Bonjour,
Je cherche à faire un nuage de points avec une hauteur en abscisse, un diamètre en ordonnées et ajouter des étiquettes du nom de l'arbre correspondant pour chacun des points, c'est à dire une troisième variable. Comment faire? Merci d'avance, isabelle
Bonjour garnote
j'use et j'abuse de cette petite merveille sans vergogne.
J'ai ajouté une droite de reg, l'échelle Y à droite.
Je voulais l'étiquette de début de série et l'étiquette de fin de série uniquement.
J'ai donc enlevé dans la série étiquettes toute les données sauf la première et la dernière.
J'ai été supris par le bout de code qui ajustait les étiquettes, mais il a son utilité en dynamique.
Bravo et encore merci
PS: j'avais testé une procedure de graph que tu voulais évaluer mais j'ai buté au point 8. Je crois que le fil est tombé aux oubliettes...
à+
--
twinley
Bonsoir twinley,
Supposons qu'un graphique est construit
(sans étiquettes).
Alors si tu sélectionnes une série et que tu appelles
cette macro, tu obtiendras des étiquettes qui se
mettront à jour automatiquement. Tu peux faire ça
pour chaque série (les plages d'étiquettes peuvent
être en lignes ou en colonnes).
Sub Étiquettes_Mises_À_Jour_Automatiquement()
Dim plage As Object
Dim cellule As Object
Dim point As Object
Dim nomgraphique As String
Dim série As String
Dim i As Integer
nomgraphique = ActiveChart.Parent.Name
série = Selection.Name
ActiveWindow.Visible = False
Set plage = Application.InputBox( _
prompt:="Sélectionnez la plage des étiquettes", Type:=8)
ActiveSheet.ChartObjects(nomgraphique).Activate
i = 1
If plage.Cells.Count > _
ActiveChart.SeriesCollection(série).Points.Count Then
MsgBox prompt:="Sélection non valide. Plage trop grande!", _
Buttons:=vbCritical
Else
For Each cellule In plage
Set point = ActiveChart.SeriesCollection(série).Points(i)
With point
.ApplyDataLabels Type:=xlShowValue
.DataLabel.Text = "=" & cellule.Address _
(ReferenceStyle:=xlR1C1, external:=True)
End With
i = i + 1
Next
End If
End Sub
Serge
"twinley" <twinley@discussions.microsoft.com> a écrit dans le message de
news: A7BE0A37-015A-400B-ACFA-FA7AE82E4940@microsoft.com...
Bjr,
J'utilise cette sub de Garnotte qui fait merveille...
Graph en nuage de points
10 -0.5 1
20 1.5 0.25
30 0.25 -0.50
Sélectionne les colonnes 2 et 3 et appelle cette macro :
Sub Construit_Nuage_Avec_Étiquettes_En_Haut_Des_Points()
Application.ScreenUpdating = False
Set ici = Selection
nom = ActiveSheet.Name
Charts.Add
With ActiveChart
.ChartType = xlXYScatter
.SetSourceData Source:=ici, PlotBy:=xlColumns
.Location Where:=xlLocationAsObject, Name:=nom
End With
With ActiveChart.SeriesCollection(1)
.ApplyDataLabels
.DataLabels.Position = xlLabelPositionAbove
For i = 1 To ici.Rows.Count
.Points(i).DataLabel.Characters.Text = ici(i, 1).Offset(, -1)
Next
End With
End Sub
à+
--
twinley
Bonjour,
Je cherche à faire un nuage de points avec une hauteur en
abscisse, un diamètre en ordonnées et ajouter des
étiquettes du nom de l'arbre correspondant pour chacun
des points, c'est à dire une troisième variable.
Comment faire?
Merci d'avance,
isabelle
j'use et j'abuse de cette petite merveille sans vergogne. J'ai ajouté une droite de reg, l'échelle Y à droite. Je voulais l'étiquette de début de série et l'étiquette de fin de série uniquement. J'ai donc enlevé dans la série étiquettes toute les données sauf la première et la dernière. J'ai été supris par le bout de code qui ajustait les étiquettes, mais il a son utilité en dynamique. Bravo et encore merci
PS: j'avais testé une procedure de graph que tu voulais évaluer mais j'ai buté au point 8. Je crois que le fil est tombé aux oubliettes...
à+ -- twinley
Bonsoir twinley,
Supposons qu'un graphique est construit (sans étiquettes). Alors si tu sélectionnes une série et que tu appelles cette macro, tu obtiendras des étiquettes qui se mettront à jour automatiquement. Tu peux faire ça pour chaque série (les plages d'étiquettes peuvent être en lignes ou en colonnes).
Sub Étiquettes_Mises_À_Jour_Automatiquement() Dim plage As Object Dim cellule As Object Dim point As Object Dim nomgraphique As String Dim série As String Dim i As Integer nomgraphique = ActiveChart.Parent.Name série = Selection.Name ActiveWindow.Visible = False Set plage = Application.InputBox( _ prompt:="Sélectionnez la plage des étiquettes", Type:=8) ActiveSheet.ChartObjects(nomgraphique).Activate i = 1 If plage.Cells.Count > _ ActiveChart.SeriesCollection(série).Points.Count Then MsgBox prompt:="Sélection non valide. Plage trop grande!", _ Buttons:=vbCritical Else For Each cellule In plage Set point = ActiveChart.SeriesCollection(série).Points(i) With point .ApplyDataLabels Type:=xlShowValue .DataLabel.Text = "=" & cellule.Address _ (ReferenceStyle:=xlR1C1, external:=True) End With i = i + 1 Next End If End Sub
Serge
"twinley" a écrit dans le message de news:
Bjr,
J'utilise cette sub de Garnotte qui fait merveille...
Graph en nuage de points
10 -0.5 1 20 1.5 0.25 30 0.25 -0.50
Sélectionne les colonnes 2 et 3 et appelle cette macro :
Sub Construit_Nuage_Avec_Étiquettes_En_Haut_Des_Points() Application.ScreenUpdating = False Set ici = Selection nom = ActiveSheet.Name Charts.Add With ActiveChart .ChartType = xlXYScatter .SetSourceData Source:=ici, PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=nom End With With ActiveChart.SeriesCollection(1) .ApplyDataLabels .DataLabels.Position = xlLabelPositionAbove For i = 1 To ici.Rows.Count .Points(i).DataLabel.Characters.Text = ici(i, 1).Offset(, -1) Next End With End Sub
à+ -- twinley
Bonjour,
Je cherche à faire un nuage de points avec une hauteur en abscisse, un diamètre en ordonnées et ajouter des étiquettes du nom de l'arbre correspondant pour chacun des points, c'est à dire une troisième variable. Comment faire? Merci d'avance, isabelle