Bonjour
Je vous expose mon problème
J’ai un fichier .txt avec plusieurs lignes en format (Date;CountryKey) par exemple (012008;FR),
j’ai un dossier « Y:\Source\Tests\Ajustement\FF_Sales_Line_Items\" » qui contient des fichiers .csv qui ont tous ou presque les même formats xx_xxxx_xxxx_xxxxx_FR_200801.csv (c’est un exemple)
Dans mon script je voudrai écrire dans un fichier cible « Y:\Targe t\tgt ODS_Record_Date_Country_Key_exist.txt » les lignes dont la Date;CountryKey égale à la chaîne (FR_200801) dans les fichiers du repertoire!!!!!!
Le script est le suivant :
Le problème est que le programme ne boucle pas sur le deuxième fichier du dossier? Je n'arrive pas à trouver l'erreur
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 FSO, Fld, fileName Const ForAppending = 8 ' lecture du dossier Set FSO = CreateObject("Scripting.FileSystemObject") srcRep = "Y:\Source\Tests\Ajustement\FF_Sales_Line_Items\" Set f = FSO.OpenTextFile("Y:\Target\tgt ODS_Record_Date_Country_Key.txt", 1) Set ffWrite = FSO.OpenTextFile("Y:\Target\tgt ODS_Record_Date_Country_Key_exist.txt", ForAppending, true) For each fileFld in FSO.GetFolder(srcRep).files nameDate = "" CountryKey = "" if Right(fileFld.Name,3) = "csv" then 'les fichiers *.csv 'la date CountryKey = Mid(fileFld.Name,21,2) nameDate = Mid(fileFld.Name,28,2) & Mid(fileFld.Name,24,4) while Not f.AtEndOfStream if f.readLine = nameDate & ";" & countryKey then ffWrite.write ( f.readLine & vbCrlf ) end if Wend end if fileFld = "" Next ffWrite.close f.close
Merci pour vos réponses
Partager