Problème sur la fonction replace sur nombres > 1
Bonjour à tous,
J'importe un fichier au format *.txt en VBA avec la méthode OpenText.
Il s'agit d'un tableau de données (au format 0.0000).
Après l'import, je remplace les "." par des "," dans le nouveau Workbook, avec la méthode Replace.
Les nombres décimaux inférieurs à 1 sont bien reconnus comme tels (positifs comme négatifs). Pas besoin de les convertir en nombre.
Mais les nombres supérieurs à 1, tels que 9.2000 se retrouvent convertis en 92 000 (avec séparateur de milliers). Et la virgule a disparu...
Je pense qu'il doit y avoir un argument quelque part qui déconne mais où ???
La méthode OpenText :
Code:
1 2 3 4 5 6 7
|
Workbooks.OpenText Filename:= _
XXX, _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), TrailingMinusNumbers:=True |
La méthode replace :
Code:
1 2 3 4
|
Donnees.Sheets(NomFichier).Columns("C:E").Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False |
Merci pour votre aide