A voir également:
- Aide petit exo de programation en vba
- Petit 1 comme ² ✓ - Forum Windows
- Incompatibilité de type vba ✓ - Forum Programmation
- Trier du plus petit au plus grand excel - Guide
- Comment imprimer une photo en petit - Forum Photo numérique
- Petit 3 ✓ - Forum Word
2 réponses
Salut,
Vu que le factoriel donne des résultat assez grands, obliger la fonction de retourner des résultats integer (-32 768 à 32 767) nous permet de calculer au max 7! puique 8! = 40320 qui n'est plus un integer
Ex1
Dans le 2ème cas on aura la même situation si tu prend un argument 2348 par exemple
2,3,4 pas de problème mais 8! on revient au 1er cas
Ex2
lami20j
Vu que le factoriel donne des résultat assez grands, obliger la fonction de retourner des résultats integer (-32 768 à 32 767) nous permet de calculer au max 7! puique 8! = 40320 qui n'est plus un integer
Ex1
Function Factoriel(a As Integer) As Integer Dim i, j j = 1 For i = 1 To a j = j * i Next i Factoriel = j End Function
Dans le 2ème cas on aura la même situation si tu prend un argument 2348 par exemple
2,3,4 pas de problème mais 8! on revient au 1er cas
Ex2
Function SommeFactoriel(aa As Integer) As Integer Dim ii As Byte, t As Byte, byLength As Byte Dim k, res byLength = Len(CStr(aa)) k = 1: res = 0 For ii = 1 To byLength For t = 1 To Mid(aa, ii, 1) k = k * t Next t res = res + k: k = 1 Next ii SommeFactoriel = res End FunctionLe 3ème je te laisse le faire.
lami20j