Appel de fonction

snooftow Messages postés 3 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 15 décembre 2006 - 15 déc. 2006 à 17:23
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 15 déc. 2006 à 22:23
bonjour,

Je dois developper un petit programme en utilisant une fonction permettant de donner le montant di capital grace au placement d'une somme d'argent, au taux, pendant un nbre d'année.

Voici le debut de mon programme:

Sub main()


s = MsgBox("Donner la somme d'argent:")
t = MsgBox("Donner le taux:")
n = MsgBox("Donner le nombre d'année:")


 


End Sub


Function capital(ByVal s As Integer, ByVal t As Integer, ByVal n As Integer) As Single


capital = s * ((1 - t) / 100) ^ 1 - n


End Function

Seulement je ne sais pas vraimant comment il faut faire pour appelé la fonction ( que je dois mettre avant End Sub)

Merci par avance de votre aide

10 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
15 déc. 2006 à 17:31
tout simplement capital(s,t,n) te retournera la valeur de la fonction !

Donc : resultat = capital(s,t,n)

Mais dis-moi un peu comment récupères-tu tes valeurs avec une msgbox ? Inputbox me paraitrait approprié
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
15 déc. 2006 à 17:31
salut
Call Capital
0
snooftow Messages postés 3 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 15 décembre 2006
15 déc. 2006 à 17:42
Sub main()


s = InputBox("Donner la somme d'argent:")
t = InputBox("Donner le taux:")
n = InputBox("Donner le nombre d'année:")



resultat = capital(s,t,n)
msgbox (resultat)



End Sub


Function capital(ByVal s As Integer, ByVal t As Integer, ByVal n As Integer) As Single


capital = s * ((1 - t) / 100) ^ 1 - n


End Function

Le souci qui se passe c'est que lorsque le lance l'execution, j'ai le message comme quoi s, t, n ne sont pas declaré. Mais justement ces valeurs sont declarée avec la fonction Function, Non?

Merci d'avance pour votre aide
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
15 déc. 2006 à 17:52
Non !
Tu dois les déclarer
Rien te t'empêche d'ailleurs de remplacer s,t et n (leurs noms) dans la fonction.
resultat = capital(s,t,n)

et
Function capital(ByVal sa As Integer, ByVal ta As Integer, ByVal na As Integer) As Single

capital = sa* ((1 - ta) / 100) ^ 1 - na

End Function

Par contre s, t et n doivent être déclarés avant d'appeler la fonction
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
15 déc. 2006 à 18:08
doivent être déclarés comme public.

Public s As ...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
15 déc. 2006 à 18:18
Eh, Bricoyeye !...
Pas nécessairement !
Il suffit d'aimmeures de ceci :

Private Sub Command1_Click()
   Dim s as integer, t as integer, n as integer
   s = InputBox("Donner la somme d'argent:")
   t = InputBox("Donner le taux:")
   n = InputBox("Donner le nombre d'année:")



 resultat = capital(s,t,n)
 msgbox (resultat)



End Sub
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
15 déc. 2006 à 18:49
Si c'est fait sur la même form.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
15 déc. 2006 à 19:15
Bricoyeye, même si c'est appelé d'une autre Form, pas besoin du Public...
Tant que la fonction, elle, est publique, on peut l'appeler !
Tant que c'est déclaré (les variables) en Dim et DANS la même procédure / fonction appelant la Fonction publique, c'est parfait.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
15 déc. 2006 à 22:19
Oui, si la fonction est déclarée dans un module, mais si elle est déclérée  dans une autre form!!!
déclarée dans Form1 et appelée dans Form2 !!
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
15 déc. 2006 à 22:23
Tu sais quoi, Bricoyeye ?
Essaye d'appeler depuis la Form1 une fonction qui est dans Form2 en lui passant des paramètres et reviens ensuite vers nous..
Mais essaye toujours ce que tu dis
0
Rejoignez-nous