Lecture fichier txt sans retour charriot et réécriture du même fichier avec reto

emorej77 Messages postés 1 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 12 mars 2010 - 12 mars 2010 à 13:48
nathansecret Messages postés 63 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 31 octobre 2011 - 9 oct. 2010 à 14:46
Bonjour,

Je dois lire un fichier txt sans retour chariot et le transformer (créer un autre fichier) en ajoutant tous les 240 caractères un retour charriot pour créer une nouvelle ligne dans un nouveau fichier txt.

Si vous avez des infos je serai super content.
Merci d'avance

4 réponses

lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
12 mars 2010 à 13:51
Bonjour,

Et où donc bloques-tu? ouvrir le fichier?en créer un nouveau?lire 240 caractères par 240 en ajoutant le vbcrlf??

Qu'as-tu essayé?As-tu effectué des recherches avec des mots clés??


L'expérience, c'est une connerie par jour, mais jamais la même..
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
12 mars 2010 à 17:26
bonjour
Si vous avez des infos je serai super content.


1- lire le fichier texte
2- parcourir le texte
3- ajouter un vbnewline après chaque 240 caractère
4- ré enregistrer le fichier texte

tu seras super content très vite

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
0
nathansecret Messages postés 63 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 31 octobre 2011
9 oct. 2010 à 14:43
Dim Fichier1 As String
Fichier1 = "C:\Fichier a ouvrir.txt"
'Fichier1 à modifier
Dim Fichier2 As String
Fichier2 = "C:\Fichier a creer.txt"
'Fichier2 à modifier
Dim Caracteres As Integer
Caracteres = 240 'Nombre de caractères avant saut de ligne

On Error Resume Next
Dim Lignes As String
Dim Ligne As String
Open Fichier1 For Input As #1
    While Not EOF(1)
        Line Input #1, Ligne
        Lignes = Lignes & Ligne
    Wend
Close #1
Lignes = Replace(Lignes,vbCrlf,"")
Open Fichier2 For Output As #2
    While Len(Lignes= >= Caracteres
        Print #2, Left(Lignes,Caracteres)
        Lignes = Right(Lignes,Len(Lignes)-Caracteres)
    Wend
    If Len(Lignes) <> 0 Then Print #2, Lignes
Close #2


Et voilà un code...

PS: Je ne l'ai pas testé, alors dites-moi si il fonctionne (si non, merci de me dire l'erreur et la ligne)... Je reviendrais le corriger...
0
nathansecret Messages postés 63 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 31 octobre 2011
9 oct. 2010 à 14:46
: Le code précèdent lit le premier fichier complètement et enlève (en mémoire uniquement) tout les retours charriot avant de réécrire le fichier...

Il n'est pas optimisé au maximum, mais cela devrait faire l'affaire...
0
Rejoignez-nous