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+
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+
merci pour ta réponse mais je veux forcément faire une marco.
a+
"Tatanka" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
ufACBsPMIHA.6108@TK2MSFTNGP03.phx.gbl...
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:
e7SS9lPMIHA.1188@TK2MSFTNGP04.phx.gbl...
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
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+
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+
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: e7SS9lPMIHA.1188@TK2MSFTNGP04.phx.gbl...
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
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+
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+
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" <michdenis@hotmail.com> a écrit dans le message de news:
ewhP77PMIHA.1164@TK2MSFTNGP02.phx.gbl...
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:
e7SS9lPMIHA.1188@TK2MSFTNGP04.phx.gbl...
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
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+
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+
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: %23d3hQCQMIHA.5240@TK2MSFTNGP04.phx.gbl...
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" <michdenis@hotmail.com> a écrit dans le message de news:
ewhP77PMIHA.1164@TK2MSFTNGP02.phx.gbl...
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:
e7SS9lPMIHA.1188@TK2MSFTNGP04.phx.gbl...
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
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+
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+
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" <michdenis@hotmail.com> a écrit dans le message de news:
OutPLKQMIHA.1188@TK2MSFTNGP04.phx.gbl...
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: %23d3hQCQMIHA.5240@TK2MSFTNGP04.phx.gbl...
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" <michdenis@hotmail.com> a écrit dans le message de news:
ewhP77PMIHA.1164@TK2MSFTNGP02.phx.gbl...
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:
e7SS9lPMIHA.1188@TK2MSFTNGP04.phx.gbl...
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
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+
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 -
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" <michde...@hotmail.com> a écrit dans le message de news:
ewhP77PMIHA.1...@TK2MSFTNGP02.phx.gbl...
Dans tes cellules nombres tu dois avoir le caractère (code ascii =16 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:
e7SS9lPMIHA.1...@TK2MSFTNGP04.phx.gbl...
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 -
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 -
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+
yes ça marche !
merci
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uxjgwOQMIHA.4308@TK2MSFTNGP05.phx.gbl...
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" <michdenis@hotmail.com> a écrit dans le message de news:
OutPLKQMIHA.1188@TK2MSFTNGP04.phx.gbl...
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:
%23d3hQCQMIHA.5240@TK2MSFTNGP04.phx.gbl...
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" <michdenis@hotmail.com> a écrit dans le message de news:
ewhP77PMIHA.1164@TK2MSFTNGP02.phx.gbl...
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:
e7SS9lPMIHA.1188@TK2MSFTNGP04.phx.gbl...
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
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