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

Messages postés
3
Date d'inscription
lundi 24 février 2014
Dernière intervention
24 février 2014
- 24 févr. 2014 à 13:02 - Dernière réponse :
Messages postés
23313
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2018
- 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
Afficher la suite 

Votre réponse

3 réponses

Messages postés
23313
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2018
24 févr. 2014 à 14:11
0
Merci
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



Commenter la réponse de jordane45
Messages postés
3
Date d'inscription
lundi 24 février 2014
Dernière intervention
24 février 2014
24 févr. 2014 à 14:28
0
Merci
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?
Commenter la réponse de and.fenitra
Messages postés
23313
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2018
24 févr. 2014 à 14:58
0
Merci
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)
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.