Function Newton(ByVal Equation As String, Optional ByVal X As Variant = 0, Optional ByVal Pre As Variant = 14) 'Conversion X = CDbl(X) Pre = CDbl(Pre) 'Recherche de x pour que f(x)=0 Dim nb As Long, X2 As Double Do X2 = X nb = nb + 1 'eviter une non convergence (boucle sans fin) X = X - F(Equation, X) / Derive(Equation, X) Loop Until Abs(X2 - X) < 10 ^ -Pre Or nb > 50 If nb > 50 Then Newton = "#NOMBRE!" 'soit divergent, soit X trop loin, soit precision insuffisante <10^-14 Else Newton = X End If End Function