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 26 27 28
| Dim FSO, Fld, fileName
Const ForWriting = 2
' lecture du dossier
Set ffWrite = FSO.OpenTextFile("Y:\Target\tgt_ODS_Record_Date_Country_Key_exist.txt", ForWriting, true) 'Il est très bien là, inutile de le mettre dans la boucle.
Set FSO = CreateObject("Scripting.FileSystemObject")
srcRep = "Y:\Source\Tests\Ajustement\FF_Sales_Line_Items\"
For each fileFld in FSO.GetFolder(srcRep).files
Set f = FSO.OpenTextFile("Y:\Target\tgt ODS_Record_Date_Country_Key.txt", 1) 'tu as besoin d'ouvrir le fichier à chaque tour de boucle.
'les fichiers *.csv
nameDate = ""
CountryKey = ""
'if Right(fileFld.Name,3) = "csv" then ' ne prend pas les fichiers......"*a.csv"
'la date
CountryKey = Mid(fileFld.Name,21,2)
nameDate = Mid(fileFld.Name,28,2) & Mid(fileFld.Name,24,4)
while Not f.AtEndOfStream
LineF = f.readLine
if LineF = nameDate & ";" & countryKey then
'msgbox LineF & " -----" & nameDate & ";" & CountryKey
ffWrite.write ( LineF & vbCrlf )
End if
Wend
f.close 'Si tu le fermes ici au prochain tour de boucle tu peux le réouvrir et tu es au début du fichier ;)
Next
ffWrite.close 'ffWrite sert à stocker toutes les données pendant tout le script, il ne faut certainement pas le fermer dans le While
set f = nothing
set ffWrite = nothing
set FSO = nothing |
Partager