Supprimer un interval de ligne dans plusieurs fichiers txt
pak80
Messages postés24Date d'inscriptionvendredi 12 novembre 2004StatutMembreDernière intervention15 mai 2012
-
11 juin 2007 à 17:43
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
11 juin 2007 à 21:39
Bonsoir, je suis debutant
J'aimerais suprimer dans environ 500 fichiers textes de la ligne 1 à 5. J'ai recuperé ce code mais cela ne fonctionne qu'avec 1 seul fichier txt. Pouvez vous m'aider
Merci d'avance
Sub sup()
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:\Documents and Settings\PascalR\Mes documents\ren4\produits_18500.txt" For Input As #ff
While Not EOF(ff)
Line Input #ff, sLigne
colLignes.Add sLigne
Wend
Close #ff
'Réecriture du fichier
Dim i As Integer
Open "C:\Documents and Settings\PascalR\Mes documents\ren5\produits_18500.txt" For Output As #ff
For i = 1 To colLignes.Count
Print #ff, colLignes(i)
Next
Close #ff
End Sub
A voir également:
Supprimer un interval de ligne dans plusieurs fichiers txt
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 11 juin 2007 à 18:50
Salut,
Regarde su codyx >> Snippet, PCPT à fait une fonction qui compte dans un répertoire le nombre de fichiers que tu veux(.Txt, .Jpg.....)
Tu pourrais t'en servir en y intercallant le code que tu as(dans sa fonction)...Dés que le fonction conmpte un fichier, tu récupères le nom de celui-ci, fais ton traitement et puis passe à un autre....
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 11 juin 2007 à 21:39
Salut,
et évite d'utiliser une collection pour ça, c'est assez gourmand en mémoire ^^
Je sais plus si c'est un de mes codes ou non, peu importe, je t'ai fait une mini modif (commentaire) :
Option Explicit
Private Sub ReadAllLines(ByVal sPath As String, ByRef aLines() As String)
Dim FF As Integer
Dim sBuffer As String
FF = FreeFile
On Error Resume Next
Open sPath For Input As #FF
sBuffer = Input(LOF(FF), #FF)
Close #FF
aLines = Split(sBuffer, vbCrLf)
End Sub
' exemple
d'utilisation
Private Sub Form_Load()
Dim aMesLignes() As String
Dim i As Long
Me.AutoRedraw = True
Me.Show