Débutant VBA : création d'un programme "somme factorielle" [Résolu]

Signaler
Messages postés
3
Date d'inscription
lundi 24 février 2014
Statut
Membre
Dernière intervention
24 février 2014
-
Messages postés
29179
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 août 2020
-
Bonjour,

etant totalement débutant dans VBA je souhaiterais votre aide pour effectuer un programme vba me permettant de calculer la somme suivante:

sommefactorielle= 1!+2!+3!+4!+.......+n!

j'ai besoin de saisir n dans une boite de dialogue. merci beaucoup de votre aide

je pense que j'ai trouvé pour la factorielle mais il me faut la somme.

pourriez vous m'aider ? merci à tous

Dim R As Long

R=Factorielle(3)    'retournera 6

Function Factorielle (ByVal N as Long) As Long
    Dim i As Long
    Resultat=1
    For i= 1 to N
        Resultat=i* Resultat
    Next i
    Return Resultat
end Function
A voir également:

3 réponses

Messages postés
29179
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 août 2020
335
Bonjour,

1 - J'ai déplacé ton sujet dans la section VBA du forum ( VB.net n'étant pas VBA).

2 - J'ai ajouté les balises de code.. la coloration syntaxique

3 - Pour ce qui est de ta question :

Si tu N = 3 tu dois obtenir 9 .. c'est bien ça ?

Sub test()
Dim R As Long
Dim N
Dim Saisie As Boolean
    Saisie = False

While Saisie = False
N = InputBox("Entrez une valeur pour N", "Somme_Fact")
If IsNumeric(N) Then
    Saisie = True
   For J = 1 To Int(N)
     R = R + Factorielle(J)
   Next
   Debug.Print (R)
Else
    MsgBox "Merci de saisir un nombre.."
End If
Wend
End Sub

Function Factorielle(ByVal X As Long) As Long
    Dim i As Long
    Resultat = 1
    For i = 1 To X
        Resultat = i * Resultat
    Next i
    Factorielle = Resultat
End Function



Messages postés
3
Date d'inscription
lundi 24 février 2014
Statut
Membre
Dernière intervention
24 février 2014

Bonjour Jordane,

je te remercie vivement pour ta réponse et prends note de tes remarques.

oui effectivement si N=3, alors la somme = 9

je souhaitais te demander si je n'ai plus besoin de mettre les codes :

console.readline
ou console.writeline
console.read?
Messages postés
29179
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 août 2020
335
je souhaitais te demander si je n'ai plus besoin de mettre les codes :

console.readline
ou console.writeline
console.read?

A quel moment mettais tu ces codes ?
Dans du VBA ? -> en général on utilise DEBUG.PRINT (pour écrire dans la fenêtre d'exécution)