sancho12345
Messages postés131Date d'inscriptionjeudi 21 mai 2009StatutMembreDernière intervention18 mars 2012
-
13 févr. 2012 à 13:20
sancho12345
Messages postés131Date d'inscriptionjeudi 21 mai 2009StatutMembreDernière intervention18 mars 2012
-
14 févr. 2012 à 09:32
Bonjour,
Je sollicite ENCORE votre aide !!! J'aimerai copier toutes les lignes d'un fichier texte (.TXT) qui commencent par « MG » dans un autre fichier texte (.TXT) qui ce trouvera dans un autre répertoire.
La macro ci-dessous parcours tous les fichier texte (.TXT) du dossier et en copie chaque ligne commençant par « MG » mais elle ne fonctionne pas?.
Dim Doss As String
Dim fs As FileSearch
Dim i As Long
Dim fso
Dim fic
Dim ficLire
Dim Lignes() As String
Dim LigneAEcrire As String
Dim Lireligne As String
Doss = "C:\Fichier"
Set fs = Application.FileSearch
Set fso = CreateObject("Scripting.FileSystemObject")
Set fic = fso.CreateTextFile("C:\test\fichier_modifié.txt", True)
ReDim Lignes(1 To 1)
With fs
.NewSearch
.LookIn = Doss
.FileName = "*.txt"
.SearchSubFolders = True
.Execute
For i = 1 To .FoundFiles.Count ' Parcours de tous les dossiers
LigneAEcrire = ""
Do Until ficLire.atendofstream
Lireligne = ficLire.readline
If Left(Lireligne, 1) = "MG" Then
LigneAEcrire = LigneAEcrire & Lireligne & ";"
End If
Loop
Lignes(UBound(Lignes)) = LigneAEcrire
ReDim Preserve Lignes(1 To UBound(Lignes) + 1)
ficLire.Close
Next i
End With
For i = 1 To UBound(Lignes) - 1
fic.writeline Lignes(i)
Next i
fic.Close
Par contre il faudrait qu'il parcoure uniquement un fichier bien précis du répertoire.