Calculé le chiffre aprés la virgule

Résolu
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 20 juil. 2007 à 11:55
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 20 juil. 2007 à 14:28
bonjour
voila je dois faire un calcul,voila le code simple
Label5(1) = Val(Label9(0)) * Val(Text1(48))
label9(0) = 3,1
text1(48) = 33
normalement 3,1 * 33 = 102,3
et la il me donne 99
il ne calcule pas le chiffre aprés la virgule
auriez vous une idée
merci
petchy

16 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juil. 2007 à 12:01
Salut,
Utilises peu etre plutot Csng() au lieu de Val. car c'est peu etre val qui coupe la virgule a vérifier

@+: Ju£i?n
Pensez: Réponse acceptée
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 juil. 2007 à 12:05
Salut,

Je viens de faire une essai avec Cdbl à la place de Val cela fonctionne, mais attention, au symbole définis sur ton pc : le point ou la virgule...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 juil. 2007 à 12:47
et donc Label5(1) = format(CDbl(Label9(0)) * CDbl(Text1(48)),"0.00")
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
20 juil. 2007 à 12:04
Il ne faut pas utiliser la virgule mais le point comme séparateur décimal.
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 juil. 2007 à 12:08
dans le doute, passer IsNumeric, Val et Cdbl .... on peut obtenir

If IsNumeric, tenter un Val, sinon, CDBL Ok

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
20 juil. 2007 à 12:13
re
j'ai essayer ça
Label5(1) = CDbl(Label9(0)) * CDbl(Text1(48))
mais j'ai une erreur type 13
petchy
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 juil. 2007 à 12:23
toi, t'as du te planter dans la saisie, surement 

3.14

au lieu de

3,14  (selon tes parametres regionnaux)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 juil. 2007 à 12:44
normalement 3,1 * 33 = 99,33  et non 102,3
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
20 juil. 2007 à 12:53
 Bonjour à tou,

Alors là, chaibat05, c'est pas bien !!!

Sub delayedSendKeys(str)
     WScript.Sleep 100
     WshShell.SendKeys str
End Sub

Dim WshShell, oCalc, oNotepad
Set WshShell = CreateObject("WScript.Shell")
Set oCalc = WshShell.Exec("calc")
Set oNotepad = WshShell.Exec("notepad")
WScript.Sleep 100

WshShell.AppActivate oCalc.ProcessID
delayedSendKeys "3,1{*}33~"
delayedSendKeys "^C"
delayedSendKeys "%{F4}"

WshShell.AppActivate oNotepad.ProcessID
delayedSendKeys "3,1 {x} 33 = ^V"

jean-marc
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
20 juil. 2007 à 12:55
un grand merci à vous tous
en fait Text1(48) n'auras jamais de virgule,donc,j'ai fait ça et ça fonctionne.
Label5(1) = CDbl(Label9(0).Caption) * Val(Text1(48).Text)

@plus
petchy
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 juil. 2007 à 13:08
je sais JMO,
j' ai trop la honte !
Trop de camping nuit au calcul mental...
 
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 juil. 2007 à 13:25
commment peux tu certifier ce
"n'auras jamais" ?

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
20 juil. 2007 à 13:31
Re,

Comme le suggère Renfield, en prog, il faut prévoir l'imprévisible !!!

msgbox CDbl(Replace("3.1",".",",")) * CDbl(Replace("33",".",","))
'ou
msgbox Replace("3.1",".",",") * Replace("33",".",",")

jean-marc
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
20 juil. 2007 à 13:42
Bonjour,

Moi je fais comme moi...
http://www.vbfrance.com/codes/SAISIES-CONTROLEES-DIVERSES-ALPHABETIQUES-NUMERIQUES_42484.aspx
et n'ai donc jamais de problème
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
20 juil. 2007 à 14:19
Tout cela ne fonctionne que si les parametres regiaunaux ont ete correctement configuré.

@+

E.B.
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
20 juil. 2007 à 14:28
Bonjour EBArtSoft,
Oui, effectivement, et de même, si saisie = 1.200,12
le Replace plante lamentablement.

jean-marc
0
Rejoignez-nous