cs_colby
Messages postés126Date d'inscriptionmardi 10 mai 2005StatutMembreDernière intervention14 novembre 2022
-
4 juin 2011 à 22:15
cs_colby
Messages postés126Date d'inscriptionmardi 10 mai 2005StatutMembreDernière intervention14 novembre 2022
-
6 juin 2011 à 08:58
Bonsoir
Soyez indulgent avec les nuls.
je suis à la recherche d'un code pour effacer un espace dans un textbox après modification ou qui reformate le texte contenu dans le texbox.
Format du textbox : texbox1.text = CInt(textbox1.text).ToString("0,0")
Donc le texte de depart par exemple est : "1 680 500"
J'effaçe le "1" et j"essai deux opération avec le nouveau chiffre.
Valider et il donne comme erreur " immpossible de convertir en integer le " 680 500". Donc le vide avant pose problème. Il faut "680 500" pour être valide. Comment l'effacer juste avant l'operation.
"Trim" ne marche pas.
Voila j'ai trouvé quelque chose qui peut faire l'affaire en l'adaptant mais il est en VB6. Aidez-moi à le traduire; C'est sur cette page:
http://www.codes-sources.com/code.aspx?ID=35535
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 juin 2011 à 00:44
Salut
Trim supprime les espaces devant et derrière, mais pas ceux à l'intérieur.
En l'occurrence, c'est l'espace central qui pose problème.
Un simple Replace suffit :
TextBox1.Text.Replace(" ", "") ' Remplace les espaces par ... rien
Ensuite, ce sera convertible en Integer
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_colby
Messages postés126Date d'inscriptionmardi 10 mai 2005StatutMembreDernière intervention14 novembre 2022 5 juin 2011 à 16:22
Bonsoir
Merci pour la sollicitude mais la fonction "Replace" ne marche pas aussi.
Voila
faites deux texbox
txt1.text = "1 650 000"
txt2.text= txt1.text
vous modifier le premier en effaçant le "1". vous aurez
txt1.text " 650 000" donc txt2.text " 650 000"
si vous faites: txt1.text = Replace(txt1.text, " ", "") vous n'aviez rien
si vous faites: txt2.text = replace(text2.text, " ", "") rien non plus
j'ai essayé "Trim" avant "Replace" cela est négatif.
j'ai alors pensé au lieu de formater le texte de départ par la conversion en integer : CInt(txt1.text).ToString("0,0") je fais simplement :
txt1.Text = Format(txt1.Text, "#,##"). Mais ça refuse toujours de marcher.
Merci
Colby
Bonsoir,
Essaye donc avec TryParse.
Dans l'exemple ci-dessous, si TryParse n'a pas échoué, resultat (ByRef) contiendra un integer exploitable pour d'éventuels calculs.
Dim resultat As Integer
If Integer.TryParse(txt1.Text.Replace(" ", ""), resultat) Then
'exploiter resultat ici ...
txt1.Text = String.Format("{0:### ### ###}", resultat)
'... ou ici
End If