Formater la propriété .text d'une textbox [Résolu]

nours87 33 Messages postés jeudi 19 juillet 2007Date d'inscription 5 octobre 2007 Dernière intervention - 25 juil. 2007 à 11:28 - Dernière réponse : nours87 33 Messages postés jeudi 19 juillet 2007Date d'inscription 5 octobre 2007 Dernière intervention
- 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() ).
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
ManuAntibes 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - 25 juil. 2007 à 21:34
3
Merci
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]

Merci ManuAntibes 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de ManuAntibes
Meilleure réponse
ManuAntibes 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - 25 juil. 2007 à 21:44
3
Merci
Complèment de reponse

' Montre la même valeur avec un point pour le séparateur.nfi.PercentDecimalSeparator =

"."
TextBox2.Text = (myInt.ToString(
"P", nfi))

'nfi.CurrencyDecimalSeparator = "."
'TextBox2.Text = (myInt.ToString("C", nfi))

'nfi.NumberDecimalSeparator = "."
'TextBox2.Text = (myInt.ToString("N", nfi))A+

MANUANTIBES [:p]

Merci ManuAntibes 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de ManuAntibes
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 25 juil. 2007 à 11:44
0
Merci
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
Commenter la réponse de Renfield
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 25 juil. 2007 à 13:16
0
Merci
Salut,

Regarde du côté de la culture du thread.
(Elle nécessite un arrosage régulier et un bonne ensoleillement)
Commenter la réponse de cs_rt15
nours87 33 Messages postés jeudi 19 juillet 2007Date d'inscription 5 octobre 2007 Dernière intervention - 25 juil. 2007 à 14:13
0
Merci
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.

Merci
++ 
Commenter la réponse de nours87
nours87 33 Messages postés jeudi 19 juillet 2007Date d'inscription 5 octobre 2007 Dernière intervention - 25 juil. 2007 à 22:40
0
Merci
Merci Manu j'essaierais ca demain au boulot!

Je te tiens au courant si ca marche.

++
Commenter la réponse de nours87
nours87 33 Messages postés jeudi 19 juillet 2007Date d'inscription 5 octobre 2007 Dernière intervention - 26 juil. 2007 à 08:42
0
Merci
Sub



retirer()


Dim
nfi

As
Globalization.NumberFormatInfo =

New
Globalization.CultureInfo(

"fr-FR"
,

False
).NumberFormat


' Displays a value with the default separator (".").

variable = 0.15


TextBox1.Text = (variable.ToString(




"n"
, nfi))


' Displays the same value with a blank as the separator.

nfi.NumberDecimalSeparator =




"."

TextBox2.Text = (variable.ToString(




"n"
, nfi))


End



Sub

Merci Manu j'ai pris la 3eme proposition vu que je manipule des nombres.

Ca va me rendre un bon service
Commenter la réponse de nours87

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.