Excel VBA – Ajuster la ligne de couleur et l'intervalle des axes X

J'ai utilisé Excel VBA pour créer un graphique et je souhaite ajuster la couleur de ligne et l'intervalle des axes x.

Ci-dessous le code:

Sub add_cpu_chart(server_hostname, site) On Error Resume Next Dim rpt_site As Ssortingng rpt_site = site Set tbl = ThisWorkbook.Sheets(server_hostname).ListObjects(1) strTableName = tbl.Name strTableRange = tbl.Range.Address Dim m_s_name, m_e_name As Date m_s_name = CDate(fromDateStr) m_e_name = CDate(toDateStr) 'Create new embedded chart Set shp = ThisWorkbook.Sheets(server_hostname).Shapes.AddChart 'Position Shape over range shp.Top = 100 shp.Left = 200 With shp With .Chart 'Specify source data and orientation '.SetSourceData Source:=ActiveSheets.Range(Table1 & "[#All]"), _ 'PlotBy:=xlRows .SetSourceData Source:=ThisWorkbook.Sheets(server_hostname).Range(strTableName & "[#All]") .ChartType = xlLineMarkers .SetElement (msoElementChartTitleAboveChart) .HasTitle = True .ChartTitle.Text = "CPU Utilization of " & server_hostname & " in " & _ rpt_site & " (" & Format(m_s_name, "dd-Mmm") & " to " & Format(m_e_name, "dd-Mmm yyyy") & ")" .ChartTitle.Font.Size = 14 '.ChartArea.Font.Size = 14 .Legend.Delete .SetElement (msoElementPrimaryValueAxisTitleRotated) .Axes(xlValue, xlPrimary).AxisTitle.Text = "CPU Utlization (%)" .Axes(xlValue, xlPrimary).AxisTitle.Font.Size = 10 .Axes(xlValue).MinimumScale = 0 .Axes(xlValue).MinorUnit = 2 .Axes(xlValue).MaximumScale = 100 .Axes(xlValue).MajorUnit = 20 .Axes(xlValue).TickLabels.NumberFormat = "General" .SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis) .Axes(xlCategory, xlPrimary).AxisTitle.Text = "Date of the Month" .Axes(xlCategory, xlPrimary).AxisTitle.Font.Size = 10 '.Axes(xlCategory).MajorUnit = 1 .Axes(xlCategory).TickLabels.NumberFormat = "d" With .PlotArea.Format.Fill .Visible = msoTrue .ForeColor.ObjectThemeColor = msoThemeColorBackground1 .ForeColor.TintAndShade = 0 .ForeColor.Brightness = -0.150000006 .Transparency = 0 .Solid End With End With End With End Sub 

Je souhaite changer la couleur de ligne en rouge – comme dans Excel 2003 – ainsi que changer datatables en intervalle séparé par 2 jours. Actuellement, datatables sont sous la forme 1,2,3,4... Je souhaite afficher datatables sous la forme 1,3 ,5...

Dans un diagramme de lignes, l'échelle minimale de l'axe X, l'échelle maximale, l'unité majeure et l'unité mineure n'ont aucun sens. Les valeurs X ne sont que des catégories qui n'ont pas de valeurs numériques interprétées, même si les labels montrent des numbers.

Vous devriez probablement passer à un diagramme XY, ce qui permettra un contrôle total sur l'échelle d'axe en utilisant une échelle minimale, une échelle maximale, une unité majeure et une unité mineure. Bien sûr, un diagramme XY permet le même formatting des marqueurs et des lignes de série que dans un diagramme de lignes, mais la terminologie confuse durera toujours.

Si, pour une raison ou une autre, vous décidez de respecter un graphique linéaire, vous pouvez utiliser ActiveChart.Axes (xlCategory) .TickLabelSpacing = 2