Lister les localisations et les PPN à partir d'une liste de codes-barres

Sub GetLocalisationCodeBarre()
REM Ouvre un fichier en ecriture et ecrit Code-barre Tab Localisation Tab PPN
	Dim oNet, sUsername, FSO
	Dim Chemin, MonFichier
	Set oNet=CreateObject("WScript.Network")
	sUsername=oNet.UserName
	Set oNet = Nothing
	Chemin = "c:\oclcpica\WinIBW30\Profiles\" & sUsername & "\LocalisationCodesBarres.txt"
	Set FSO = CreateObject("Scripting.FileSystemObject")
	Chemin = FSO.GetAbsolutePathName(Chemin)
	Set MonFichier = FSO.OpenTextFile(Chemin,2,True)
Rem Verifie. Si le code-barre n'est pas la, note le code-barre dans le fichier
	Dim CodeBarre, Exemplaire, PPN, Localisation, PositionDollar_a, PositionDollar_d
	Dim LesCodesBarres
	LesCodesBarres = Array("0261829105","0261870862","0260350389","0260545099")
	For Each CodeBarre In LesCodesBarres
		Application.ActiveWindow.Command "che cod " & CodeBarre
		If Not Application.ActiveWindow.Messages.Count = 0 Then
			MonFichier.WriteLine CodeBarre
		Else
			Application.ActiveWindow.Command "mod", False
			PPN = Application.ActiveWindow.Variable("P3GPP")
			Dim TrouveCodeBarre
			TrouveCodeBarre = Application.ActiveWindow.Title.Find(CodeBarre, True, False, False)
			If TrouveCodeBarre = True Then
				Application.ActiveWindow.Title.LineDown()
				Application.ActiveWindow.Title.StartOfField()
				If Application.ActiveWindow.Title.tag = "917" Then
					Application.ActiveWindow.Title.LineDown()
				End If
				If Application.ActiveWindow.Title.tag = "930" Then
					Ligne = Application.ActiveWindow.Title.CurrentLineNumber
					Chaine = Application.ActiveWindow.Title.currentField
					PositionDollar_d = InStr(Chaine, "$d")
REM Si $d introuvable : pas de fonds
					If PositionDollar_d = 0 Then
						MonFichier.WriteLine CodeBarre & vbTab & "Pas de Localisation" & vbTab & PPN
					Else
						PositionDollar_a = InStr(Chaine, "$a")
						Localisation = Mid(Chaine, PositionDollar_d, (PositionDollar_a - PositionDollar_d))
REM Pour oter $d initial
						Localisation = Mid(Localisation, 3)
						MonFichier.WriteLine CodeBarre & vbTab & Localisation & vbTab & PPN
					End If
					Application.activeWindow.simulateIBWKey "FE"
				Else
					MonFichier.WriteLine CodeBarre & vbTab & "930 introuvable"
				End If
			End If
		End If
	Next
	MsgBox "Résultat dans LocalisationCodesBarres.txt"
End Sub

Produit LocalisationCodesBarres.txt qui est un fichier tabulé : Code-barre Tab Localisation Tab PPN
En l'absence de localisation (pas de $d en 930), indique "Pas de Localisation" pour le code-barre.