Le problème c'est qu'Excel va relier les points d'une série ensemble, donc si tu fais des allers-retours entre positif et négatif, ça donnera ce genre de choses...
Un autre essai via une macro (pour les points uniquement) :
Sub ColorPtsGraph()
Dim Pts As Long
With Sheets("DAX M1")
Sheets("Graph").ChartObjects("Graphique 1").Activate
For Pts = 1 To ActiveChart.SeriesCollection(1).Points.Count
If Not .Range("G" & Pts + 5) = "" Then
If .Range("G" & Pts + 5) >= 0 Then
ActiveChart.SeriesCollection(1).Points(Pts).Format.Fill.ForeColor.RGB = RGB(0, 176, 80)
Else
ActiveChart.SeriesCollection(1).Points(Pts).Format.Fill.ForeColor.RGB = RGB(192, 0, 0)
End If
End If
Next Pts
End With
End Sub