Style de trait dans graphique

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 :confused: 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:

mromain

XLDnaute Barbatruc
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.
 

MJ13

XLDnaute Barbatruc
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 :confused:

Maintenant, je pense que je peux avancer ;).
 

MJ13

XLDnaute Barbatruc
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 :confused:.
 

Discussions similaires

Statistiques des forums

Discussions
312 796
Messages
2 092 205
Membres
105 273
dernier inscrit
elevea