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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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