Bonjour à tous.
Alors voilà, j'ai déjà un bouton qui me permet d'imprimer un état individuellement : je sélectionne la ligne dans la zone de liste et je clique sur le petit bouton avec l'imprimante (voir PJ) et mon état s'imprime en mode aperçu.
Seulement, j'ai environ 300 états à imprimer, donc j'ai pensé qu'il serait judicieux d'imprimer tous les états de la zone de liste d'un coup.
J'ai donc créé un bouton pour faire cela dont voici le code :
Le principe est de sélectionner par le code, toutes les lignes de la zdl une par une de la première à la dernière, et d'imprimer à chaque fois l'état correspondant.
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 Private Sub cmdImprimerTout_Click() Dim dernLig As Integer Dim premLig As Integer Dim entCurrLigne As Integer Dim selec As Boolean ' Impression directe de toutes les notes ' Si aucune ligne n'est sélectionnée, toutes les notes de la ZdL sont imprimées ' Sinon on imprime toutes les notes à partir de la ligne sélectionnée ' Si aucune ligne n'est sélectionnée, on sélectionne la première ligne selec = Me.lstNotes.ItemsSelected.Count > 0 If selec = False Then Me.lstNotes.Selected(0) = True End If dernLig = Me.lstNotes.ListCount - 1 premLig = Me.lstNotes.ListIndex + 1 ' Sélection de la ligne suivante et impression de l'état correspondant For entCurrLigne = premLig To dernLig Me.lstNotes.Selected(entCurrLigne) = True DoCmd.OpenReport "etaContratsNonTopes" Next entCurrLigne End Sub
Si une ligne est déjà sélectionnée dans la zdl, on commence l'impression de cette ligne jusqu'à la fin, et si aucune ligne n'est sélectionnée, on imprime tout de la première à la dernière ligne.
Donc, après débogage, j'ai observé que :
- Quand aucune ligne n'est sélectionnée, les états s'impriment mais il sont vides d'informations.
- Quand je sélectionne une ligne, seul l'état correspondant à la ligne sélectionnée s'imprime et en autant d'exemplaires que le nombre d'états qui auraient dû s'imprimer, bien que les lignes défilent correctement.
Voilà, je crois avoir fait le tour.
Merci de vos observations et conseils
Partager