cs_Richard92
Messages postés22Date d'inscriptionmardi 5 juillet 2005StatutMembreDernière intervention27 janvier 2006
-
25 janv. 2006 à 16:26
cs_Richard92
Messages postés22Date d'inscriptionmardi 5 juillet 2005StatutMembreDernière intervention27 janvier 2006
-
27 janv. 2006 à 18:04
Salut,
je vais passer pour un gros débutant mais bon.
Voilà,
je voudrais savoir comment on ouvre un fichier pour lire puis pour écrire à une ligne que je connais (9e ligne par exemple).
Merci d'avance
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 25 janv. 2006 à 16:52
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.