1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Public Function Resolution(ByVal a As Double, ByVal b As Double, ByVal c As Double) As Double
Dim delta, X1, X2, im1, re1, im2, re2 As Double
Dim t1, t2 As Double
a = Active
If a = 0 Then
If b = 0 Then
If c = 0 Then
ActiveSheet.Range ("infinite_de_solutions")
Else
ActiveSheet.Range ("pas_de_solutions")
End If
Else
réelle = -c / b
ActiveSheet.Range ("une_solution_reelle")
End If
Else
delta = b * b - 4 * a * c
If (delta < 0) Then
t1 = -b / (a + a)
t2 = Math.Sqr(-delta) / (a + a)
re1 = t1
ActiveSheet.Range ("partie_reelle_1")
re2 = t1
ActiveSheet.Range ("partie_reelle_2")
im1 = -t2
ActiveSheet.Range ("partie_imaginaire_1")
im2 = t2
ActiveSheet.Range ("partie_imaginaire_2")
Else
If (delta = 0) Then
X = -b / (a + a)
Else
t1 = -b / (a + a)
t2 = Math.Sqr(delta) / (a + a)
X1 = t1 - t2
ActiveSheet.Range ("premiere_solution_reelle")
X2 = t1 + t2
ActiveSheet.Range ("deuxieme_solution_reelle")
End If
End If
End If
End Function |
Partager