bonjour
je souhaite pouvoir manipuler le trait d'une série sur un graph sans impacter la ligne de marquage (le trait qui est autour du point)
voilà où j'en suis en pj
j'ai aussi essayé avec l'instruction border mais je ne peux pas lui attribuer une épaisseur sous forme de valeur (elle accepte apparemment xlthick etc) et s'il n'y a pas de trait je ne sais pas comment le mettre en "visible"
Tu peux influencer sur les lignes de marquage avec :
ActiveChart.SeriesCollection(1).MarkerBackgroundColor = RGB(255, 0, 0) 'Pour du rouge ici
ActiveChart.SeriesCollection(1).MarkerForegroundColor = RGB(255, 0, 0) 'Pour du rouge ici
Ainsi en utilisant ce code j'arrive au résultat que tu souhaites :
VB:
With ActiveChart.SeriesCollection(1)
ActiveSheet.ChartObjects("Graphique 8").Activate
.Format.Line.Visible = msoTrue
.Format.Line.Weight = 5
.MarkerSize = 10
.MarkerBackgroundColor = RGB(255, 0, 0)
.MarkerForegroundColor = RGB(255, 0, 0)
End With
bonjour Jauster,
merci beaucoup pour cette réponse
ça me semble une très bonne idée !
du coup la ligne de marquage s'additionne à la taille de mon point ce que je n'avais pas prévu mais je peux peut être la modifier en fonction, je vais explorer ça
pour que ça ne change pas la taille de mon point :
poids = 5
With ActiveChart.SeriesCollection(1)
.Format.Line.Visible = msoTrue
.Format.Line.Weight = poids
.MarkerSize = ActiveChart.SeriesCollection(1).MarkerSize - poids
.MarkerBackgroundColor = RGB(255, 0, 0)
.MarkerForegroundColor = RGB(255, 0, 0)
End With
par contre si j'ai une autre couleur de point je ne sais pas comment récupérer la couleur du MarkerBackgroundColor pour l'appliquer à MarkerForegroundColor ...
- on ne peut pas agir sur le trait d'un graph "nuage" sans agir sur la ligne de marquage (le trait qui entoure le point)
- la jolie solution grâce à Jauster pour contourner ça: passer la ligne de marquage de la même couleur que le point et redimensionner le point pour que la somme (épaisseur de la ligne de marquage + taille du point) = taille d'origine du point
poids = 5 ' l'épaisseur souhaitée
With ActiveChart.SeriesCollection(1)
.Format.Line.Visible = msoTrue
.Format.Line.Weight = poids
.MarkerSize = ActiveChart.SeriesCollection(1).MarkerSize - poids
.MarkerForegroundColor = .MarkerBackgroundColor
End With
- la limite: on ne peut pas avoir un point plus petit que l'épaisseur de la ligne