Débutant VBA : création d'un programme "somme factorielle"

Résolu
and.fenitra Messages postés 3 Date d'inscription lundi 24 février 2014 Statut Membre Dernière intervention 24 février 2014 - Modifié par jordane45 le 24/02/2014 à 13:57
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 24 févr. 2014 à 14:58
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

3 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
24 févr. 2014 à 14:11
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



0
and.fenitra Messages postés 3 Date d'inscription lundi 24 février 2014 Statut Membre Dernière intervention 24 février 2014
24 févr. 2014 à 14:28
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?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
24 févr. 2014 à 14:58
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)
0
Rejoignez-nous