Changer les "." de ma variable en string en ","

Signaler
Messages postés
161
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
11 février 2013
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Voila, j'ai des valeurs de rentrés dans un tableau en string.
Les valeurs sont du type: "12.34"
Je souhaite les convertir en single via la fonction CSng, mais pour cela il faut que ces valeurs soit du type : "12,34"

En gros il fraudais réussir à transformer le point en virgule.

Donc si quelqu'un connais le code permettant de faire cela je suis preneur ^^

4 réponses

Messages postés
5
Date d'inscription
lundi 18 janvier 2010
Statut
Membre
Dernière intervention
29 juin 2011

Bonjour

Essaye la fonction Replace

Dim mastring as string
Dim mysingle as single

mastring = "22.12"
mastring=Replace(mastring ,".",",")

Mysingle=csng(mastring)

Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut
il faut faire attention il se peut que le séparateur décimal dans un autre ordinateur soit
un .

donc
Dim sp As String
   sp = 1 / 2
   sp = sp.Substring(1, 1)
   Dim mastring as string
   Dim mysingle as single
   mastring = "22.12"
   mastring=Replace(mastring ,".",sp)
   Mysingle=csng(mastring)
Messages postés
5
Date d'inscription
lundi 18 janvier 2010
Statut
Membre
Dernière intervention
29 juin 2011

Bonjour

Effectivement je n'avais pas envisagé ce cas !
Ta méthode est donc bien plus pertinente que la mienne

Merci :)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
NON, NON, NON et NON !!!!!


If IsNumeric(maValeur) Then
    MySng = CSng(maValeur)
Else
    MySng = Val(maValeur)
End If


Pas de Replace, ou de choses en dur !!!

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp