Remplacerun point par une virgule [Résolu]

Messages postés
45
Date d'inscription
samedi 31 mai 2008
Statut
Membre
Dernière intervention
26 février 2015
-
Bonjour,

dans mon code qui devrait fonctionner j'essaie de remplacer la saisie d'un point dans mon textbox par une virgule
   " Private Sub TXT_CONSO_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TXT_CONSO.KeyPress
        If e.KeyChar = "." Then
            Replace(TXT_CONSO.Text, ".", ",")
        End If
    End Sub"

Ce textbox est ensuite converti en double pour un calcul
Mon code en mode débogage intercepte le fait qu'un point est saisi passe au replace mais la rien ne se passe
Merci pour votre aide

--
Afficher la suite 

7 réponses

Messages postés
26526
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
316
0
Merci
Lorsque tu postes du code, merci d'utiliser la coloration syntaxique.
Voir ici :http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Commenter la réponse de jordane45
Messages postés
26526
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
316
0
Merci
Bonjour,

La fonction replace fonctionne de la manière suivante :
nouvelleChaine = machainedorigine.replace(ancienCar,nouveauCar)


http://msdn.microsoft.com/fr-fr/library/czx8s9ts%28v=vs.110%29.aspx

Donc:
Dim str as String =TXT_CONSO.Text
TXT_CONSO.Text = str.Replace(".", ",")


Commenter la réponse de jordane45
Messages postés
45
Date d'inscription
samedi 31 mai 2008
Statut
Membre
Dernière intervention
26 février 2015
2
0
Merci
Merci bcp
je test et jereviens

--
Commenter la réponse de dartagnan43
Messages postés
45
Date d'inscription
samedi 31 mai 2008
Statut
Membre
Dernière intervention
26 février 2015
2
0
Merci
Désolé mais j'ai exactement le même résultat
je cherche pourquoi le changement ne se fait pas

--
Commenter la réponse de dartagnan43
Messages postés
45
Date d'inscription
samedi 31 mai 2008
Statut
Membre
Dernière intervention
26 février 2015
2
0
Merci
J'ai trouvé et ça marche merci Jordane45
j'ai simplement déplacé le replace a la verif saisie de mon code


--
Commenter la réponse de dartagnan43
Messages postés
45
Date d'inscription
samedi 31 mai 2008
Statut
Membre
Dernière intervention
26 février 2015
2
0
Merci
le top du top c'est d'écrire dans l'evenement press key du textbox correspondant le code suivant

Private Sub TXT_CONSO_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TXT_CONSO.KeyPress
e.KeyChar = Replace(e.KeyChar, ".", ",")
End Sub

--
Commenter la réponse de dartagnan43
Messages postés
3251
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
16 octobre 2019
46
0
Merci
Bonjour

Avant de modifier le séparateur décimal il faudrait vérifier si c'est
bien une virgule
dim flagvirgule as boolean
If My.Application.Culture.NumberFormat.NumberDecimalSeparator = "," Then
flagvirgule = true
else
flagvirgule = false
End If

et ensuite sers toi du flagvirgule
Private Sub TXT_CONSO_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TXT_CONSO.KeyPress
if flagvirgule then
e.KeyChar = Replace(e.KeyChar, ".", ",")
end if
End Sub
Commenter la réponse de cs_ShayW