> 01 - Imprimer plusieurs états à partir du même formulaire

1 - Placer un bouton de commande qui imprime un état, à l'aide de l'assistant contrôles, c'est pas très compliqué et çà donne çà:(image 1)
Derrière ce bouton, dans la procédure sous-jacente de l'évènement "sur click" il y a:
Private Sub btnImprime_Click()
On Error GoTo Err_btnImprime_Click

Dim stDocName As String
stDocName = "E_Liste1"
DoCmd.OpenReport stDocName, acNormal'acPreview à la place de acNormal pour un aperçu
Exit_btnImprime_Click:
Exit Sub
Err_btnImprime_Click:
MsgBox Err.Description
Resume Exit_btnImprime_Click
End Sub

2 - Si on a plusieurs états à imprimer, çà peut donner çà: (image 2)
3 - Il suffit de créer une table, contenant les noms des états (une colonne = les vrais noms utilisés dans la base, une autre = ceux qu'on veut voir à l'écran) (image 3)
4 - Dans le formulaire, on crée une liste modifiable (appelons la: cmbChoixEtat)(image 4)
Il suffira de remplacer
stDocName = "E_Liste1"
par
stDocName = Me![cmbChoixEtat].Column(0)
5 - Variante: Création automatique de la liste de tous les états.
(Donner à cmbChoixEtat la propriété "Origine source": Liste de valeurs et placer ListeEtats dans "sur ouverture" du formulaire)
Sub ListeEtats()
Dim rpt As AccessObject, dbs As Object
Set dbs = Application.CurrentProject
For Each rpt In dbs.AllReports
Me.maListe.AddItem rpt.Name
Next rpt
End Sub

image 1
image 2
image 3
image 4