pb remplacement de point par virgule

Oeil2Lynx

XLDnaute Nouveau
Bonjour à tous,

j'utilise le code ci-dessous pour remplacer tous les points par des virgules:

Code:
Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

mon problème c'est que dans le fichier joint, les cours du dollars sont convertis de 1.3440044 en 13440044, le point disparait sans laisser la place à la virgule comme dans les autres cellules, je ne vois pas à quoi cela est dû mais surtout comment le contourner.

A noter que je n'ai aucun problème pour remplacer les points par des virgules en passant par le menu Edition-->Remplacer.

Quelqu'un saurait-il à quoi est dû ce phénomène?
 

Pièces jointes

  • Copie.xls
    42.5 KB · Affichages: 152
  • Copie.xls
    42.5 KB · Affichages: 164
  • Copie.xls
    42.5 KB · Affichages: 163
Dernière édition:

juju_69

XLDnaute Occasionnel
Re : pb remplacement de point par virgule

Hello,

J'avais été confront à ce problème, essaie tout simplement çà :

Code:
Cells.Replace What:=".", Replacement:=".", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Il ira alors te chercher ton séparateur. Si c'est une virgule il te l'appliquera.

@ +
 

mécano41

XLDnaute Accro
Re : pb remplacement de point par virgule

Bonjour à tous,

Il y a ceci qui fonctionne pour des données en A1:A100

Code:
Option Explicit

Sub essai()
Dim Cellule As Object
Dim Chaine As String
Dim Valeur As Single
For Each Cellule In Range("A1:A100")
    If InStr(1, Cellule.Value, ".") <> 0 Then
        Chaine = Replace(Cellule.Value, ".", ",")
        Valeur = CDbl(Chaine)
        Cellule.Value = Valeur
        Cellule.NumberFormat = "0.00000"
    End If
Next Cellule
End Sub

(Il y a des décimales qui se rajoutent)

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 008
Membres
101 864
dernier inscrit
elrecruiter