Probleme VBA avec linest

Bonjour à tous,

Je suis débutant en vba et j'aurais besoin d'un coup de main.

En effet après de multiple recherche sur le net, je n'obtiens pas les bon nombres avec la fonction linest sous vba.

enfin j'en obtiens qu'un qui est faux.

La situation : obtenir les coef directeur d'une regression polynomial d'ordre deux à partir de deux colonnes qui peuvent varier .

voici le code que j'ai écrit

Set ylist = Range("D2:D" & j)

Set xlist = Range("C2:C" & j)

Range("G1,H1,I1") = Application.WorksheetFunction.LinEst(ylist, xlist, True, True)

Si quelqu'un pourrait m'aider

Merci d'avance.

Bonjour Carambar182 le forum

un petit fichier avec ce que tu as et ce que tu souhaites obtenir nous permettrait de t'aider car je ne pense pas que tu souhaites obtenir trois cellules avec le même résultat?

a+

papou

non tu as raison, je voudrai juste avoir les coef directeurs de la courbe de tendance, à chaque coef, ça case.

Merci pour la réponse, malheureusement le fichier est trop gros voici le code:

Dim i As Single
Dim j As Single
Dim k As Single
Dim max As Double
Dim def As Double
Dim defi As Double
Dim e As Single
Dim ylist As Range
Dim xlist As Range

Sub copiecollemax()
'
' copiecollemax Macro
' copie colel le max DaN
'
' Touche de raccourci du clavier: Ctrl+w
'
max = 0
def = 80
defi = 81
k = 1

For i = 2 To 1500

    If Cells(i, 2) > max Then
        max = Cells(i, 2)
        j = i
    End If

 '   If ((Cells(i, 2) >= def) And (Cells(i, 2) <= defi)) Then
 '   e = i
 '   End If
Next i

     While k <= j
     k = k + 1

    Cells(k, 4) = Cells(k, 2)

    Wend
 'Cells(5, 14) = max
'Cells(6, 14) = Cells(j, 1)
'Cells(7, 14) = Cells(e, 1)
' Courde N/M

    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.SetSourceData Source:=Range("'Feuil2'!$C$2:$D" & j)
    ActiveChart.ChartType = xlXYScatter
    ActiveChart.SetSourceData Source:=Sheets("feuil2").Range("C2:D" & j), PlotBy:=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:="feuil2"
    With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = "Energie"
    .Axes(xlCategory, xlPrimary).HasTitle = True
    .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "m"
    .Axes(xlValue, xlPrimary).HasTitle = True
    .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "N"

    Worksheets("feuil2").ChartObjects(1).Chart.SeriesCollection(1) _
       .Trendlines.Add(Type:=xlPolynomial, DisplayEquation:=True, DisplayRSquared:=False, Name:="Regression lineaire").Select

    ActiveWindow.Visible = False
    Range("O2").Value = ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Text
    End With

Set ylist = Range("D2:D" & j)
Set xlist = Range("C2:C" & j)

Range("G1,H1,I1") = Application.WorksheetFunction.LinEst(ylist, xlist, True, True)

End Sub

Merci!

bonjour carambar,

En fait la fonction linest (DROITEREG en français) n'est pas celle que tu cherches car elle te donne que les coefficients d'une droite de régression linéaire. Or, tu utilises une régression polynomiale.

Sans trop chercher, je ne connais pas la formule qui te permet d'obtenir ces coefficients mais ce qu'on peut faire c'est extraire ces coefs à partir de l'équation que te donne excel. A toi de me dire si tu veux utiliser cette méthode.

oui en faite je veux extraire les coef du polynome pour les utiliser ensuite, après quelque recherche j'ai vu qu'il fallait utiliser la fonction linest, mais je n'arrive pas a avoir les bon résultats avec.

Merci

Rechercher des sujets similaires à "probleme vba linest"