nours87
Messages postés33Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention 5 octobre 2007
-
25 juil. 2007 à 11:28
nours87
Messages postés33Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention 5 octobre 2007
-
26 juil. 2007 à 08:42
Bonjour,
Je suis débutant et j'ai un petit soucis.
VOici un extrait de code pour expliquer le pb :
Sub
essai()
Dim variable
As
Double
Dim objet
As Controlvariable = 0.15 'nombre que je rentre en prenant de garde de mettre un "."
TextBox1.Text variable 'la valeur résultante de texbox1.text 0,15 avec une ","
objet = TextBox1
End
SubVoila comme vous pouvez le voir dans le morceau de code précédent lorsque j'affecte la propriété .text de ma texbox de la valeur d'une variable possèdant un "." comme séparateur décimal, celle-ci le modifie et le "." devient une ",".
J'ai cherché sur le net un moyen de "convertir" cette virgule ennuyeuse car il s'agit d'un paramètre qui n'est pas mondial contrairement au ".", mais je n'est pas trouvé.
Attention il existe des moyens de transformer la "," en "." lorsque l'on tape les caractère au clavier mais ici ca ne marche pas car il n'y a pas de pression sur les touches (il s'agit de charger des données enregistrées).
J'ai bien trouvé ce code (de Mortalino)
With Application
.UseSystemSeparators = False
.DecimalSeparator = "."
End With
Mais je ne sais pas comment l'utiliser (où?, quoi mettre à la place d'application?).
Merci d'avance de votre aide, cette astuce pourrait me faire economiser un grand nombre de lignes de codes car éviterait d'avoir à ajuster la conversion de la textbox en double pour les deux cas (val() ou cdbl() ).
ManuAntibes
Messages postés491Date d'inscriptionmardi 24 octobre 2000StatutMembreDernière intervention18 novembre 20215 25 juil. 2007 à 21:34
Salut
j'ai trouvé ça comme code, peut etre ça va t'aidé
Dim nfi
As Globalization.NumberFormatInfo =
New Globalization.CultureInfo(
"fr-FR",
False).NumberFormat
' Displays a value with the default separator (".").
Dim myInt
As [Double] = 0.15
TextBox1.Text = (myInt.ToString(
"P", nfi))
' Displays the same value with a blank as the separator.
nfi.PercentDecimalSeparator =
"."
TextBox2.Text = (myInt.ToString(
"P", nfi))
A+
MANUANTIBES [:p]
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 juil. 2007 à 11:44
cette virgule est liée aux parametres regionnaux de ton ordinateur...
a l'affichage, rien de choquant, bien au contraier a utiliser les parametres regionnaux.
lors d'un export sous forme textuelle, là, ok, faut de l'internationnel...
le code de Mortalino semble être du VBA Excel... HS, donc
nours87
Messages postés33Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention 5 octobre 2007 25 juil. 2007 à 14:13
Oula la culture du thread m'a l'air un peu compliqué pour le novice en jardinage que je suis.
Pour le moment j'adapte mon code pour tester si le texte que je converti en double est avec ou sans virgule et j'utilise en conséquence la bonne fonction.
Je pensais qu'il y avait une astuce simple ou une fonction inconnue pour moi à mettre en oeuvre.