Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/06/2011, 10h14   #1
Membre régulier
 
Homme Jacques
Inscription : août 2005
Messages : 441
Détails du profil
Informations personnelles :
Nom : Homme Jacques
Âge : 66
Localisation : France, Val d'Oise (Île de France)

Informations forums :
Inscription : août 2005
Messages : 441
Points : 77
Points : 77
Par défaut Impression recto verso d'un état

Bonjour,

J’ai un état qui m’édite mes enregistrements par groupes.

Par exemple :

-Un adhérent isolé s’édite sur une page, et en bas de page j’ai la numérotation de page 1/1

-Un couple d’adhérents s’édite sur deux pages, l’une avec la numérotation de page ½
et l’autre 2/2.

Comment faire pour que la page du couple d’adhérents s’édite en recto verso sur une seule page ?

J’ai ajouté ces lignes de code mais cela ne fonctionne pas.

Code :
1
2
3
4
5
If int_PagesGroup(Me.znx_NumeroGroupe) = 1 Then
           Me.Section(acDetail).ForceNewPage = 0
Else
           Me.Section(acDetail).ForceNewPage = 2
End If
Le code de mon état

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Option Compare Database
Option Explicit
'--- Enregistre le nb total de pages pour chaque groupes dans un tableau
     Private int_PagesGroup() As Integer
 
'--- Initialisation de la page en cours après un pied de groupePrivate
     Private bln_RazPagination As Boolean
 
Private Sub Report_Open(Cancel As Integer)
'--- Initialisation de la page en cours en En-tête de page
     bln_RazPagination = True
 
'--- Dimensionnement du tableau à une valeur minimale
     ReDim int_PagesGroup(1)
End Sub
Code :
1
2
3
4
5
6
7
8
Private Sub ZoneEntêtePage_Format(Cancel As Integer, FormatCount As Integer)
If bln_RazPagination Then
     '--- Initialise la page en cours à 1
          Me.Page = 1
     '--- Ne pas réinitialiser la page suivante si aucun pied de groupe n'est édité entre 2 pages
          bln_RazPagination = False
    End If
End Sub
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub PiedGroupe0_Format(Cancel As Integer, FormatCount As Integer)
 
On Error Resume Next
 
'--- Redimensionnement dynamique du tableau en fonction du nombre de groupe? en preservant les valeurs déjà enregistrées dans le tableau (ReDim Preserve)
     If UBound(int_PagesGroup) < Me.znx_NumeroGroupe Then _
        ReDim Preserve int_PagesGroup(Me.znx_NumeroGroupe)
 
'--- Mise en mémoire de la page du pied de groupe, ce qui équivaut au nombre total de pages pour le groupe, le groupe étant référencé par '[znx_NumeroGroupe]
     int_PagesGroup(Me.znx_NumeroGroupe) = Me.Page
 
 
 '----- CODE RAJOUTE QUI NE FONCTIONNE PAS
        'If int_PagesGroup(Me.znx_NumeroGroupe) = 1 Then
           'Me.Section(acDetail).ForceNewPage = 0
        'Else
           'Me.Section(acDetail).ForceNewPage = 2
        'End If
 
'--- Initialisation de la page suivante en En-tête de page suivante, puisque le Pied de Groupe a comme propriété :Saut de Page = "Après Section"
     bln_RazPagination = True
End Sub
Code :
1
2
3
4
5
6
Private Function Pagination() As String
'--- Function appelée par le control [znx_Pagination] le nombre total de pages du groupe en cours étant fourni par la
     'variable int_PagesGroup(Me.znx_NumeroGroupe) avec comme indice le numéro du groupe en cours
      Pagination = "Page : " & Me.Page & " / " & _
         int_PagesGroup(Me.znx_NumeroGroupe)
End Function
Si cela peut aider, je pourrai joindre un exemple de mon état.

Merci pour votre aide.

Salutations
jmde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 04h10   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Bonjour jmde,

Je ne comprends pas ce que tu essaies de faire.

Citation:
Comment faire pour que la page du couple d’adhérents s’édite en recto verso sur une seule page ?
Veux-tu :
- que les adhérents isolés soient imprimés « normalement » c’est-à-dire chacun sur le recto de la feuille ;
- que les adhérents en couple soient imprimés de sorte qu’un des deux membres soit au recto de la feuille et l’autre au verso de la même feuille ?

Et, accessoirement, que la pagination soit du type "page x sur y" par groupe ?
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 08h41   #3
Membre régulier
 
Homme Jacques
Inscription : août 2005
Messages : 441
Détails du profil
Informations personnelles :
Nom : Homme Jacques
Âge : 66
Localisation : France, Val d'Oise (Île de France)

Informations forums :
Inscription : août 2005
Messages : 441
Points : 77
Points : 77
Bonjour ClaudeLELOUP,

Oui c'est exactement cela que je veux faire.

Et quel casse tête pour moi.

Salutations
jmde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 08h54   #4
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Pour numéroter par groupe, tu peux voir ceci.


Pour le recto verso
Ne peux-tu travailler en scindant les exécutions :
- une première exécution pour imprimer les cas "adhérent isolé" ;
ensuite, pour les couples
- une seconde exécution pour imprimer d’abord les pages impaires, retourner les feuilles et imprimer les pages paires ?
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 13h13   #5
Membre régulier
 
Homme Jacques
Inscription : août 2005
Messages : 441
Détails du profil
Informations personnelles :
Nom : Homme Jacques
Âge : 66
Localisation : France, Val d'Oise (Île de France)

Informations forums :
Inscription : août 2005
Messages : 441
Points : 77
Points : 77
Merci pour ta réponse.

Je n’ai pas de problème pour créer les groupes, les pages isolées s’éditent en recto avec un numéro de page 1/1 et pour les autres pages la première s’édite en recto avec numéro de page 1/2 et la deuxième page toujours en recto avec numéro 2/2.

J’avais bien pensé à éditer les pages 1/1 en recto puis les autres pages en recto verso, l’imprimante que j’utilise le permet, seulement après il faut remettre les pages dans l’ordre chrono.

Est-ce qu’une solution existe ?

Salutations
jmde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 13h50   #6
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Pas à ma connaissance.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h27.


 
 
 
 
Partenaires

Hébergement Web