Vérification du nombre d'exemplaires dans un lot

Le but est de parcourir un lot de notices et de vérifier que chaque notice ne contient pas plus d'un seul exemplaire.

Sub VerifNbreExemplaires()
	Dim total
	Dim nbreExemplaires
	Dim etiqExempl
	etiqExempl = "A97"
	Application.ActiveWindow.Command "che edi numilog et rbc 830629901", False
	total = Application.ActiveWindow.Variable("P3GSZ")
	For element = 1 To total
		nbreExemplaires = 0
		Application.ActiveWindow.Command "aff " & element, False
		Application.ActiveWindow.Command "mod", False
		Do While Application.ActiveWindow.Title.FindTag(etiqExempl, nbreExemplaires, True, True) <> ""
			nbreExemplaires = nbreExemplaires + 1
		Loop
		If nbreExemplaires > 1 Then
			MsgBox(Application.ActiveWindow.Variable("P3GPP"))
		End If
		Application.ActiveWindow.SimulateIBWKey "FE"
	Next
End Sub

On commence par lancer une requête : Application.ActiveWindow.Command "che edi numilog et rbc 830629901", False (False indique qu'on n'ouvre pas de nouvelle fenêtre)
On récupère le nombre de notices dans le lot : Application.ActiveWindow.Variable("P3GSZ")
On boucle sur chaque notice. On affiche chaque notice (sans ouvrir de nouvelle fenêtre) : Application.ActiveWindow.Command "aff " & element, False
On ouvre chaque notice : Application.ActiveWindow.Command "mod", False
On cherche l'étiquette A97 : Application.ActiveWindow.Title.FindTag(etiqExempl, nbreExemplaires, True, True) : FindTag(champ, combientième, récupération du numéro de champ, sélection du champ)
Si on trouve un nombre d'exemplaires supérieur à 1, on affiche le PPN : Application.ActiveWindow.Variable("P3GPP")
Enfin on lance la commande Echap : Application.ActiveWindow.SimulateIBWKey "FE"