Impossible de modifier la largeur des baies d'erreur personnalisées

J'essaie de créer ErrorBars dans un graphique via Excel VBA, mais j'ai besoin d'une largeur de 12PT ou de varier. Voici le code que j'utilise, mais ça ne semble pas fonctionner:

Set s = .SeriesCollection.NewSeries() With s .Name = "=GraphicSchedule!$" & getColumn(objList.ListColumns.Item("Activity").Range.Column) & "$" & sourceRow .XValues = "=GraphicSchedule!$" & getColumn(objList.ListColumns.Item("DateMid").Range.Column) & "$" & sourceRow .Values = "=GraphicSchedule!$" & getColumn(objList.ListColumns.Item("Loc1").Range.Column) & "$" & sourceRow .HasErrorBars = True .ErrorBar Direction:=xlX, Include:=xlErrorBarIncludeBoth, Type:=xlErrorBarTypeCustom, Amount:="=GraphicSchedule!$" & getColumn(objList.ListColumns.Item("BarLength").Range.Column) & "$" & sourceRow, MinusValues:="=GraphicSchedule!$" & getColumn(objList.ListColumns.Item("BarLength").Range.Column) & "$" & sourceRow Set eB = .ErrorBars With eB With .Format.Line .Visible = msoTrue .Style = msoLineSingle .Weight = 12 End With .EndStyle = xlNoCap End With .HasDataLabels = True Set dLabels = .DataLabels With dLabels .Format.TextFrame2.TextRange.InsertChartField msoChartFieldRange, "=GraphicSchedule!$" & getColumn(objList.ListColumns.Item("Activity").Range.Column) & "$" & sourceRow .ShowRange = True .ShowSeriesName = False .ShowValue = False End With End With 

Je pensais que l'utilisation de la propriété Weight fonctionnerait, mais ai-je négligé quelque chose?

Je pense que le problème est avec .HasErrorBars = True qui crée déjà une barre d'erreur automatiquement si l'une n'est pas présente, alors que la ligne suivante .ErrorBar crée une autre.

À ce stade, vous avez deux barres d'erreur, et .Format.Line.Weight = 12 dans mon cas n'a affecté que le premier ajouté automatiquement.

Essayez le réglage .HasErrorBars = False avant d'utiliser .ErrorBar et voir si cela fait la différence.

 .HasErrorBars = False .ErrorBar Direction:=xlX, Include:=xlErrorBarIncludeBoth, Type:=xlErrorBarTypeCustom, Amount:="=GraphicSchedule!$" & getColumn(objList.ListColumns.Item("BarLength").Range.Column) & "$" & sourceRow, MinusValues:="=GraphicSchedule!$" & getColumn(objList.ListColumns.Item("BarLength").Range.Column) & "$" & sourceRow 

* Une autre chose à essayer est de basculer le .Format.Line.Visible après les modifications de rafraîchissement.

Selon la documentation de Microsoft, vous devez utiliser 'poids':

ErrorBars -> Border: https://msdn.microsoft.com/en-us/library/aa174210%28v=office.11%29.aspx

Bordure -> Poids: https://msdn.microsoft.com/en-us/library/aa215968%28v=office.11%29.aspx