Caractères CHR 10 dans un fichier txt [Résolu]

Signaler
Messages postés
4
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
20 mars 2007
-
Messages postés
4
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
20 mars 2007
-
Bonjour,

j'ai besoin de transformer un  fichier ".txt" en fichier xls dans lequel figure des CHR 10 (retour charriot). Mais voilà, quand je l'ouvre par une instruction vb (workbooks.open), il me transforme ce qui devrait être une seule cellule en 2 cellules (il considère le chr10 comme un retour à ligne suivante). l'application (Excel) me fait la même chose avec un fichier .csv, et là c'est encore pire parce que quand je l'ouvre par excel, il considère le fichier chr 10 comme un caractère normal, et si je l'ouvre par le VB, il me décalle toutes les cellules. Y a t'il moyen de faire en sorte qu'il ouvre ces fichiers avec les chr 10 comme des caractères normaux par une instruction vb?

Merci

La vérité ne peut être que bonne

7 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Essaie de cette façon en passant par le presse-papier

'Activer la référence Microsoft Forms 2.0 pour le DataObject
Sub CopierFichierTexte()
    Dim strTemp As String
    Dim MyDataObject As DataObject
   
    'Copier les données du fichier .txt dans Excel
    Open "C:\TestChr10.txt" For Binary As #1
    strTemp = Space$(LOF(1))
    Get #1, , strTemp
   
    Set MyDataObject = New DataObject
    MyDataObject.SetText strTemp
    MyDataObject.PutInClipboard
    Sheets("Feuil1").Range("A1").PasteSpecial
    MyDataObject.Clear
   
    Close #1
   
    ActiveSheet.Rows.AutoFit
End Sub

MPi
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

rempllace peut-être tes Chr(10) par vbCrLf, avant import en .xls.
vbCrLf = Retour Chariot + nouvelle ligne

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Les caractères Chr(10) sont-ils supposés afficher des sauts de lignes à l'intérieur des cellules ?

MPi
Messages postés
4
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
20 mars 2007

Absolument.
Les chr(10) sont dans le fichier txt et sont censés représentés des sauts de ligne dans la cellule

La vérité ne peut être que bonne
Messages postés
4
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
20 mars 2007

Salut MPi,

effectivement ça marche. Je te remercie de cet aide précieuse. Il subsiste cependant un problème, que j'ai déjà rencontré par ailleurs sans l'avoir résolu : les dates dans le texte sous la forme JJ/MM/AAAA se retrouve dans le classeur en MM/JJ/AAAA quand JJ<=12. Est ce solutionnable autrement que par l'écriture d'une formule dans Excel?
Je te remercie de tes lumières

La vérité ne peut être que bonne
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Ouf là ... pour les dates, ça se complique ... (toujours cette incompatibilité entre systèmes...)
Il serait temps que la planète s'ajuste !
(si c'est le cas, ce sera sûrement les américains qui auront le standard ...)

De quelle façon sont inscrites les dates dans ton fichier ?
Sous quel format ?
Est-ce comme tu dis JJ/MM/AAAA ?

Si c'est le cas, il faudra peut-être y aller d'une transposition de caractères (?)

Si tu pouvais mettre un bout de ton fichier, ce serait peut-être plus simple à comprendre, et je dis bien peut-être...

MPi
Messages postés
4
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
20 mars 2007