Régression quadratique avec VBA

Bonjour à tous,

Je souhaite réaliser une régression (ou approximation) quadratique d'une série de 10 valeurs en vba. Il s'agit de températures en fonction du temps : Temp(tps).

Pour l'instant, mon code ressemble à ça :

With ws_donnees

        ' Étape 1 : Récupérer les 10 valeurs de températures et de temps
        Dim Temp(1 To 10) as Double
        Dim tps(1 To 10) as Double
        For i = 1 To 10
            Temp(i) = .Cells(i, 2).Value
            tps(i) = .Cells(i, 1).Value ' Colonne temps = colonne 1
        Next i

        ' Construire la matrice X avec t et t^2
        Dim X(1 To 10, 1 To 2) as Double
        For i = 1 To 10
            X(i, 1) = tps(i) ^ 2
            X(i, 2) = tps(i)
        Next i

        ' Étape 2 : Calcul du polynôme de degré 2
        coeff = Application.WorksheetFunction.LinEst(Temp, X, True, False)
end with

Avant que l'étape 2 ne s'exécute, la fenêtre des variables locales affiche :

Temp Double(1 To 10)

tps Double (1 To 10)

X Double(1 To 10, 1 To 2)

Ces dimensions me paraissent cohérentes et les vecteurs sont remplis avec les valeurs que je souhaite.

Cependant lors de l'exécution de l'étape 2, le message d'erreur "Impossible de lire la propriété LinEst de la classe WorksheetFunction" s'affiche.

Ce que j'aimerais, c'est que le vecteur coeff contiennent 3 valeurs a, b, c telles que l'équation a*t^2 + b*t + c soit la régression quadratique de mes valeurs.

Je n'ai probablement pas bien compris le formalisme de cette fonction.

Pourriez-vous m'aider, s'il vous plaît ?

Un grand merci pour votre attention

Bien cordialement

Vincent

Hello,

Coeff a plusieurs valeurs donc difficile de l’exploiter juste comme ça il faut passer par la

    MsgBox "a = " & coeff(1, 1) & vbCrLf & _
           "b = " & coeff(1, 2) & vbCrLf & _
           "c = " & coeff(1, 3)

@+

bonjour Twenty_hundred, salut Baroute78,

10twenty-hundred.xlsb (21.33 Ko)

Bonjour Baroute78,

Merci pour ton code mais le mien ne s'exécute pas. Il affiche un message d'erreur lorsqu'il essaye de réaliser l'étape 2. La variable coeff est donc vide :-\

Merci BsAlv pour ton fichier dont la macro répond parfaitement à mon problème.

Quelques petits tests supplémentaires et je clôturerai le sujet.

Un grand merci à vous deux !

Rechercher des sujets similaires à "regression quadratique vba"