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
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
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
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
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
7668
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
71
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
3
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
71
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
26
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
3
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
71
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
26
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
7668
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
26
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