Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Style de trait dans graphique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Sly le globe trotter

XLDnaute Occasionnel
Bonjour,

malgré mes recherches sur le net et dans l'aide VBA, je ne parviens pas à résoudre mon problème... Même l'enregistreur de macro ne veut rien me dire 😕 Je m'en remets une nouvelle fois à vous !

Je cherche à modifier le style de trait d'une courbe... A priori, rien de trop compliqué en utilisant la commande
Code:
ActiveChart.SeriesCollection(1).Border.LineStyle =

Le hic, c'est que je ne trouve pas en VBA comment mettre en forme une série de données avec le style de trait : type de tiret - point rond.
Parmi les différentes propriétés proposées par Excel, deux ne fonctionnent pas sur mon pc : "xlSlantDashDot" et "xlDouble". Peut être que le style que je recherche est l'un de ces deux là...

Merci pour votre aide
 
Dernière édition:
Re : Style de trait dans graphique

Bonjour à tous,


J'ai regardé sous Excel 2010. L'enregistreur de macro semble plus performant que celui de 2007.
Voilà le code enregistré lorsqu'on modifie le style de trait (Type de tiret = Point Rond) :
VB:
Sub Macro1()
'
' Macro1 Macro
'

'
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.SeriesCollection(1).Select
    With Selection.Format.Line
        .Visible = msoTrue
        .DashStyle = msoLineSysDot
    End With
    ActiveWindow.SmallScroll Down:=3
End Sub

Et voilà l'équivalent sans les Select et Activate :
VB:
ActiveSheet.ChartObjects("Graphique 1").Chart.SeriesCollection(1).Format.Line.DashStyle = msoLineSysDot

Et voici les différentes valeurs qu'on peut attribuer au DashStyle :
  • msoLine : 9
  • msoLineDash : 4
  • msoLineDashDot : 5
  • msoLineDashDotDot : 6
  • msoLineLongDash : 7
  • msoLineLongDashDot : 8
  • msoLineLongDashDotDot : 9
  • msoLineRoundDot : 3
  • msoLineSingle : 1
  • msoLineSolid : 1
  • msoLineSquareDot : 2
  • msoLineSysDash : 10
  • msoLineSysDashDot : 12
  • msoLineSysDot : 11
PS : Ces codes fonctionnent correctement sur 2010, par contre, pas sur 2003.
 
Re : Style de trait dans graphique

Bonjour Mickaël

Merci beaucoup pour ta participation. Tu étais le chaînon manquant 🙂.

Cela à l'air de fonctionner. Alors il faut passer à XL2010 😕

Maintenant, je pense que je peux avancer 😉.
 
Re : Style de trait dans graphique

Re

Caillou: Tu aurais pu laisser ce que tu avais mis (preuve que tu réponds quand on te pose une question 🙂).

Sinon voici un code pour compenser le style de ligne, compatible XL2007 et XL2010, je suppose, en reprenant le fichier de Sly et les différentes interventions. Attention, il n'est pas compatible avec les versions antérieures à XL2007.

Code:
Sub test()
  For i = 1 To 4
 ActiveSheet.ChartObjects("Graphique 1").Activate
    With ActiveChart.SeriesCollection(1)
        'Stop
       .MarkerStyle = xlDashxlMarkerStyleNone
    '.MarkerSize = 7
    '.Border.LineStyle = xlDash
    If i = 1 Then .Format.Line.DashStyle = msoLineSolid: MsgBox .Format.Line.DashStyle
    If i = 2 Then .Format.Line.DashStyle = msoLineDash: MsgBox .Format.Line.DashStyle
    If i = 3 Then .Format.Line.DashStyle = msoLineSysDot: MsgBox .Format.Line.DashStyle
    If i = 4 Then .Format.Line.DashStyle = msoLineRoundDot: MsgBox .Format.Line.DashStyle
     ActiveSheet.Cells(1, 1).Select
    End With
     'MsgBox i
    Next
End Sub

Cela devrait bien me servir, mais la programmation des graphiques sous XL2007 en VBA, c'est pas du gâteau 😕.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…