Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 ?
 

cbea

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

Bonsoir stienne,

Utilise la fonction "Replace" à la place de "substitute" et cela devrait fonctionner.

Bonne nuit
@+
cbea
 

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

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
357
Réponses
9
Affichages
127
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…