probleme affichage nombre avec décimale, virgule et point.

jojo2006

XLDnaute Occasionnel
Bonjour à tous,

voila j'utilise un userform qui fait un calcul simple en fonction des valeures présente dans des textes box.

j'ai plusieurs questions sur la syntaxe VB:


Probleme affichage sur le nombre de décimale renvoyer par la textebox


si je veux renvoyer un nombre à virgule ex 1,25 comment dois je paramétrer ma variable (ou ma textbox??) pour que la valeure s'affiche correctement (pas1,25165841841)

Type de variable

quel est le type de variable à utiliser pour un nombre à virgule?

je me suis apercu que si je mets un point (.) au lieu d'une virugule dans mes valeures d'entrées le résultats differe.

Probleme avec point et virgule

Suis-je obliger de forcer l'utilisateur à utiliser la virgule et non le point pour que le résultat s'affiche toujours de la meme manière?



Merci à tous pour vos réponses
 

jojo2006

XLDnaute Occasionnel
Re : probleme affichage nombre avec décimale, virgule et point.

rebonjour


si j'ai 2 textbox et que je les ajoute en placant le résultat dans une variable double

et bien

si textbox1=4 et textbox2=5

variabledouble= userform1.txtbox1.value+userform1.txtbox2.value

variabledouble=45 (et non 9 comme 5+4)

je ne comprend pas pourquoi???

y a til quelqu'un pour m'éclairer:(

merci
 

Gorfael

XLDnaute Barbatruc
Re : probleme affichage nombre avec décimale, virgule et point.

jojo2006 à dit:
rebonjour


si j'ai 2 textbox et que je les ajoute en placant le résultat dans une variable double

et bien

si textbox1=4 et textbox2=5

variabledouble= userform1.txtbox1.value+userform1.txtbox2.value

variabledouble=45 (et non 9 comme 5+4)

je ne comprend pas pourquoi???

y a til quelqu'un pour m'éclairer:(

merci
Salut
TextBox contient du texte (et pas de la boxe):D
Code:
Sub test()
Dim X As String
Dim Y As String
Dim Ma_Var As Double
X = Replace(InputBox("1er nombre"), ".", ",")
Y = Replace(InputBox("2me nombre"), ".", ",")
Ma_Var = CDbl(X) + CDbl(Y)
MsgBox (Format(Ma_Var, "# ##0.00"))
End Sub
Petite macro de test
tu la lance, et tu vois

replace : si la fonction trouve "." elle le remplace par ","
Cdbl convetit du texte en nombre
format affiche un nombre suivant le format qui suit. Attention : Excel étant fait par des américains, les variables est américain : les dates sont en mois/jours/années, les formats numériques sont avec le point et pas la virgule. C'est un peu déroutant, mais faut s'y faire.
A+
 
Dernière édition:

jojo2006

XLDnaute Occasionnel
Re : probleme affichage nombre avec décimale, virgule et point.

salut ,


Merci beaucoup

j'ai fait cela dans mes box

Private Sub txtbox_Change()
UserForm1.txtbox.Value = Replace(UserForm1.txtbox.Value, ".", ",")
End Sub

et ca marche nickel, quand je tape un "." il me le change de suite en ",".

donc c ok

par contre comment tu fais pour que le résultat soit limité à un nombre à 2 (ou X) décimales après la virgule?

exemple si le résultat est 1,548967 j'aimeai qu'il m'affiche 1,55 (la valeure arrondie en fait)


Tu as 1 idée????:confused:


remarque:
la fonction cdbl je ne connaissais pas mais je pensais que c'étais plus simple pour faire l'addition de 2 nombre d'un textbox, bizarre de passer obligatoirement par cdbl.


MERCI
 

Discussions similaires

Statistiques des forums

Discussions
312 504
Messages
2 089 073
Membres
104 019
dernier inscrit
pascal la