Ecriture dans fichier texte depuis vba

Sly le globe trotter

XLDnaute Occasionnel
Bonsoir,

A partir d'Excel et de VBA, je cherche à compléter un fichier texte en y ajoutant des informations que je récupère dans mon fichier Excel.
Pour se faire, je lis un fichier texte à l'aide du code suivant :
Code:
Set fso = CreateObject("Scripting.FileSystemObject")
Set theFile = fso.OpenTextFile(f, ForReading, False)

Do While theFile.AtEndOfStream <> True
    ligne = theFile.ReadLine

    Call CreationFichier(ligne, cst, ind_ligne)
Loop

Et c'est là que ça coince. Pour une raison que j'ignore, il semblerait que mes fichiers textes, pourtant tous générés par une même application, n'aient pas tous le même format. Selon le fichier .txt que j'ouvre,
  • soit toutes les informations sont sur une seule ligne. Les caractères "retour à la ligne" sont alors matérialisés par des carrés... Dans ce cas, si j'ouvre le fichier avec un autre éditeur de texte, Wordpad, pas de problème, le fichier est bien correctement mis en forme.
  • soit les informations sont "rangés" correctement, avec une correcte interprétation des sauts de ligne.

Dans le deuxième cas, tout fonctionne mais dans le premier, ça coince. En cherchant dans l'aide vba, j'ai vu que la fonction "ReadLine" lit toute une ligne d'un fichier TextStream (caractère de nouvelle ligne exclus) et renvoie la chaîne résultante...
Comment se fait-il que cela fonctionne par moment ? Ce qui coïncide avec une mise en forme correcte de mon fichier quand je l'ouvre avec le blocnote...
Comment, via vba, lire le fichier texte et identifier correctement les lignes successives ?

Merci pour votre aide
Sly
 

Discussions similaires

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi