IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    R�dacteur/Mod�rateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouv� tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Chercheur de loisirs (ayant trouv� tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par d�faut Dans un �tat Access, apprendre � num�roter les pages d'un groupe � page x sur y �
    Bonjour et bonne ann�e � tous,

    http://claudeleloup.developpez.com/t...-pages-groupe/

    Centres d'int�r�t dans ce tutoriel :
    - [Page] et [Pages] sous la loupe ;
    - cr�ation d'une table de paires Cl�/Valeur en m�moire (utilisation de Collection).

    Vos commentaires sont les bienvenus.

  2. #2
    Expert �minent
    Avatar de tee_grandbois
    Homme Profil pro
    retrait�
    Inscrit en
    Novembre 2004
    Messages
    8 965
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 68
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : retrait�

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 965
    Par d�faut
    Bonjour Claude et Bonne Ann�e

    Encore un tutoriel "clarinette" et pr�cis

    Bravo !

  3. #3
    R�dacteur/Mod�rateur

    Avatar de User
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    8 622
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 8 622
    Billets dans le blog
    67
    Par d�faut
    Bravo pour ce nouvel article !

    Encore un support bien utile pour les membres du club
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses � consulter sans mod�ration

    Des tutoriels pour apprendre � cr�er des formulaires de planning dans vos applications Access :
    Gestion sur un planning des pr�sences et des absences des employ�s
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de donn�es Access :
    Import Fichier JSON

  4. #4
    R�dacteur/Mod�rateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouv� tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Chercheur de loisirs (ayant trouv� tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par d�faut
    Bonjour,

    Merci pour les encouragements !

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    188
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 188
    Par d�faut
    Bonjour.

    J'ai bien appr�ci� le paragraphe "si vous �tes press�".

    Les autres sont aussi pas mal !

    Merci d'avoir diffus� cette solution qui trouvera certainement de tr�s nombreux utilisateurs reconnaissants.


    Je me permet une petite question que je pense pertinente (mais si elle n'est pas au bon endroit, pas de soucis pour la d�placer, ou juste la supprimer et me l'indiquer en MP).

    Peut-on modifier ce code pour qu'il prenne en charge les groupes, mais avec la notion de recto-verso ?

    Pour reprendre l'exemple en photos, les "Mouvements du journal Achat" occupent 3 pages et si on lance une impression recto-verso de tous les mouvements, la premi�re page des "Mouvements du journal Caisse" va se retrouver au dos de la troisi�me de la page 3 des "Mouvements du journal Achat".

    Du coup, m�me le "Mouvements du journal Caisse" qui comporte 6 pages (qui pourraient �tre imprim�es sur 3 feuilles recto-verso) va se retrouver avec le d�but au dos des "Mouvements du journal Achat" et la fin devant le d�but des "des "Mouvements du journal Ouverture".

    Id�alement, une variable permettrait de choisir :
    - Soit on s'en fiche que tout soit bout � bout (impression recto uniquement de tout l'�tat)
    - Soit que l'on souhaite une page blanche (de pr�f�rence sans rien du tout �crit dessus) derri�re la derni�re page pour les nombres de page impaires (impression recto-verso de tout l'�tat, mais avec n�cessit� de s�paration des groupes).

    Comme j'en ai accessoirement besoin, j'ai cherch� et trouv� des solutions pour ins�rer une page blanche.

    Mais je ne vois pas o� les int�grer dans votre code pour qu'il continue � fonctionner. (pour l'instant, au mieux mes essais ne produisent aucun effet visible...).

    Une id�e ?

    D'avance merci et merci pour votre travail.

  6. #6
    R�dacteur/Mod�rateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouv� tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Chercheur de loisirs (ayant trouv� tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par d�faut
    Bonjour Access_ible

    Merci pour l�int�r�t port� � ce tutoriel.
    Ne peux-tu envisager ceci comme approche :
    - 1er temps : d�terminer, au moyen d�une requ�te, chaque groupe qu�il faudra imprimer ;
    - 2e temps : d�clencher une proc�dure qui consisterait � imprimer � pour chacun des groupes � un �tat individuel ?

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    188
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 188
    Par d�faut
    Bonjour.

    Merci pour cette r�ponse et pour votre contribution � ce fantastique forum.

    R�ponse courte : H� non, malheureusement !

    R�ponse d�taill�e :

    En fait, j'ai d�j� un �tat qui comprend les groupes (et donc les ent�tes de groupe) bas� sur une table cr�e en amont par une requ�te qui ne retient que les ent�tes de groupe et y ajoute un certain nombre d'information d'une autre table.
    Ce choix est motiv� par la n�cessite d'appliquer aux ent�tes un traitement qu'il n'est pas utile d'appliquer au reste des donn�es et d'afficher en ent�te, des informations qui ne sont pas dans la table principale.

    J'ai un sous-�tat o� n'apparaissent que le reste des donn�s, li�es � l�identifiant unique aux ent�tes de l'�tat.

    Mais le soucis, c'est que pour une m�me ent�te, d'une �dition � l'autre (et parce que les donn�es �voluent au fil du temps), il peut y avoir une fois 1 page, une fois plusieurs pages, 1 fois rien...

    C'est aussi le cas pour l'exemple que vous donnez (Les mouvements des journaux ne sauraient avoir toujours le m�me nombre de lignes, et donc toujours occuper le m�me nombre de pages).

    Par ailleurs, contrairement � votre exemple, mon nombre d'ent�te varie (la requ�te qui g�n�re la table est relanc�e avant l'affichage de l'�tat).

    L'objectif final de la cr�ation de ces �tat est leur impression.

    Ils seront, de toute mani�re, imprim�s tous ensemble.

    1 seul �tat trouve tout son int�r�t.

    Mon probl�me, c'est que votre code marche nickel (et je vous en remercie vivement).

    Mais il ne fonctionne de mani�re pertinente qu'en impression recto.

    Quand je m'aventure � ajouter des morceaux de code pour ajouter une page blanche derri�re un nombre de pages impaires, non seulement je n'ai pas ma page en plus, mais votre code est "cass�".

    D'o� ma question.

    Encore merci.

  8. #8
    R�dacteur/Mod�rateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouv� tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Chercheur de loisirs (ayant trouv� tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par d�faut
    Bonjour Access_ible,

    Je n�ai sans doute pas �t� clair !

    En fait, j'ai d�j� un �tat qui comprend les groupes (et donc les ent�tes de groupe) bas� sur une table cr�e en amont par une requ�te qui ne retient que les ent�tes de groupe et y ajoute un certain nombre d'informations d'une autre table.
    Ce choix est motiv� par la n�cessite d'appliquer aux ent�tes un traitement qu'il n'est pas utile d'appliquer au reste des donn�es et d'afficher en ent�te, des informations qui ne sont pas dans la table principale.

    J'ai un sous-�tat o� n'apparaissent que le reste des donn�es, li�es � l�identifiant unique aux ent�tes de l'�tat.

    Mais le souci, c'est que pour un m�me ent�te, d'une �dition � l'autre (et parce que les donn�es �voluent au fil du temps), il peut y avoir une fois 1 page, � plusieurs pages, 1 fois...
    Imagine qu�il n�y ait qu�un seul groupe, par exemple le premier de la liste actuelle.
    L��tat � r�duit � un seul groupe � serait-il correct avec ton programme actuel ?
    En d�autres mots, l��tat d�un groupe est-il influenc� par l�existence d�autres groupes ?


    C'est aussi le cas pour l'exemple que vous donnez (les mouvements des journaux ne sauraient avoir toujours le m�me nombre de lignes, et donc toujours occuper le m�me nombre de pages).
    OK. Mais ce que je propose c�est :
    - 1er temps cr�er (par programme) une table qui contient une ligne par journal � imprimer ;
    - 2e temps lancer (par programme) autant d�impressions qu�il y a de journaux : un �tat individuel pour chaque journal.
    Remarque que le r�sultat final serait le m�me que celui obtenu via la proposition du tutoriel !

    Ils seront, de toute mani�re, imprim�s tous ensemble.
    Moi aussi. Et c�est ton imprimante qui r�glerait le probl�me du verso vierge.

    Quand je m'aventure � ajouter des morceaux de code pour ajouter une page blanche derri�re un nombre de pages impaires, non seulement je n'ai pas ma page en plus, mais votre code est "cass�".
    Je n�ai aucune id�e du comment ins�rer une page blanche en cours d��dition lorsque le nombre de pages d�un groupe est impair.
    Montre ton code � qui ne marche pas �.

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    188
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 188
    Par d�faut
    Bonjour.

    Merci pour ce suivi.

    Je r�pond de suite pour montrer que je suis sur le coup.

    Mais j'ai besoin d'un peu de temps pour comprendre la r�ponse et voir comme (et si) je peux l'utiliser sur ma situation actuelle.

    C'est s�r que cette histoire d'imprimante qui r�glerait la page en plus est s�duisante...

    Je vous tiens au courant

    Encore merci.

  10. #10
    Expert confirm�

    Homme Profil pro
    consultant d�veloppeur
    Inscrit en
    Mai 2005
    Messages
    3 048
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : consultant d�veloppeur
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 048
    Par d�faut
    Bonjour,
    Peut-�tre quelque chose � exploiter du cot� de ce tip d'allen Brown
    http://www.allenbrowne.com/ReportDuplex.html

    CDLT

  11. #11
    R�dacteur/Mod�rateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouv� tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Chercheur de loisirs (ayant trouv� tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par d�faut
    Bonjour micniv,

    Nom : Chapeau.png
Affichages : 1443
Taille : 41,2 Ko

  12. #12
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    188
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 188
    Par d�faut
    Bonjour.

    Merci pour ces r�ponses.

    �a serrait vraiment plus simple pour moi de pouvoir rester sur un seul �tat pour toutes les situations (J'ai un formulaire jumeau qui s'organise de la m�me mani�re et pour la maintenance, et l'�volution, ce serrait plus simple)

    Par ailleurs, cela me semble (pour l'instant) logique d'opter pour une solution impactant l'�tat pour un recto/verso plut�t que plusieurs �tats en fonction des situations.

    Alors, de mon c�t�, j'avais tent� cette modif :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub ZonePiedPage_Format(Cancel As Integer, FormatCount As Integer)
        Call MaJoColTable(Me(sChampGroupe), Me.Page)
     
        'Bidouillage_page
        'Si le nombre de page est impair
        'Merci Guiv
        If Right(GetPages([EMRGMNT_CD_ID_M]), 1) Mod 2 <> 0 Then
        EntêteGroupe0.ForceNewPage = 2
        End If
     
    End Sub
    Qui ne produit aucun effet (avec ou sans ces modif, c'est pareil, pas d'erreur, pas de changement)

    J'ai tent� le code propos� par micniv.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub PiedGroupe1_Format(Cancel As Integer, FormatCount As Integer)
    'Merci Allen Browne
    'http://www.allenbrowne.com/ReportDuplex.html
        Dim bIsOdd As Boolean
        bIsOdd = (Me.Page Mod -2)   'Yields 0 for even, or -1 for odd.
        'Hide this Section (and its page break) if already at odd page.
        With Me.Section("PiedGroupe1")
            If .Visible = bIsOdd Then
                .Visible = Not bIsOdd
            End If
        End With
    End Sub
    Il y a deux Ent�teGroupe dans l'exemple indiqu� et les deux Ent�teGroupe comportent des donn�es.

    J'ai donc ajout� un Ent�teGroupe1 � l'Ent�teGroupe0 d�j� pr�sent sur mon �tat.

    Mais ni l'un ni l'autre ne comportent de donn�es dans mon cas (Les donn�es et la num�rotation des pages ne fonctionnent en m�me temps que quand je met les donn�es d'ent�te de page � imprimer dans l'ent�te de page d'�tat).

    J'ai suivi les param�trages de lien.

    Si j'ai bien compris, la solution pr�sent�e, la page suppl�mentaire est toujours pr�sente.

    Le code la masque en cas de nombre de pages d�j� pair.

    �a ne produit aucun effet.

    Je me demande s'il ne faudrait pas remplacer
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    bIsOdd = (Me.Page Mod -2)   'Yields 0 for even, or -1 for odd.
    par
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    bIsOdd = (getpages([EMRGMNT_CD_ID_M]) Mod -2)   'Yields 0 for even, or -1 for odd.
    J'ai essay� et �a pointe une erreur sur la fonction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    Public Function GetPages(Groupe As String) As Integer
      GetPages = oColTable(Groupe)
    End Function
    Je suis bien conscient que c'est de la bidouille, mais c'est bien pour cela que je suis venu vous poser la question, vous qui �tes � l'origine de code fonctionnel...

    Encore merci.

  13. #13
    R�dacteur/Mod�rateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouv� tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Chercheur de loisirs (ayant trouv� tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par d�faut
    D�sol� de ne pas pouvoir t'aider : je ne dispose pas de l'environnement ad�quat pour tester.
    Esp�rons qu'un autre forumeur puisse prendre le relais.
    Content de t'avoir crois�.
    A+

  14. #14
    Expert confirm�

    Homme Profil pro
    consultant d�veloppeur
    Inscrit en
    Mai 2005
    Messages
    3 048
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : consultant d�veloppeur
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 048
    Par d�faut
    Salut � vous

    Access_ible,
    Je n'ai pas tout suivi le fil, mais ce que j'entrevoyais, c'est, � l'image du tuto d'Allen Browne ci-dessus, de placer une variable en pied du [groupe � imprimer sur une nouvelle feuille] valoris�e avec le num�ro de page absolu (depuis la page 1 de l'�tat) et de d�clencher un saut de page, si le num�ro de page du pr�c�dent pied de groupe est impair.
    Vois si �a peut �tre adapt� sur ton appli.

    EDIT: je vois ci-dessus que tu as essay� cette m�thode
    bIsOdd = (Me.Page Mod -2) 'Yields 0 for even, or -1 for odd.
    , mais as-tu v�rifi� que dans ton contexte, Me.page contient bien le num�ro correct de page depuis le d�but de l'�tat ?
    CDLT

  15. #15
    Expert �minent
    Avatar de tee_grandbois
    Homme Profil pro
    retrait�
    Inscrit en
    Novembre 2004
    Messages
    8 965
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 68
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : retrait�

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 965
    Par d�faut
    bonsoir,
    une solution qui fonctionne avec le code de ce lien http://access-excel.tips/access-repo...dd-blank-page/
    et en pi�ce jointe la base modifi�e : NumPagesGroupe.zip

Discussions similaires

  1. R�ponses: 1
    Dernier message: 25/01/2006, 12h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo