conversion fichier .txt

PIBOU

XLDnaute Nouveau
Bonsoir,

j'ai un souci pour la conversion d'un fichier txt vers excel. Certaines données ne sont pas converties correctement et je n'arrive pas à les récupérer sous excel.
Cette donnée correspond à un numero de dossier commençant par 32 suivie de 10 zero, et du matricule . A la conversion excel, cette donnée devient
32E+17. Si je change le format de la cellule (de standard vers nombre), l'affichage est correct pour le début du numero mais la fin du matricule est sytématiquement arrondie au millier inférieur ou supérieur
(Par exemple 320000000000092162 devient 320000000000092000)
J'ai beau essayé tous les formats de cellule rien n'y fait.

je joins le fichier concerné

Merci d'avance pour votre aide

Regarde la pièce jointe ri 20081004.zip
 

jeanpierre

Nous a quitté
Repose en paix
Re : conversion fichier .txt

Bonsoir PIBOU,

Je ne sais que te dire, Excel est limité à 15 chiffres significatifs, or tu en a 18.

A l'instant, je ne vois pas comment résoudre....

Attendre de meilleures idées, peut-être.

Bonne soirée tout de même.

Jean-Pierre
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : conversion fichier .txt

Bonsoir,

Lire le fichier en séquentiel?

Code:
     Open "wxcv.txt" For Input As #1
    i = 1
    Do While Not EOF(1)
      Line Input #1, ligne
      Cells(i, 1).NumberFormat = "@"
      Cells(i, 1) = ligne
      i = i + 1
    Loop
    Close #1

JB
 

ERIC S

XLDnaute Barbatruc
Re : conversion fichier .txt

Bonsoir

comment récupères-tu les données?
tu ouvres le fichier avec l'assistant d'importation?

si oui, à l'étape 3 tu forces les colonnes qui t'intéressent entexte au lieu de standard

cela devrait marcher
 

PIBOU

XLDnaute Nouveau
Re : conversion fichier .txt

effectivement, si je réduis le nombre de chiffres la conversion fonctionne
La solution sera peut être à la constitution du fichier de données

Merci pour l'info des "15 chiffres" que je ne connaissais pas

Bonne soirée
 

Staple1600

XLDnaute Barbatruc
Re : conversion fichier .txt

Re


PIBOU: je n'ai pas modifié ton fichier texte d'origine
(pas de réduction du nombre de chiifres)

J'ai copié ton fichier texte dans C:\Temp

(Puis effectué la manip d'ERIC S en lançant l'enregistreur de macro)

Voila le code VBA obtenu
Code:
Sub test()
Workbooks.OpenText Filename:= _
        "C:\temp\ri 20081004.txt", _
        Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlSingleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
        , Comma:=False, Space:=False, Other:=True, OtherChar:="$", FieldInfo _
        :=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), _
        Array(7, 2), Array(8, 2), Array(9, 2), Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 2 _
        ), Array(14, 2), Array(15, 2), Array(16, 2), Array(17, 2), Array(18, 2), Array(19, 2), Array _
        (20, 2), Array(21, 2))
End Sub
Quand ensuite on relance la macro, l'importation se fait également avec l'affichage souhaité.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 023
Messages
2 084 713
Membres
102 637
dernier inscrit
TOTO33000