Bonjour à tous,

Je cherche à faire le ménage dans des bases.
Je génère par des script 2 listes comportant des ordinateurs.
Sachant qu'une liste est propre et pas l'autre j'aurais voulu automatisé le processus trouvé les incohérence. Cependant avec mon script lors de la 2e boucle il ne lis qu'une fois le stream du 2e fichier par conséquent, le test ne s'effectue pas correctement.
N'y à t'il pas un moyen simple de réinitialise la boucle?
Cf-ci dessous le code.

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Option Explicit
Const ForReading = 1, ForAppending=8,  ForWriting = 2
Const FileAD = "C:\Temp\AD_Computers.txt"
Const FileLanDesk= "C:\Temp\LanDesk_Computers.txt"
Const FicResultat= "C:\Temp\NotFound.txt"
Dim oFSO 'Accès au système de fichier
Dim oFileAD 'Accès au fichier Fichier FileAD
Dim oFileLanDesk 'Accès au fichier FileLanDesk
Dim sLineAD 'Line d'un fichier
Dim sLineLanDesk 'Line fichier LanDesk
Dim oFicResultat 'Accès au fichier Resultat
  Set oFSO = CreateObject("Scripting.FileSystemObject")
  Set oFicResultat = oFSO.OpenTextFile(FicResultat, ForWriting, True)
  Set oFileLanDesk = oFSO.OpenTextFile(FileLanDesk, ForReading)
  Set oFileAD = oFSO.OpenTextFile(FileAD, ForReading)
  while Not oFileLanDesk.AtEndOfStream 
			sLineLanDesk = oFileLanDesk.ReadLine
			If not sLineLanDesk = Empty Then
					while not oFileAD.AtEndOfStream
					sLineAD = oFileAD.ReadLine
						If Not sLineAD = Empty Then
								If sLineLanDesk = sLineAD Then
								'oFicResultat.WriteLine("Les valeurs sont égales")
								' on ne fait rien
								Else
								oFicResultat.WriteLine(sLineLanDesk) 'on écrit le nom du pc Fantôme
								End If
						Else
						'oFicResultat.WriteLine("Ligne vide AD")
						'on ne fait rien
						End If
					Wend
			Else
			'oFicResultat.WriteLine("Ligne vide LanDesk")
			' on ne fait rien
			End If
	Wend 
oFileLanDesk.Close
Set oFileLanDesk = Nothing
oFileAD.Close
Set oFileAD = Nothing
oFicResultat.Close
Set oFicResultat = Nothing
 
msgbox("Process Done...")


Merci de votre précieuse aide.