Bonjour,
je voudrais supprimer la dernière ligne dans un fichier .txt
merci pour votre aide
Bonjour,
je voudrais supprimer la dernière ligne dans un fichier .txt
merci pour votre aide
Salut,
Voici un exemple de code pour supprimer des lignes, en passant par une collection :
@++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Dim colLignes As New Collection Dim ff As Integer ff = FreeFile Dim sLigne As String 'Lecture du fichier, envois chaque ligne dans la collection Open "C:\votrefichier.txt" For Input As #ff While Not EOF(ff) Line Input #ff, sLigne colLignes.Add sLigne Wend Close #ff 'Suppression des lignes 5 et 11 par exemple, il faut supprimer par ordre décroissant colLignes.Remove 11 colLignes.Remove 5 'Réecriture du fichier Dim i As Integer Open "C:\votrefichier.txt" For Output As #ff For i = 1 To colLignes.Count Print #ff, colLignes(i) Next Close #ff
mortalino, ça ne fonctionne pas en VBScript, par contre, c'est interessant pour VB6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Const ForReading = 1, ForWriting = 2 Dim oFso, f1, f2 Dim ts, nl Set oFso = CreateObject("Scripting.FileSystemObject") Set f1 = oFso.OpenTextFile("c:\test1.txt", ForReading) ts = f1.ReadAll '-- Lit la totalité du fichier nl = f1.Line '-- Récupère le nombre de lignes Set f1 = oFso.OpenTextFile("c:\test1.txt", ForReading) Set f2 = oFso.OpenTextFile("c:\test2.txt", ForWriting) Dim i For i = 1 to nl-1 '-- l'index de la première ligne = 1 lgn = f1.ReadLine f2.Write (lgn & vbCrLf) Next f1.Close f2.Close Set oFso = Nothing
Partager