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

IHM Discussion :

Générer plusieurs fichiers PDF par critère, à l'impression d'un état


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut Générer plusieurs fichiers PDF par critère, à l'impression d'un état
    Bonjour,

    La base concerné génère des états de plusieurs centaines de pages.

    Ce sont des résultats concernant plusieurs personnes différente.

    A l'heure actuel je génère un fichier PDF unique, et je divise manuellement celui ci pour envoyer les pages voulu, au différente personne.

    Est-il possible de paramétrer Access, afin qu'il génère automatique un PDF, par personne (sur un champ donné, à chaque fois qu'il est différent = un nouveau pdf) lors de l'impression de l'état?

    Cela me ferai gagner un temps précieux.

    Si vous pouviez m'éclairer un peu, car jusqu'à présent mes recherche n'ont rien données.

    D'avance merci et bonne journée.

    Daniel

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Pour commencer, précise STP comment tu génères ton pdf.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Soit avec Adobe, soit avec PDF Creator.

    Donc je fais imprimer > PDFCREATOR par exemple.

  4. #4
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    1. Définis pdfCreator comme imprimante par défaut (on peut le faire par code...)
    2. Fais une boucle en VBA (sur un recordset correspondant aux différentes personnes)
    3. A chaque itération, lance une impression (directe, pas d'aperçu) de ton état que tu filtres en fonction de la personne en cours
    4. tu paramètres pdfcreator pour nommer et enregistrer automatiquement les fichiers pdf générés dans un répertoire dédié.
    5. Restaure l'imprimante par défaut (que tu auras mémorisée avant de sélectionner pdfcreator)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup pour ta réponse Mout.

    Concernant les points 1,4,5 il n'y a pas de souci, merci !

    Cela dit pour le reste j'aurai besoin d'aide je pense. Je ne sais pas programmer, mais je vais essayer

    Comment je créer la boucle? Elle doit faire quoi?

    Et qu'entends tu par: "A chaque itération, lance une impression (directe, pas d'aperçu) de ton état que tu filtres en fonction de la personne en cours"?

    Merci d'avance pour tes précisions.

  6. #6
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Qq chose du genre (code écrit en direct dans le message, non testé et à adapter à ton cas)
    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
     
    Dim db as Database
    Dim orst as DAO.Recordset
     
    set db= currentdb()
    set orst = db.openrecordset("tblPersonnes")
     
    while not orst.EOF
       Docmd.OpenReport "MonEtat",acViewNormal,,"IDPersonne=" & orst!IDPersonne
       orst.Movenext
    wend
     
    orst.close : set orst = nothing
     
    set db = nothing

    En y réfléchissant, je me demande si tu n'auras pas des soucis de réactivité de pdfCreator... à tester.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Oh c'est sympa ça, merci Mout !

    Je vais essayer de tester ce code dans la semaine !

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je sais ca fait un bail, mais je n'avais pas eu le temps de tester le code, et une chose en amenant une autre, c'est resté de coté pendant plusieurs mois...

    Je l'ai testé aujourd'hui, ca a l'air de fonctionner, puisque j'ai réussi à sortir une découpe pour une personne Mais il me demande d'entrer une valeur de paramètre à chaque fois...




    voila le code adapté :

    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
    Sub TEST()
    Dim db As Database
    Dim orst As DAO.Recordset
     
    Set db = CurrentDb()
    Set orst = db.OpenRecordset("ID")
     
    While Not orst.EOF
       DoCmd.OpenReport "_ABC Clients pr VRP", acViewNormal, , "REPR!TIERS=" & orst!TIERS
       orst.MoveNext
    Wend
     
    orst.Close: Set orst = Nothing
     
    Set db = Nothing
    End Sub
    Comment je peux faire pour qu'il enchaine automatiquement avec les valeurs de la table "ID" correspondante à celle de la table "REPR"?

    D'avance merci

  9. #9
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Ton ID est de type texte sans doute... ==> appliquer la syntaxe correspondante dans la construction du code SQL

    Si to nID ne contient jamais d'apostrophe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       DoCmd.OpenReport "_ABC Clients pr VRP", acViewNormal, , "REPR!TIERS='" & orst!TIERS & "'"

Discussions similaires

  1. Générer plusieurs fichiers PDF dans un reports
    Par jpspci dans le forum Reports
    Réponses: 2
    Dernier message: 04/06/2012, 09h07
  2. Générer plusieurs fichiers pdf avec pdflatex
    Par napo_lytech dans le forum Editeurs / Outils
    Réponses: 16
    Dernier message: 11/11/2010, 17h31
  3. Concaténer plusieurs fichier pdf.
    Par gege2061 dans le forum Linux
    Réponses: 7
    Dernier message: 28/10/2006, 13h14
  4. [WinDev] Générer un fichier .pdf
    Par vaness59199 dans le forum WinDev
    Réponses: 2
    Dernier message: 30/07/2006, 18h52
  5. Générer des fichiers PDF
    Par bobbafet dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/11/2004, 23h53

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