Réponse acceptée !
Pour écrire à la neuvième ligne d'un fichier, tu as deux possibilités :
Tu parcours toutes les lignes de ton fichier, tu les enregistres dans
un tableau. Puis tu réécris dans le fichier les 8 premières lignes de
ton tableau, tu écris ensuite ta nouvelle ligne, puis toutes les lignes
restantes de ton tableau (à partir de la dixième).
Tu ouvres ton fichier de départ en lecture. Tu ouvres un deuxième
fichier en écriture. Tu lis 8 lignes du premier, que tu recopies dans
le second. Tu écris ta nouvelle ligne dans le second. Et tu continues
l'opération précédente (lecture dans le premier, réécriture dans le
second).
Voici un exemple de la 2ème solution :
Dim numFichier1 As Long
Dim numFichier2 As Long
Dim sTemp As String
Dim nbLines As Long
numFichier1 = FreeFile
Open "C:\toto.txt" For Input As #numFichier1
' On crée un fichier temporaire pour réécrire les données.
numFichier2 = FreeFile
Open "C:\temp.txt" For Output As #numFichier2
nbLines = 0
While Not EOF(numFichier1)
Line Input #numFichier1, sTemp
nbLines = nbLines + 1
If nbLines = 9 Then
Print #numFichier2, "MA NOUVELLE LIGNE ICI"
Else
Print #numFichier2, sTemp
End If
Wend
Close #numFichier2
Close #numFichier1
' On kille l'ancien
Kill "C:\toto.txt"
' 0n renomme le temporaire avec le nom de l'ancien.
Name "C:\temp.txt" As "C:\toto.txt"
Manu ------------------------------------------- Une question bien posée, c'est une chance de réponse bien adaptée.
|