Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A2:E2]) Is Nothing Then Exit Sub
Dim n&, pas, f$, i&, x
n = 200 'nombre d'intervalles, modifiable
pas = ([E2] - [C2]) / n
f = LCase(Mid([A2], 3))
Application.ScreenUpdating = False
Range("A5:B" & Rows.Count).ClearContents 'RAZ
For i = 0 To n
x = [C2] + pas * i
[A5].Offset(i) = x
[B5].Offset(i) = Evaluate(Replace(Replace(f, "x", x), ",", "."))
Next
If ChartObjects.Count Then ChartObjects.Delete
With ChartObjects.Add(Left:=120, Width:=500, Top:=75, Height:=300).Chart
.ChartType = xlXYScatterSmoothNoMarkers
.SetSourceData Source:=[A5].Resize(n + 1, 2)
.SeriesCollection(1).Name = [A2]
.SetElement msoElementLegendNone
End With
End Sub