Function PolyAEq(ByVal MatX As Range, ByVal MatY As Range, ByVal N As Long, Optional ByVal R As Variant = 3) 'Calcul puis écriture de l'équation polynomiale définie 'par la methode des moindres carrés 'par les points contenus dans MatX et MatY 'Identique à Poly_calcul mais renvoi uniquement la formule 'r=arrondi des coefficients '!attention! trop peu de décimale efface le coefficient 'Traitement de l'index R = CLng(R) 'Tailles matrices Dim l As Long, L2 As Long, C As Long, C2 As Long l = MatX.Rows.Count L2 = MatY.Rows.Count C = MatX.Columns.Count C2 = MatY.Columns.Count 'Erreur de taille If C > 1 Or C2 > 1 Then PolyAEq = "#COLONNE!": Exit Function If l <> L2 Then PolyAEq = "#LIGNE!": Exit Function If l < N - 1 Then PolyAEq = "#DEGRE!": Exit Function Dim I As Long, P As Double For I = 1 To N + 1 P = WorksheetFunction.Round(PolyA(MatX, MatY, N, I), R) If P > 0 Then PolyAEq = PolyAEq & " +" If P <> 0 Then Select Case P Case Is <> 1 Select Case I Case Is < N PolyAEq = PolyAEq & " " & P & "*X^" & N - I + 1 Case N PolyAEq = PolyAEq & " " & P & "*X" Case N + 1 PolyAEq = PolyAEq & " " & P End Select Case Else Select Case I Case Is < N PolyAEq = PolyAEq & " " & "X^" & N - I + 1 Case N PolyAEq = PolyAEq & " " & "X" Case N + 1 PolyAEq = PolyAEq & " " & P End Select End Select End If Next I End Function