Transformation texte en nombre via fonction Substitute dans une macro

stienne

XLDnaute Junior
Peut on utiliser la fonction substitute dans une macro pour transformer un texte en nombre ( remplacer le . par une ,) ? genre syntaxe :
dim c as string
dim n as single
n=substitute(c,".",",")

cela ne fonctionne pas pourquoi ?
 

stienne

XLDnaute Junior
Re : Transformation texte en nombre via fonction Substitute dans une macro

Voila la prog que j'ai écrite pour modifier la cellule text b2 en nombre en c2
Sub macro1()
Dim n As Single
Dim c As String
c = Sheets("Feuil1").Range("b2").Text
Application.substitute(c, ".", ",") = n
Sheets("Feuil1").Range("c2").Value = n
End Sub

la prog le marche pas ou est le blème ?
 

pierrejean

XLDnaute Barbatruc
Re : Transformation texte en nombre via fonction Substitute dans une macro

bonjour stienne

le bleme est qu'apres modification ton texte est toujours du texte

teste

Code:
Dim c As String
c = Sheets("Feuil1").Range("b2").Text
n=Application.substitute(c, ".", ",")
Sheets("Feuil1").Range("c2").Value = [COLOR=red]Csng[/COLOR](n)
End Sub
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Transformation texte en nombre via fonction Substitute dans une macro

Re

Csng est la fonction de conversion qui a partir d'un texte renvoie un single
Mettre le curseur sur Csng et cliquer sur F1
On ne dira jamais assez de bien de F1
 

stienne

XLDnaute Junior
Re : Transformation texte en nombre via fonction Substitute dans une macro

ok
mais la cellule c2 affiche 2,1198455... pour par exemple 2.12 en b2
est ce normal docteur ?
je veux 2,12 même si en choisissant 2 nombre après la virgule elle affiche 2,12
peut on arrondir dans la macro pour que la cellule prenne la valeur 2,12
 

cbea

XLDnaute Impliqué
Re : Transformation texte en nombre via fonction Substitute dans une macro

Bonsoir à tous,

Peux-tu essayer en remplaçant CSng par CDbl (CDbl = conversion en format de type Double) ?

Code:
    Dim c As String
    Dim n As String
    
    c = Sheets("Feuil1").Range("b2").Text
    n = Application.Substitute(c, ".", ",")
    Sheets("Feuil1").Range("c2").Value = CDbl(n)

@+
cbea
 

kjin

XLDnaute Barbatruc
Re : Transformation texte en nombre via fonction Substitute dans une macro

Voila la prog que j'ai écrite pour modifier la cellule text b2 en nombre en c2
Sub macro1()
Dim n As Single
Dim c As String
c = Sheets("Feuil1").Range("b2").Text
Application.substitute(c, ".", ",") = n
Sheets("Feuil1").Range("c2").Value = n
End Sub
Si tu avais écrit:
n = Application.substitute(c, ".", ",")
ça fonctionnais et ce quelque soit le format de ta cellule.
Merci de me confirmer
A+
kjin
 

Discussions similaires

Réponses
13
Affichages
348
Réponses
9
Affichages
117