Résultat fonction dans txtbox [Résolu]

cs_dikanete 14 Messages postés vendredi 22 février 2008Date d'inscription 20 septembre 2009 Dernière intervention - 28 févr. 2008 à 23:45 - Dernière réponse : cs_dikanete 14 Messages postés vendredi 22 février 2008Date d'inscription 20 septembre 2009 Dernière intervention
- 1 mars 2008 à 15:23
Bonsoir à tous,
voici mon prb:
dans une instruction "Private" je désire attribuer le résultat d'une procédure "fonction" à une TextBox.
j'ai pensé à ce code qui me parait assez logique mais ça ne marche pas:

Private Sub CommandButton_click()
    TextBox.Value = Function(x,y,z,)
End Sub

J'ai trouvé un code qui fait appel à:

Private Sub CommandButton_click()
     TextBox.Value = (Pricers.Function(x,y,z,)
End Sub

Je ne comprend pas le terme "Pricers" et dans les deux cas rien ne marche.

Si qqn peut m'aider.

Merci bcp d'avance
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
cs_MPi 3872 Messages postés mardi 19 mars 2002Date d'inscription 13 juillet 2018 Dernière intervention - 29 févr. 2008 à 00:33
3
Merci
Remplace
TextBox.Value = Function(x,y,z,)
par
TextBox.Text = option_fin(x,y,z,)

Une Function devrait en principe retourner une valeur d'un type spécifié
Dans ton cas, comme il n'y a pas de type de valeur, elle retournera un Variant
Si tu sais qu'elle devrait retourner un nombre, disons, tu devrais l'écrire comme ceci
Function option_fin(x, y, z) As Double
si c'est un nombre réel,
sinon As Integer, As Long, As String si c'est une chaîne, ....

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI

Merci cs_MPi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de cs_MPi
Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 29 févr. 2008 à 11:09
3
Merci
Re
Il faudra peut-être aussi ajouter le mot Public devant ta déclaration de fonction afin que tous les éléments de ton projet puisse y accéder (et pas simplement les codes appartenant à ce module) :

Public Function option_fin(x, y, z) As Double

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de cs_Jack
Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 29 févr. 2008 à 17:14
3
Merci
salut,

çà serait pas juste une erreur de "end function attendu" ?
parce que...
Function option_fin(x, y, z)
  la formule
End sut
même avec End sub, VB va râler
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de PCPT
Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 1 mars 2008 à 14:39
3
Merci
txt_prix_BS.Text = BS_STD(TypeOption, S, K, r, sigma, Maturité(), 4)
1
TypeOption



2


S



3


K



4


r



5


sigma



6


Maturité()



7


4





Public Function BS_STD(TypeOption, S, K, r, sigma, T) As Double
1 TypeOption
2 S
3 K
4 r
5 sigma
6 T

beh ouai le message est clair...
6 arguments attendus et tu en donnes 7 :)
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de PCPT
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 29 févr. 2008 à 00:04
0
Merci
Salut
En fait, la fonction dont le nom est très mal choisi "Function" appartient à un module ou une classe nommé "Pricers".
Nom très mal choisi car "Function" est un mot réservé des langages de programmation.

Alors, qu'elle est le fond de ta question ?
Est-ce le résultat de "Function" qui t'intéresse ou bien la méthode d'accès ?

En tous les cas, merci pour la clarté de ton ennoncé, ça fait plaisir de ne pas être obligé de décrypter.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
cs_dikanete 14 Messages postés vendredi 22 février 2008Date d'inscription 20 septembre 2009 Dernière intervention - 29 févr. 2008 à 00:24
0
Merci
Salut et merci pour ta réponse.


je vais essayer d'éclaircir mon prb. le voici en deux mots:


j'ai crée une procédure Function dans mon module qui comporte un calcul d'évaluation d'option financière.

Function option_fin(x, y, z)
  la formule
End sut

j'ai créé une Userform pour rentrer les différents parametres. je désire faire apparaître le résultat de mon calcul dans la TextBox finale de ma UserForm en cliquant sur la CommandButton1

Pour répondre à ta question, j'aimerais que mon résultat s'affiche lorsque je clique sur ma CommandButton1.

pour ceci j'ai créé une instruction Private Sub dans le code de ma UserForm avec comme code:

Private Sub CommandButton_click()
    x = val(textBox1.value)
    y=val(textBox2.value)
    .
    .
    TextBox.Value = Function(x,y,z,)
End Sub

ça ne marche pas.

je suis un peu largué et je suis débutant. j'espère que mon message convient.

merci encore pour l'aide que tu pourras m'apporter.

a plus


 
Commenter la réponse de cs_dikanete
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 29 févr. 2008 à 11:12
0
Merci
+ Quand tu dis "ça ne marche pas", précise ce qui se passe :
Erreur ? (n° et description de l'erreur ...)
Mauvais résultat ?
...
Commenter la réponse de cs_Jack
cs_MPi 3872 Messages postés mardi 19 mars 2002Date d'inscription 13 juillet 2018 Dernière intervention - 29 févr. 2008 à 22:37
0
Merci
Et je viens de me relire...
ne pas mettre la dernière virgule
<strike>TextBox.Text = option_fin (x,y,z,)</strike>
TextBox.Text = option_fin(x,y,z)

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Commenter la réponse de cs_MPi
cs_dikanete 14 Messages postés vendredi 22 février 2008Date d'inscription 20 septembre 2009 Dernière intervention - 1 mars 2008 à 14:23
0
Merci
Merci pour toutes ces réponses,
Il est vrai que mon message n'était encore une fois par très clair.
Je viens de me relire et j'ai fait une faute de frappe et ce n'est pas <strike>End Sut</strike> mais End Function évidemment.

j'ai indiqué Public et également as Double pour identifier le type de valeur

concernant le messgae d'erreur il dit:

"Erreur de compilation, nombre d'argument incorrect ou affectation de propriété incorrecte"

voici mes codes:

Public Function BS_STD(TypeOption, S, K, r, sigma, T) As Double
 ....
End Function

Private Sub BTN_prix_BS_click()
    S = Val(txt_S.Value)
    K = Val(txt_K.Value)
    r = Val(txt_r.Value)
    sigma = Val(txt_sigma.Value)
    txt_prix_BS.Text = BS_STD(TypeOption, S, K, r, sigma, Maturité(), 4)
End Sub

L'erreur se situe au niveau de l'appelation de mon instruction.

Merci d'avance pour votre coup de main.

a plux
Commenter la réponse de cs_dikanete
cs_dikanete 14 Messages postés vendredi 22 février 2008Date d'inscription 20 septembre 2009 Dernière intervention - 1 mars 2008 à 15:23
0
Merci
logique.

merci du coup de main et de votre patience à tous encore une fois.

a plus certainement
Commenter la réponse de cs_dikanete

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.