Petit probleme avec une fonction

Résolu
Smu2015 Messages postés 13 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 5 juillet 2007 - 21 juil. 2005 à 13:01
Fred800202 Messages postés 9 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 28 janvier 2006 - 25 juil. 2005 à 19:41
Bonjour :)



Mon problème est tres simple :)



J'ai une fonction Arrondir dans un module:



Function Arrondi(nb)

nb = Fix((nb + 0.0001) * 1000) / 1000

End Function



Dans un autre module, j'ai :

toto=arrondi(toto)



Le probleme, c'est que ca me renvoie toujours Vide :(

Dans la fonction Arrondi, c'est bien calculé mais ca 'suis' pas apres.



Merci de m'indiquer mon erreur

6 réponses

cs_SyS_ Messages postés 8 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 22 juillet 2005
21 juil. 2005 à 13:38
Salut !
Dans un premier temps, comme une fonction ('Arrondi' ici) renvoit toujours une valeur, il vaut mieux que tu précises le type de cette valeur. Tu peux d'ailleurs préciser aussi le type de la variable en entrée ('nb' dans ton cas). Par exemple, tu peux écrire :

Function Arrondi(nb as Single) as Single

Ton problème vient du fait que tu attribues la valeur à renvoyer à ta variable en entrée ('nb'), alors qu'il faut l'attribuer à la fonction :

Function Arrondi(nb as Single) as Single
Arrondi = Fix((nb + 0.0001) * 1000) / 1000
End Function

Ainsi, ça devrait suivre après!! ;-)
En espérant avoir été aussi clair que possible.

++++++++++++++++++++++++++++
3
gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 2
21 juil. 2005 à 13:57
Bonjour,

Public Function Arrondi(byval nb as Single) as long
Arrondi = Fix((nb + 0.0001) * 1000) / 1000
End Function

@++
[Gally Home Corp]
3
Smu2015 Messages postés 13 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 5 juillet 2007
21 juil. 2005 à 13:53
Salut :)



Merci beaucoup pour ta réponse rapide.

Malheuresement, mon probleme n'est tjs pas résolu..



Function Arrondi(nb as Double) as Double

Arrondi = Fix((nb + 0.0001) * 1000) / 1000

End Function



1er souci : si je met (nb as double) g un type d'argument byref
incompatible (ce qui est tres étrange puisque le 'toto' est en double
aussi



2eme souci : le resultat ne suis toujours pas ... au lieu de vide, j'ai 0
0
Smu2015 Messages postés 13 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 5 juillet 2007
21 juil. 2005 à 14:08
Ohhh le boulet, désolé, la réponse était bonne dès la seconde réponse...

Je continuais a mettre nb= au lieu de arrondi=



Merci beaucoup sys_

Merci aussi a toi Gally, avec le byval, plus de message d'erreur



@ +
0

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

Posez votre question
cs_SyS_ Messages postés 8 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 22 juillet 2005
22 juil. 2005 à 08:25
De rien ,
bonne continuation ! :-)
0
Fred800202 Messages postés 9 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 28 janvier 2006
25 juil. 2005 à 19:41
Salut tout le monde, j'espère ne pas me tromper dans le post, je voudrais savoir comment je puis retranscrire l'expression suivante: lpFindFileData.cAlternate = String$(14, 0) qui est en VB6 en VB.Net.

Je joue en effet avec les fonctions API FindFirstFile, FindNextFile et FindClose mais je bloque sur cette convertion de syntaxe, si quelqu'un pouvait m'aider ce serrait très sympas à lui

Merci à tout ceux qui participe à ces forums aussi bien pour le Visual Basic que le C++ ou les autres langages de programmation

La programmation, c bien, mais la programmation avec utilisation du multimédia (directX) c'est mieux, mais pas facile d'apprendre Sinon, le graphisme 3D c'est cool aussi avec 3D Studio Max et Bryce que j'apprend
0
Rejoignez-nous