OVH Cloud OVH Cloud

valeur décimale

2 réponses
Avatar
josé
Sub Angle()
Dim rep As Integer
Dim rep1 As Integer
rep =3D InputBox("Saisissez la valeur en grades")
If rep > 400 Then
MsgBox ("Valeurs sup=E9rieurs =E0 400erron=E9es")

rep =3D InputBox("Saisissez la valeur en grades")
End If
MsgBox ("La transformation en degr=E9 est de") & rep * (90 /=20
100)
rep1 =3D rep * (90 / 100)
MsgBox ("La transformation en radian est de") & rep1 *=20
(3.1416 / 180)
Range("A6").Value =3D rep1 * (3.1416 / 180)


End Sub


Bonjour
Comment faire pour entre une valeur d=E9cimale au lieu d'une=20
valeur enti=E8re?=20
Merci d'avance
Jos=E9

2 réponses

Avatar
sfc.sniper
defini tes variables comme des decimales et non des entiers

Dim rep As Double
Dim rep1 As Double

parcontre, je crois que inputbox retourne une chaine
donc :

repstr = InputBox("Saisissez la valeur en grades")
rep = val(repstr)




"josé" a écrit dans le message de
news:81d501c3e925$b5e21420$
Sub Angle()
Dim rep As Integer
Dim rep1 As Integer
rep = InputBox("Saisissez la valeur en grades")
If rep > 400 Then
MsgBox ("Valeurs supérieurs à 400erronées")

rep = InputBox("Saisissez la valeur en grades")
End If
MsgBox ("La transformation en degré est de") & rep * (90 /
100)
rep1 = rep * (90 / 100)
MsgBox ("La transformation en radian est de") & rep1 *
(3.1416 / 180)
Range("A6").Value = rep1 * (3.1416 / 180)


End Sub


Bonjour
Comment faire pour entre une valeur décimale au lieu d'une
valeur entière?
Merci d'avance
José
Avatar
Clément Marcotte
rep = val(repstr)


Val() ne vaut pas un clou sur les systèmes avec la virgule comme
séparateur décimal. Il est préférable d'utilise Csng() pour des
variables en précision simple, ou cDbl() pour des variables en
précision étendue.