Function FactGamma(ByVal X As Double)
'Calcul de la fonction Gamma
'SYNTAXE : factgamma(X)
'pour -oo<X<+oo
'précision max à 1e-9 dû à la fonction GammaLN(X)

If X > 0 Then
    FactGamma = Exp(Application.WorksheetFunction.GammaLn(X))
Else
    If X = Int(X) Then FactGamma = "#INFINI!": Exit Function
    X = -X + 1
    FactGamma = Exp(Application.WorksheetFunction.GammaLn(X))
    FactGamma = 4 * Atn(1) / (FactGamma * Sin(4 * Atn(1) * X))
End If

End Function