VBA problème séparateur décimal sur fichier txt [Résolu]

chpouite

XLDnaute Nouveau
Bonjour,

J'ai un problème pour importer un fichier txt

Le fichier comporte des données avec pour séparateur décimal la virgule et séparateur de champs la Tab ce qui donne avec le bloc note :

0,864000 0,027494 0,924000 0,028787 0,804000 0,027171
0,916000 0,027979 0,968000 0,030081 0,848000 0,026201
0,968000 0,034930 1,012000 0,030727 0,888000 0,028464
1,016000 0,029596 1,052000 0,024585 0,932000 0,031374
1,068000 0,026524 1,092000 0,026201 0,976000 0,028626
1,116000 0,040426 1,128000 0,026039 1,016000 0,038486

Si je fais ouvrir avec excel tout fonctionne et j'ai bien la même chose qu'avec le bloc note :

0,864 0,027494 0,924 0,028787 0,804 0,027171
0,916 0,027979 0,968 0,030081 0,848 0,026201
0,968 0,03493 1,012 0,030727 0,888 0,028464
1,016 0,029596 1,052 0,024585 0,932 0,031374
1,068 0,026524 1,092 0,026201 0,976 0,028626
1,116 0,040426 1,128 0,026039 1,016 0,038486

Donc tout fonctionne parfaitement, mais lorsque je demande à une macro d'ouvrir un ou plusieurs fichier de ce type avec la commande Workbooks.Open "C:\Users\.... j'ai une perte du séparateur décimal pour les nombre supérieur à 1 (1,116 est remplacé par 1116000 ), ce qui donne :

0,864000 0,027494 0,924000 0,028787 0,804000 0,027171
0,916000 0,027979 0,968000 0,030081 0,848000 0,026201
0,968000 0,034930 1 012 000 0,030727 0,888000 0,028464
1 016 000 0,029596 1 052 000 0,024585 0,932000 0,031374
1 068 000 0,026524 1 092 000 0,026201 0,976000 0,028626
1 116 000 0,040426 1 128 000 0,026039 1 016 000 0,038486

Cela fait plusieurs jours que je cherche comment forcer le séparateur décimal "," en VBA.

pour info :
- j'ai paramétré le système Windows avec un séparateur virgule et l'option spécifique excel aussi.
- si je remplace toutes les virgules dans le fichier txt par des points et que je lance la macro tout fonctionne.
 
Dernière édition:

Discussions similaires