Problème avec "replace" . , sur chiffres à 4 décimales

lebarbo

XLDnaute Occasionnel
Bonjour à tous,

J'ai une feuille avec des chiffres avec des points qui ne sont pas reconnus comme tels (caractère régional chez moi en , que je souhaite conserver), lorsque je passe (sans VBA) par rechercher ".", remplacer ",", ça fonctionne parfaitement. Par contre quand j'utilise ce code en VBA ça ne fonctionne que sur les chiffres avec 2 décimales et là je ne l'explique pas ???? Je pense à un eventuel bug.
J'ai Excel 2003.

Vous trouverez le fichier joint avec la macro.


Merci d'avance,
 

Pièces jointes

  • essai.xls
    25 KB · Affichages: 58
  • essai.xls
    25 KB · Affichages: 58
  • essai.xls
    25 KB · Affichages: 57

Pierrot93

XLDnaute Barbatruc
Re : Problème avec "replace" . , sur chiffres à 4 décimales

Bonjour Lebarbo

essaye peut être le code ci-dessous, plages source et destination à adapter :

Code:
Range("B:B").TextToColumns Destination:=Range("C1"), DecimalSeparator:="."

bonne journée
@+
 

Catrice

XLDnaute Barbatruc
Re : Problème avec "replace" . , sur chiffres à 4 décimales

Bonjour,

Essaie ceci :

Sub Macro1()
Cells.Replace What:=".", Replacement:=".", LookAt:=xlPart
End Sub

Chez moi ça fontionne.
Je crois que c'est un truc qu'avait donné Job75 ...

L'exemple de Pierrot peut s'adapter comme suit :
Columns("B").TextToColumns Destination:=Columns("B"), DecimalSeparator:="."
 
Dernière édition:

lebarbo

XLDnaute Occasionnel
Re : Problème avec "replace" . , sur chiffres à 4 décimales

Bonjour et merci à vous deux,

Mon exemple n'était malheureusement pas complet il y a le cas aussi avec un nombre à 4 chiffre qui a un espace : 4 444.333
La proposition de Catrice est bien mais pour ce cas de figure l'espace est laissé.

Pour Pierrot93, votre code fonctionne mais j'aimerais l'appliquer à toutes les cellules d'une feuille et je n'arrive pas à adapter le code pour toutes les cellules....désolé.

Merci d'avance,
 

Catrice

XLDnaute Barbatruc
Re : Problème avec "replace" . , sur chiffres à 4 décimales

Bonjour,

Il faut effectivement remplacer aussi les espaces ;)

Sub Macro1()
Cells.Replace What:=".", Replacement:=".", LookAt:=xlPart
Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart
End Sub

Tester aussi ceci :
Columns("B").TextToColumns Destination:=Columns("B"), DecimalSeparator:=".", ThousandsSeparator:=" "
 
Dernière édition:

Discussions similaires

Réponses
14
Affichages
1 K

Statistiques des forums

Discussions
312 570
Messages
2 089 768
Membres
104 271
dernier inscrit
acuponctus