Comment ecrire à la première ligne d'un fichier

[Résolu]
Signaler
Messages postés
2
Date d'inscription
lundi 27 juin 2005
Statut
Membre
Dernière intervention
15 mai 2007
-
Messages postés
2
Date d'inscription
lundi 27 juin 2005
Statut
Membre
Dernière intervention
15 mai 2007
-
Bonjour,

J'ai des fichiers à modifier dans un répertoire (environ 350 fichiers).
Je dois ajouter à chacun d'eux une ligne en début de fichier

Je n'arrive pas à ecrire cette ligne à la première ligne des fichier :
Avec les commandes fso, mon fichiers est trop gros donc erreur (> 66 Mo)

Set objFso = CreateObject("Scripting.FileSystemObject")
Set objtextfile = objFso.OpenTextFile("C:\toto.txt", ForReading)
 
Do Until objtextfile.AtEndOfStream
    Text = objtextfile.ReadAll()
Loop


Set objtextfile = objFso.OpenTextFile("C:\toto.txt", ForWriting, False)
    objtextfile.WriteLine ("C'est un test ") & vbCrLf & Text

Avec la commande "append" je n'arrive pas à me positionner en début de fichier

   DirReturn = Dir("C:\test",0)
        Do While DirReturn <> ""
            ' Make sure we don't get a dir
            If Not ((GetAttr("C:\test" & DirReturn) And ATTR_DIRECTORY) = ATTR_DIRECTORY) Then
                Open "C:\test" & DirReturn For Append As #20
               'cette ligne doit être placée au début du fichier
                Print #20, "Date de traitement"
            End If
        DirReturn = Dir
        Close #20
        Loop

Quelqu'un aurrait-il un idée...
merci d'avance

2 réponses

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

tu ne peux insérer en première ligne, seulement au fur et à mesure, me semble-t-il.
Br'ef, faut lire le fichier et le réécrire :

Sub test()
    Dim ff As Integer, sFichier As String, sTexte As String
    
ff = FreeFile
sFichier = "C:\Chemin\Nouveau.txt"

Open sFichier For Input As #ff
    sTexte = Input$(LOF(ff), #ff)
Close #ff

Open sFichier For Output As #ff
    Print #ff, "Ta nouvelle Ligne, en ligne
1"
    Print #ff, sTexte
Close #ff

End Sub

~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Messages postés
2
Date d'inscription
lundi 27 juin 2005
Statut
Membre
Dernière intervention
15 mai 2007

Merci beaucoup pour ton aide Mortalino (quelle rapidité).
Cela fonctionne trés bien (même pour les gros fichiers)
@+