Exemplarisation automatique

Magasin Centrale

'(Declarations)
Dim MagasinCentrale_Code_barre
Dim MagasinCentrale_Num_inventaire
Dim MagasinCentrale_k
'End of (Declarations)

Function MagasinCentrale_InsereExemplaire(num)
	Application.ActiveWindow.NoviceMode False
	Application.ActiveWindow.Command "cre e0" & num + 1
	Application.ActiveWindow.Title.InsertText "e0" & num + 1 & "$bx" & vbCrLf
	Application.ActiveWindow.Title.InsertText "915 ##$b" & MagasinCentrale_Code_barre & vbCrLf
	Application.ActiveWindow.Title.InsertText "930 ##$b830622101$dMagasins$a" & MagasinCentrale_Num_inventaire & "$ju" & vbCrLf
	Application.ActiveWindow.SimulateIBWKey "FR"
End Function

Sub MagasinCentrale()
	MagasinCentrale_Code_barre = InputBox("Entrez le code barre", "Code barre")

	If MagasinCentrale_Code_barre = vbCancel Then
		MsgBox "Vous avez choisi de ne pas mettre de code barre." & Chr(13) & "Le programme va se terminer.", "Abandon"
		Application.activeWindow.command "aff unm"
		Exit Sub
	End If

	MagasinCentrale_Num_inventaire = CStr(MagasinCentrale_Code_barre)
	MagasinCentrale_Num_inventaire = Mid(MagasinCentrale_Num_inventaire,4,6)
	If Left(MagasinCentrale_Num_inventaire,1) = "0" Then
		MagasinCentrale_Num_inventaire = Right(MagasinCentrale_Num_inventaire,5)
	End If

	If Application.ActiveWindow.Title Is Nothing Then
		Application.ActiveWindow.Command "mod", False
	End If

	Exemplaire = Application.ActiveWindow.Title.FindTag("E0")
	If Exemplaire = "" Then
		Application.ActiveWindow.simulateIBWKey "FE"
		Call MagasinCentrale_InsereExemplaire(0)
	Else
	For MagasinCentrale_k = 1 To 99
		If MagasinCentrale_k < 10 Then
			Exemplaire = Application.ActiveWindow.Title.FindTag("e0" & MagasinCentrale_k)
			If Not Exemplaire = "" Then
				Application.ActiveWindow.simulateIBWKey "FE"
				Call MagasinCentrale_InsereExemplaire(MagasinCentrale_k)
			Exit For
			End If
		Else
			Exemplaire = Application.ActiveWindow.Title.FindTag("e" & MagasinCentrale_k)
			If Not Exemplaire = "" Then
				Application.ActiveWindow.simulateIBWKey "FE"
				Call MagasinCentrale_InsereExemplaire(MagasinCentrale_k)
				Exit For
			End If
		End If
	Next
	End If
End Sub

Le script demande un code-barre. Puis il repère le dernier exemplaire présent dans la notice (mod, puis findTag), puis il referme la notice (FE = touche Échap), puis il crée l'exemplaire.
Le code-barre est réduit à sa racine : de 026123456X il devient 123456.