[VBA] Probleme de remplacement des . par des ,

bkawak

XLDnaute Nouveau
Bonjour à tous,

Voila j'ai un petit problème assez étrange. Je travaille sur une liste de 500 000 nombres dont le point est l'élèment séparateur. Cependant pour travailler sous Excel je dois avoir une virgule comme élèment séparateur. Pour cela, j'applique le code suivant :

Code:
   Range("A:A").Select   
   Cells.Replace What:=".", Replacement:=","

Ce code me change bien les nombres qui ont un chiffre après le point.
Exemple : 1456.9 devient 1456,9

Cependant ce code ne marche pas pour les nombres qui ont trois chiffres significatifs ou plus .

En effet 12.3453 devient 12 3453

Je ne sais pas pourquoi...

Merci pour votre aide

Benjamin
 

mromain

XLDnaute Barbatruc
Re : [VBA] Probleme de remplacement des . par des ,

bonjour bkawak,

étrange...
j'ai le même problème chez moi...

sinon, essaye avec ce code :
Code:
Sub test()
For Each laCellule In Range("A:A").Cells
    If Not IsEmpty(laCellule) Then laCellule.Value = CDbl(Replace(laCellule.Text, ".", ","))
Next laCellule
End Sub

a+
 

Cousinhub

XLDnaute Barbatruc
Re : [VBA] Probleme de remplacement des . par des ,

Bonjour,

basé sur Données/Convertir, à l'étape 3, Sélectionner "Avancé", et comme séparateur Décimal le point...

Code:
Range("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
         FieldInfo:=Array(1, 1), DecimalSeparator:=".", TrailingMinusNumbers:=True
 

bkawak

XLDnaute Nouveau
Re : [VBA] Probleme de remplacement des . par des ,

Merci à mromain et à bhbh pour vos réponses.

J'ai découvert surement un bug de VBA. D'autant plus ce qui est fou ce que manuellement (option rechercher et remplacer) marche correctement.:eek:

Enfin bref, merci pour votre aide

A bientôt

Benjamin
 

Discussions similaires

Statistiques des forums

Discussions
312 354
Messages
2 087 545
Membres
103 584
dernier inscrit
Serka