Convertir un Code VB6 en vbnet

cs_colby Messages postés 126 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 14 novembre 2022 - 4 juin 2011 à 22:15
cs_colby Messages postés 126 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 14 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

Merci
Colby

7 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 juin 2011 à 00:49
Ah bah non, ça marcherait quand même :
CInt("123 456") renvoie bien le chiffre.
Par contre, .ToString qui suit n'est pas autorisé
0
AlKatou Messages postés 95 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 28 novembre 2017
5 juin 2011 à 00:53
salut,

regardes, dans l'espaces de nom Microsoft.VisualBasic.String, les fonctions suivantes :
- Replace
- Right ou Mid


bonne continuation, alKa
0
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
5 juin 2011 à 10:02
bonjour,
comme il a déjà dit jack, replace elimine les espaces soit string ou integer.


Me.TextBox1.Text = Replace(TextBox1.Text, " ", "")

bon courage
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_colby Messages postés 126 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 14 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
0
Utilisateur anonyme
6 juin 2011 à 00:45
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
0
cs_colby Messages postés 126 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 14 novembre 2022
6 juin 2011 à 08:58
Bonjour
ça ne marche pas.
Merci quand même.
Colby
0
Rejoignez-nous