Je n'y comprend plus rien... Facile à régler ???

jeffcantin Messages postés 19 Date d'inscription jeudi 27 février 2003 Statut Membre Dernière intervention 16 décembre 2003 - 9 mars 2003 à 17:51
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 - 9 mars 2003 à 19:17
Bonjour à tous?. J'ai un gros problème pour moi qui devrait être un petit problème pour vous.. Je m?explique

Je suis entrain de faire une petit convertisseur pour, par exemple changer les mètres en pied.

Donc si j'entre dans mon textbox le nombre 30,48 mètres, ça va me donner 100 pieds. Toutefois si j'inscrit 30.48 mètre (un point au lieu d'une virgule) ça plante.

J'ai essayé d'imposer que lorsque j'inscrit un point, ca me le convertisse en virgule mais ca ne fonctionne pas mais je crois que mon problème ne vient pas de là. À moins que VB ne soit pas capable de calculer avec un point ???

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then
KeyAscii = 44 ' remplace le point par la virgule
End If
End Sub

Lorsque j'utilise un point, ca me sort une erreur à cet endroit

Private Sub cmdCalcul_Click()
Dim curResultat As Currency

txtNombre.SetFocus

If optPiedmetre = True Then
curResultat = (txtNombre * 30.48) / 100 Erreur à cette ligne
lblReponse = curResultat

ElseIf (optmetrepied = True) Then
curResultat = (txtNombre / 30.48) * 100
lblReponse = curResultat

End If

End Sub

Si quelqu'un peut m?aider?

Merci à l'avance

2 réponses

DarkLanfeust Messages postés 71 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 14 août 2004
9 mars 2003 à 18:52
il y a beaucoup plus simple pour transformer le point en virgule:

Private Sub cmdCalcul_Click()
Text1.Text = Replace(Text1.text,".",",")

'instructions de conversion

End Sub

Dark L@nfeust
http://lagrangeduweb.free.fr
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
9 mars 2003 à 19:17
Salut
Je suppose que txtNombre est le nom d'une TextBox.
Dans ce cas,
1. Surtout pas de virgule mais un point : VB ne sait calculer qu'avec le point.
2. txtNombre = txtNombre.Text est un texte, pas un nombre
Pour faire ton calcul :
curResultat = Val(txtNombre) * 30.48 / 100

et, plus loin,

curResultat = Val(txtNombre) / 30.48 * 100
0
Rejoignez-nous