URGENT - Probleme avec le format millier

JMKPROD Messages postés 68 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 15 septembre 2007 - 11 déc. 2003 à 00:21
sektraore Messages postés 2 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 25 juillet 2009 - 2 mars 2008 à 17:43
Salut à tous,

Voila mon problème, je veux récupérer dans une variable numérique le contenu d'un textbox du format suivant:
"1 000,00 ?"
-pour supprimer l'espace plus le symbole euro (" ?") je n'ai pas de problème.
-pour remplacer la virgule par un point pas de problème.

Mon problème réside dans le fait que je ne peux pas supprimer l'espace entre le 1 et 000.00 cette "espace" résiste aux fonctions split et replace;

Que faire pour obtenir dans ma variable 1000 au lieu de 1 avec la fonction val???????

PS: Si ce séparateur de millier est absent je n'ai pas de problème de récupération.
N'oubliez pas que je suis un débutant autodidacte! 8-)

6 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
11 déc. 2003 à 02:35
Salut

Ton "espace" en question n'est probablement pas un "vrai espace" (Chr(32))
Essaie de déterminer son code ASCII en faisant par exemple
MsgBox Asc(Mid(Text1.Text, 2, 1))
[ou MsgBox Asc(Mid(Text1.Text, 3, 1)) s'il y a un autre espace devant le 1 de "1 000,00"]
Tu pourras ensuite utiliser la fonction Replace
Variable = Replace(Text1.Text, Chr(???), "") où "???" est le code ASCII trouvé précédemment.
0
linkwang Messages postés 52 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 7 avril 2004
11 déc. 2003 à 07:57
salut,
y'a aussi une autre méthode, qui te garantie la conversion de type de données. En effet, une fois que tu as supprimé le " ?", tu peux directement convertir ton texte en décimal avec CDEC(), en long avec CLNG() ou encore en entier avec CINT(), c'est super simple, et évite un nombre certain de supprise désagréable qui peuvent arriver lorque l'on laisse vb faire les conversions tout seul.

Bon courage,

LINKWANG
0
JMKPROD Messages postés 68 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 15 septembre 2007
11 déc. 2003 à 15:39
Salut à tous,

Grand merci à Rene38 et à LINKWANG, les 2 solutions sont fonctionnelles.
Le caractère qui m'a causé tant de problèmes est le Chr(160).
Je vais utiliser la solution de LINKWANG à cause de sa simplicité mais grâce à Rene38 jai découvert un nouveau caractère "espace".

Encore un grand merci à tous les 2 et vive vbfrance.com!
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
11 déc. 2003 à 16:47
Salut
Pas de quoi.
(160 = 32 + 128)
Chr(160) est un "espace" bien pratique :
s'affiche et s'imprime sous forme d'espace (invisible) mais n'est pas un "vrai espace".
Peut servir pour
- des tris de chaînes de caractères :
Chr(160) & "A" > "B" ...
- afficher ici-même des indentations :
If Bidule Then
    '<- ici, j'ai mis 4 fois Chr(160)
Else
'<ià, j'ai mis 4 vrais espaces
End If
0

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

Posez votre question
linkwang Messages postés 52 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 7 avril 2004
12 déc. 2003 à 07:29
content de pouvoir aider, et c'est cool, je ne connaissais pas le 160, ca peut etre utile.

bonne continuation,
0
sektraore Messages postés 2 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 25 juillet 2009
2 mars 2008 à 17:43
Salut  a tous,


je dois travailler sur RIPEMD-160 mais je n'es pas trop sur ce terme.Ma question est la suivante: je souhaiterais avoir des informations sur le RIPEMD-160,a savoir comment ecrire un algorithme avec le VHDL.


merci


Sekou
0
Rejoignez-nous