Bonjour, je vous écris car j'ai un soucis pour créer une macro pour résoudre une équation du second degré ( je suis débutant)
Sur la feuille de calcul j'ai crée 3 cellule pour les coefficient a,b et c que j'ai nommé.Ensuite j'ai crée et nommé des cellules pour chaque solution possible.
J'ai écris une macro pour résoudre cette équation et bien sur j'ai des erreurs "VALEURS" mais je n'arrive pas a corriger ces problèmes, c'est pour cela que je sollicite votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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