CurrentRegion
E
Bonjour,
Comment faire pour que la fonction "CurrentRegion" considère les "-" comme des valeurs nulles ? Les tirets de mon tableau ci-dessous semblent bloquer la création automatisée du graphique correspondant ...
Dim ws As Worksheet
Dim rngChart As Range
Dim Ch As ChartObject
Dim min As Double, max As Double
Application.ScreenUpdating = False
Set ws = Sheets("Prix")
On Error Resume Next
ws.ChartObjects(1).Delete
On Error GoTo 0
Set rngChart = ws.Cells(1).CurrentRegion
min = Application.WorksheetFunction.min(rngChart)
max = Application.WorksheetFunction.max(rngChart)
Set Ch = ws.ChartObjects.Add(200, 10, 500, 250)
With Ch.Chart
.SetSourceData Source:=rngChart
.ChartType = xlLineMarkers
.Axes(xlValue).Delete
.Axes(xlValue).MajorGridlines.Delete
.HasLegend = False
.HasTitle = True
.ChartTitle.Text = "Prix"
.SetElement (msoElementErrorBarStandardError)
With .Axes(xlValue)
.MinimumScale = min * 0.9
.MaximumScale = max * 1.1
End With
With .SeriesCollection(1)
.HasErrorBars = True
.ErrorBars.Select
.ErrorBar _
Direction:=xlY, _
Include:=xlErrorBarIncludeMinusValues, _
Type:=xlErrorBarTypeFixedValue, _
Amount:=min
.MarkerStyle = 8
.MarkerSize = 8
.Format.Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent3
.ApplyDataLabels
.DataLabels.Position = xlLabelPositionAbove
With .Format.Line
.Visible = msoFalse
End With
End With
End WithBonsoir,
La question vient plutôt de comment sont écrit les tirets ? Est-ce une manipulation manuelle ?
Parce que si tu mets 0 et le format de la cellule en monétaire, ça va écrire - € mais ça prendra en compte que ça vaut 0
Cordialement,
Sha'