salut, essayes ceci :
Function dichotomie()
Dim i As Integer
Dim tol, x1, x2, x3, f1, f2, f3 As Double
sigma_l = PI ^ 2 * Ec / 12 * (t / (k * p)) ^ 2 'Eqn 1-3.6.2.1
'correction for plasticity (using the bisection method)
tol = 10 ^ -5 'iterative tolerance
i = 0 'boucle
x1 = 5 'bornes initiales de ton segment d'étude [5;15]
x2 = 15
x3 = (x1 + x2) / 2
Do
i = i + 1
If i > 100 Then
response = MsgBox("*** ERREUR ***" & Chr(10) & "pas de convergence", 0)
Exit Function
End If
f1 = x1 - 2 * Log((0.0006 / 3.71) + (2.51 * x1 / 10 ^ 5))
f2 = x2 - 2 * Log((0.0006 / 3.71) + (2.51 * x2 / 10 ^ 5))
f3 = x3 - 2 * Log((0.0006 / 3.71) + (2.51 * x3 / 10 ^ 5))
If Sgn(f1) <> Sgn(f3) Then
x2 = x3
ElseIf Sgn(f3) <> Sgn(f2) Then
x1 = x3
End If
x3 = (x1 + x2) / 2
Loop Until (x2 - x1) / x3 < tol
en espérant que tu sois sur la bonne piste.*
Pierre