Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

nombre-texte

13 réponses
Avatar
boblebob
bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+

10 réponses

1 2
Avatar
Tatanka
Salut,

Sans macro :

1) Entre 1 dans une cellule,
2) Sélectionne cette cellule,
3) Édition / Copier,
4) Sélectionne tes nombres-texte,
5) Édition / Collage spécial...
6) Coche Multiplication.

Est-ce que ça te convient ?

Serge


"boblebob" <a> a écrit dans le message de news:
bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+



Avatar
Ellimac
Bonjour,

Essaie plutôt :

For Each C In Selection.Range
On error resume next
C.Value=c.value + 0
Next C

Camille


bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+





Avatar
boblebob
merci pour ta réponse mais je veux forcément faire une marco.
a+
"Tatanka" a écrit dans le message de news:

Salut,

Sans macro :

1) Entre 1 dans une cellule,
2) Sélectionne cette cellule,
3) Édition / Copier,
4) Sélectionne tes nombres-texte,
5) Édition / Collage spécial...
6) Coche Multiplication.

Est-ce que ça te convient ?

Serge


"boblebob" <a> a écrit dans le message de news:

bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+







Avatar
boblebob
slt,
ça marche pas non plus !
a+

"Ellimac" a écrit dans le message de
news:
Bonjour,

Essaie plutôt :

For Each C In Selection.Range
On error resume next
C.Value=c.value + 0
Next C

Camille


bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+







Avatar
MichDenis
Dans tes cellules nombres tu dois avoir le caractère (code ascii 0)
Ce dernier est invisible car il représente un "espace" semblable à celui
généré par la touche "barre d'espacement"

L'insertion de ce caractère dans les données nombres est fréquent lorsque
l'on importe des data d'une application à l'autre.

Pour t'en défaire, utilise la fonction "Replace"
Range("A1:A10").Replace Chr(160), ""

Ensuite tu pourras créer et exécuter ta macro.



"boblebob" <a> a écrit dans le message de news:
bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+
Avatar
boblebob
oui c'est ça j'ai des espaces après les nombre. En fait mon point de départ
est que j'ai des nombres écrit comme ceci :
33-
169,35-
4,12-
et je dois obtenir ceci :
-33
-169,35
-4,12
etc

je bloque...

merci par avance pour l'aide aportée
a+
"MichDenis" a écrit dans le message de news:

Dans tes cellules nombres tu dois avoir le caractère (code ascii 0)
Ce dernier est invisible car il représente un "espace" semblable à celui
généré par la touche "barre d'espacement"

L'insertion de ce caractère dans les données nombres est fréquent lorsque
l'on importe des data d'une application à l'autre.

Pour t'en défaire, utilise la fonction "Replace"
Range("A1:A10").Replace Chr(160), ""

Ensuite tu pourras créer et exécuter ta macro.



"boblebob" <a> a écrit dans le message de news:

bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+





Avatar
MichDenis
Tu adaptes la plage de cellules

Sub test()
With Range("A1:A3")
.Replace Chr(160), ""
For Each c In .Cells
If InStr(1, c, "-", vbTextCompare) > 0 Then
c.Value = Val(c) * -1
Else
c.Value = c * 1
End If
Next
.NumberFormat = "# ##0.00"
End With
End Sub




"boblebob" <a> a écrit dans le message de news: %
oui c'est ça j'ai des espaces après les nombre. En fait mon point de départ
est que j'ai des nombres écrit comme ceci :
33-
169,35-
4,12-
et je dois obtenir ceci :
-33
-169,35
-4,12
etc

je bloque...

merci par avance pour l'aide aportée
a+
"MichDenis" a écrit dans le message de news:

Dans tes cellules nombres tu dois avoir le caractère (code ascii 0)
Ce dernier est invisible car il représente un "espace" semblable à celui
généré par la touche "barre d'espacement"

L'insertion de ce caractère dans les données nombres est fréquent lorsque
l'on importe des data d'une application à l'autre.

Pour t'en défaire, utilise la fonction "Replace"
Range("A1:A10").Replace Chr(160), ""

Ensuite tu pourras créer et exécuter ta macro.



"boblebob" <a> a écrit dans le message de news:

bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+





Avatar
MichDenis
Omis un détail pour le séparateur décimale...

Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Range("A1:A3")
.Replace Chr(160), ""
For Each c In .Cells
If InStr(1, c, "-", vbTextCompare) > 0 Then
c.Value = Val(Replace(c, ",", ".")) * -1
Else
c.Value = c * 1
End If
Next
.NumberFormat = "# ##0.00"
End With
Application.EnableEvents = True
End Sub




"MichDenis" a écrit dans le message de news:

Tu adaptes la plage de cellules

Sub test()
With Range("A1:A3")
.Replace Chr(160), ""
For Each c In .Cells
If InStr(1, c, "-", vbTextCompare) > 0 Then
c.Value = Val(c) * -1
Else
c.Value = c * 1
End If
Next
.NumberFormat = "# ##0.00"
End With
End Sub




"boblebob" <a> a écrit dans le message de news: %
oui c'est ça j'ai des espaces après les nombre. En fait mon point de départ
est que j'ai des nombres écrit comme ceci :
33-
169,35-
4,12-
et je dois obtenir ceci :
-33
-169,35
-4,12
etc

je bloque...

merci par avance pour l'aide aportée
a+
"MichDenis" a écrit dans le message de news:

Dans tes cellules nombres tu dois avoir le caractère (code ascii 0)
Ce dernier est invisible car il représente un "espace" semblable à celui
généré par la touche "barre d'espacement"

L'insertion de ce caractère dans les données nombres est fréquent lorsque
l'on importe des data d'une application à l'autre.

Pour t'en défaire, utilise la fonction "Replace"
Range("A1:A10").Replace Chr(160), ""

Ensuite tu pourras créer et exécuter ta macro.



"boblebob" <a> a écrit dans le message de news:

bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+





Avatar
JB
Bonjour,

For Each c In Selection
c.Value = CDbl(c.Text)
Next c

JB


On 27 nov, 15:21, "boblebob" <a> wrote:
oui c'est ça j'ai des espaces après les nombre. En fait mon point de d épart
est que j'ai des nombres écrit comme ceci :
33-
169,35-
4,12-
et je dois obtenir ceci :
-33
-169,35
-4,12
etc

je bloque...

merci par avance pour l'aide aportée
a+
"MichDenis" a écrit dans le message de news:




Dans tes cellules nombres tu dois avoir le caractère (code ascii  0)
Ce dernier est invisible car il représente un "espace" semblable à c elui
généré par la touche "barre d'espacement"

L'insertion de ce caractère dans les données nombres est fréquent lorsque
l'on importe des data d'une application à l'autre.

Pour t'en défaire, utilise la fonction "Replace"
Range("A1:A10").Replace Chr(160), ""

Ensuite tu pourras créer et exécuter ta macro.

"boblebob" <a> a écrit dans le message de news:

bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
boblebob
yes ça marche !
merci
"MichDenis" a écrit dans le message de news:

Omis un détail pour le séparateur décimale...

Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Range("A1:A3")
.Replace Chr(160), ""
For Each c In .Cells
If InStr(1, c, "-", vbTextCompare) > 0 Then
c.Value = Val(Replace(c, ",", ".")) * -1
Else
c.Value = c * 1
End If
Next
.NumberFormat = "# ##0.00"
End With
Application.EnableEvents = True
End Sub




"MichDenis" a écrit dans le message de news:

Tu adaptes la plage de cellules

Sub test()
With Range("A1:A3")
.Replace Chr(160), ""
For Each c In .Cells
If InStr(1, c, "-", vbTextCompare) > 0 Then
c.Value = Val(c) * -1
Else
c.Value = c * 1
End If
Next
.NumberFormat = "# ##0.00"
End With
End Sub




"boblebob" <a> a écrit dans le message de news:
%
oui c'est ça j'ai des espaces après les nombre. En fait mon point de
départ
est que j'ai des nombres écrit comme ceci :
33-
169,35-
4,12-
et je dois obtenir ceci :
-33
-169,35
-4,12
etc

je bloque...

merci par avance pour l'aide aportée
a+
"MichDenis" a écrit dans le message de news:

Dans tes cellules nombres tu dois avoir le caractère (code ascii 0)
Ce dernier est invisible car il représente un "espace" semblable à celui
généré par la touche "barre d'espacement"

L'insertion de ce caractère dans les données nombres est fréquent lorsque
l'on importe des data d'une application à l'autre.

Pour t'en défaire, utilise la fonction "Replace"
Range("A1:A10").Replace Chr(160), ""

Ensuite tu pourras créer et exécuter ta macro.



"boblebob" <a> a écrit dans le message de news:

bjr,
je cherche à transformer des "nombres-texte" en "vrai" nombre.
Et ça marche pas :

Dim C

For Each C In Selection.Range

If Not IsNumeric(C.Value) Then
IsNumeric (C.Value)
End If

Next C

une idée svp ?
merci
a+











1 2