Function PolyACEq(ByVal MatX As Range, ByVal MatY As Range, ByVal MatXC As Range, ByVal MatYC As Range, ByVal N As Long, Optional ByVal R As Variant = 3) '-> apllication de PolyAC 'Traitement de l'arrondi 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 Dim LC As Long, L2C As Long, CC As Long, C2C As Long LC = MatXC.Rows.Count L2C = MatYC.Rows.Count CC = MatXC.Columns.Count C2C = MatYC.Columns.Count 'Erreur de taille If C > 1 Or C2 > 1 Or CC > 1 Or C2C > 1 Then PolyACEq = "#COLONNE!": Exit Function If l <> L2 Or LC <> L2C Then PolyACEq = "#LIGNE!": Exit Function If LC > N + 1 Or l < N + 1 - LC Then PolyACEq = "#DEGRE!": Exit Function Dim I As Long, P As Double For I = 1 To N + 1 P = WorksheetFunction.Round(PolyAC(MatX, MatY, MatXC, MatYC, N, I), R) If P > 0 Then PolyACEq = PolyACEq & " +" If P <> 0 Then Select Case P Case Is <> 1 Select Case I Case Is < N PolyACEq = PolyACEq & " " & P & "*X^" & N - I + 1 Case N PolyACEq = PolyACEq & " " & P & "*X" Case N + 1 PolyACEq = PolyACEq & " " & P End Select Case Else Select Case I Case Is < N PolyACEq = PolyACEq & " " & "X^" & N - I + 1 Case N PolyACEq = PolyACEq & " " & "X" Case N + 1 PolyACEq = PolyACEq & " " & P End Select End Select End If Next I End Function