Aide petit exo de programation en vba
Fermé
fox
-
5 juin 2006 à 05:20
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 5 juin 2006 à 09:10
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 5 juin 2006 à 09:10
A voir également:
- Aide petit exo de programation en vba
- Vba range avec variable ✓ - Forum VB / VBA
- Petit colis distribution ✓ - Forum Consommation & Internet
- Comment retourner un colis - Forum Consommation & Internet
- [Sujet Groupé] Shein livraison sans réception ✓ - Forum Consommation & Internet
- Erreur 1004 vba ✓ - Forum VB / VBA
2 réponses
blux
Messages postés
26000
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 avril 2024
3 289
5 juin 2006 à 09:04
5 juin 2006 à 09:04
Salut,
c'est où que tu coinces ?
c'est où que tu coinces ?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
5 juin 2006 à 09:10
5 juin 2006 à 09:10
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