OVH Cloud OVH Cloud

Nuage de point (sos boulot)

7 réponses
Avatar
mik
Bonjour,

Une question simple dont la réponse urge vraiment.
Comment faire un nuage de point dont les coordonnées seraient données par 2
colonnes et l'étiquette (du point) par une 3eme colonne.

Merci beaucoup d'avance,
Mik

7 réponses

Avatar
jojolapin
"mik" a écrit dans le message de news:

Bonjour,

Une question simple dont la réponse urge vraiment.
Comment faire un nuage de point dont les coordonnées seraient données par
2
colonnes et l'étiquette (du point) par une 3eme colonne.

Merci beaucoup d'avance,
Mik


Qu'appelles-tu étiquette du point?
a+

Avatar
JB
Bonsoir,

http://cjoint.com/?kkrDYwY5EH

Sub Graphique()
SupGraphe
Set maplage = Range("c1:d7") ' Plage du graphique
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=maplage, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowLabel,
LegendKey:úlse
ActiveChart.PlotArea.Interior.ColorIndex = 20
'-----
ActiveChart.SeriesCollection(1).DataLabels.Select
Nb_points = ActiveChart.SeriesCollection(1).Points.Count
For i = 1 To Nb_points
ActiveChart.SeriesCollection(1).Points(i).DataLabel.Select
Selection.Text = Sheets(1).Cells(i + 1, 1)
Next i
End Sub

Cordialement JB



Bonjour,

Une question simple dont la réponse urge vraiment.
Comment faire un nuage de point dont les coordonnées seraient données par 2
colonnes et l'étiquette (du point) par une 3eme colonne.

Merci beaucoup d'avance,
Mik


Avatar
idrevetnom
S'agit-il de celà? si oui, il n'y a qu'a télécharger la macro

http://xcell05.free.fr/pages/telecharge/index.html#Etiquettes


bon courage
Avatar
idrevetnom
Oui, merci JB, très intéressant et apparemment plus compact que la macro que
je citais.
Avatar
JB
Bonsoir,

Variante avec photos: http://cjoint.com/?kkuMxyeif1

Sub commentaire()
ActiveSheet.ChartObjects(1).Activate
On Error Resume Next
ActiveChart.SeriesCollection(1).ApplyDataLabels
Type:=xlDataLabelsShowLabel
On Error GoTo 0
ActiveChart.SeriesCollection(1).DataLabels.Select
nb_points = ActiveChart.SeriesCollection(1).Points.Count
For i = 1 To nb_points
ActiveChart.SeriesCollection(1).Points(i).DataLabel.Select
Selection.Interior.ColorIndex = 36
Selection.Font.Size = 7
Selection.Text = ActiveSheet.Cells(i + 1, 3)
Next i
Photos
End Sub


Sub Photos()
ActiveSheet.ChartObjects(1).Activate
nomGraphe = ActiveSheet.ChartObjects(1).Name
nb_points = ActiveChart.SeriesCollection(1).Points.Count
ActiveChart.PlotArea.Select
xp = Selection.Left
yp = Selection.Top
lp = Selection.Width ' largeur plot aréa
lp = lp * 0.95
hp = Selection.Height
ActiveChart.Axes(xlValue).Select
mx = ActiveChart.Axes(xlValue).MaximumScale
xg = ActiveSheet.Shapes(nomGraphe).Left
yg = ActiveSheet.Shapes(nomGraphe).Top
Range("A1").Select
For i = 1 To nb_points
x = Cells(i + 1, 1)
ActiveSheet.Shapes(x).Select
Selection.ShapeRange.Left = xg + (lp / nb_points) * i - 20
Selection.ShapeRange.Top = yg + yp + (mx - Cells(i + 1, 2)) * (hp /
mx) - 45
Next i
[A1].Select
End Sub

Cordialement JB


Oui, merci JB, très intéressant et apparemment plus compact que la ma cro que
je citais.


Avatar
mik
MERCI BEAUCOUP

Cordialement,
mik

"JB" wrote:

Bonsoir,

http://cjoint.com/?kkrDYwY5EH

Sub Graphique()
SupGraphe
Set maplage = Range("c1:d7") ' Plage du graphique
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=maplage, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowLabel,
LegendKey:úlse
ActiveChart.PlotArea.Interior.ColorIndex = 20
'-----
ActiveChart.SeriesCollection(1).DataLabels.Select
Nb_points = ActiveChart.SeriesCollection(1).Points.Count
For i = 1 To Nb_points
ActiveChart.SeriesCollection(1).Points(i).DataLabel.Select
Selection.Text = Sheets(1).Cells(i + 1, 1)
Next i
End Sub

Cordialement JB



Bonjour,

Une question simple dont la réponse urge vraiment.
Comment faire un nuage de point dont les coordonnées seraient données par 2
colonnes et l'étiquette (du point) par une 3eme colonne.

Merci beaucoup d'avance,
Mik






Avatar
idrevetnom
Impressionnant, merci encore JB, je sens que je vais peut-être faire des
progrés avec VBA