Bonjour,
J'essai de faire un vbs qui lit un premier fichier me récupère des valeurs et ensuite cherche les valeurs dans un second fichier et si la valeur est trouvée alors suppression de la ligne puis sauvegarde du fichier modifier.
voici le code
Le problème est que la ligne va s'écrire autant de fois que le nombre de valeur que j'ai dans mon fichier toto si la valeur n'est pas trouvée.
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 Set fso = CreateObject("Scripting.FileSystemObject") Set objFileRapport = fso.OpenTextFile("rapport.txt", 1, true) do until objFileRapport.AtEndOfStream ligne = objFileRapport.ReadLine Set objFileRapport2 = fso.OpenTextFile("rapport2.txt", 8, true) set objFileComputerDisabled = fso.opentextfile("toto.txt", 1, true) do until objFileComputerDisabled.atendofstream chaine = objFileComputerDisabled.readline() OU = mid(chaine, 5, 15) OU = replace(OU, ",", "") If left(ligne, 16) = """" & OU Then else objFileRapport2.WriteLine ligne End if loop objFileRapport2.Close loop objFileRapport.Close msgbox "Suppression des machines désactivées terminée"
ex : fichier toto
fichier rapport
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 123 000 555
voici ce qui va y avoir dans le fichier rapport2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 666 777 555
Avez vous une idée pour ne pas copier X fois la ligne si la valeur n'est pas trouvée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 666 666 666 777 777 777
Partager