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