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

Epaisseur du trait d'un graphique en courbe

3 réponses
Avatar
Jac
Bonjour à tous,

est-il possible d'obtenir, dans un graphique à courbe, un trait plus épais
que le plus épais, qui est proposé dans la boîte de dialogue Format de série
de données / Motif / Trait Personnalisé, épaisseur : la quatrième sur quatre
?

Merci d'avance.

Jac

3 réponses

Avatar
Daniel
Bonjour.
Je ne pense qu'on puisse le faire directement. On peut bidouiller en
ajoutant un esérie avec des valeurs très proches de la série initiale.
Regarde le classeur à l'adresse :
http://cjoint.com/?fmlg2dUm5x
Cordialement.
Daniel
"Jac" a écrit dans le message de news:
%23hphfL$
Bonjour à tous,

est-il possible d'obtenir, dans un graphique à courbe, un trait plus épais
que le plus épais, qui est proposé dans la boîte de dialogue Format de
série de données / Motif / Trait Personnalisé, épaisseur : la quatrième
sur quatre ?

Merci d'avance.

Jac



Avatar
Francois L
Bonjour à tous,

est-il possible d'obtenir, dans un graphique à courbe, un trait plus épais
que le plus épais, qui est proposé dans la boîte de dialogue Format de série
de données / Motif / Trait Personnalisé, épaisseur : la quatrième sur quatre
?



Bonjour,

Une solution proposée par J Peltier qui s'applique à un graphique tracé
en X,Y (courbe, mais composée de segments). Le principe est de tracer
par VBA une forme qui remplace le graphique et d'utiliser les
possibilités plus nombreuses de mise en forme des dessins.

Tracer un graphique à partir d'une série de donnée,
Choisir pour la courbe pas de ligne et pas de marqueur de point
Sélectionner le graphique
Déclencher la macro qui suit (à placer dans un module standard)
Attention, si la série source change, il faudra effacer la forme obtenue
et re-déclencher la macro.

'-----------------------------------------------------------
' Un code de Jon PELTIER
' http://peltiertech.com/index.html
' Crée un graphique en ligne avec des mises en forme
' non permises par l'assistant graphique d'Excel
' -------------------------------------------------------------
' Le principe est de tracer une forme de l'outil dessin
' à partir des coordonnées de chaque point du graphique
' le graphique de base est obligatoirement un "nuage de points"
' --------------------------------------------------------------
Sub TraceXY()
Dim myCht As Chart
Dim mySrs As Series
Dim Npts As Integer, Ipts As Integer
Dim myBuilder As FreeformBuilder
Dim myShape As Shape
Dim Xnode As Double, Ynode As Double
Dim Xmin As Double, Xmax As Double
Dim Ymin As Double, Ymax As Double
Dim Xleft As Double, Ytop As Double
Dim Xwidth As Double, Yheight As Double

Set myCht = ActiveChart
Xleft = myCht.PlotArea.InsideLeft
Xwidth = myCht.PlotArea.InsideWidth
Ytop = myCht.PlotArea.InsideTop
Yheight = myCht.PlotArea.InsideHeight
Xmin = myCht.Axes(1).MinimumScale
Xmax = myCht.Axes(1).MaximumScale
Ymin = myCht.Axes(2).MinimumScale
Ymax = myCht.Axes(2).MaximumScale

Set mySrs = myCht.SeriesCollection(1)
Npts = mySrs.Points.Count

' first point
Xnode = Xleft + (mySrs.XValues(1) - Xmin) * Xwidth / (Xmax - Xmin)
Ynode = Ytop + (Ymax - mySrs.Values(1)) * Yheight / (Ymax - Ymin)
Set myBuilder = myCht.Shapes.BuildFreeform(msoEditingAuto, Xnode,
Ynode)

' remaining points
For Ipts = 2 To Npts
Xnode = Xleft + (mySrs.XValues(Ipts) - Xmin) * Xwidth / (Xmax -
Xmin)
Ynode = Ytop + (Ymax - mySrs.Values(Ipts)) * Yheight / (Ymax -
Ymin)
myBuilder.AddNodes msoSegmentLine, msoEditingAuto, Xnode, Ynode
Next

Set myShape = myBuilder.ConvertToShape

With myShape.Line
' COULEUR
.ForeColor.SchemeColor = 10 ' RED
' EPAISSEUR DU TRAIT
.Weight = 2.5
End With

End Sub

--
François L

Avatar
Jac
Merci pour vos solutions. Ça résoud mon problème.

Jac