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 :

Imprimer un formulaire en pdf sans action manuelle


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Points : 59
    Points
    59
    Par défaut Imprimer un formulaire en pdf sans action manuelle
    Bonsoir à tous,


    J'ai parcouru pas mal de forum et essayé divers codes avant de publier ma question mais rien n'y fait j'ai besoin de votre aide...

    J'ai un formulaire avec pas mal de champs, tableaux etc... et je ne souhaite pas faire un état (on ne peut pas faire grand chose par macro avec des états...) et je souhaite enregistrer ce document en pdf et egalement le communiquer par mail.
    Quand je le fait à la main, simple, imprimer, paysage (et encore c'est déjà par défaut) pdf.. et j'ai un super pdf de la vue actuelle de mon formulaire.

    Quand j'essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OutputTo acOutputReport, , "PDF", "d:\test.pdf", True
    Il me lance des 100 d'impressions... et la macro plante
    Quanf j'essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.PrintOut acSelection
    j'ai le pop up qui apparait et la juste avec ok, ca marche nickel, j'ai le pdf souhaité.

    Certes je pourrais le faire avec mais n'y a t'il pas un moyen plus direct et propre ?

    Merci
    Bonne soirée
    Alex

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    Bonjour,

    Je fais comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.OutputTo acOutputReport, "NomDeEtat", acFormatPDF, "CheminEtNomDeSortie", False
    J'utilise Access2010, je ne pense pas qu'il y ai beaucoup de changement avec 2013.

    Bonne continuation.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Points : 59
    Points
    59
    Par défaut
    Bonjour Jean Yves,


    Merci pour ta réponse mais hélas elle ne solutionne pas mon problème.
    En effet, j'ai essayé avec ton code et mon formulaire (oui je veux imprimer le formulaire courant ce qui marche nickel sans macro) s'imprime 176 fois du fait du nombre d'enregistrements

    As tu une idee de comment le limiter à la vue en cours ?

    Merci
    A+
    Alex

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    Re bonjour Alex

    Désolé j'avais mal lu la question initiale et je suis parti sur l'impression d'un état et non d'un formulaire, d'où le "acOutputReport".
    Pour ma part je n'imprime jamais de formulaire.
    (Ma philosophie : formulaire = écran, et état = papier. Attention cela n'engage que moi)

    A ta place je créerais un état qui pointe en critère l'enregistrement qui est en cours sur ton formulaire.

    puis je l'imprimerais selon la méthode décrite ci dessus.

    Essais si cela peut te convenir

    Bon courage

    JeanYves

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Points : 59
    Points
    59
    Par défaut
    Merci, je pense alors que je vais tenter avec un etat.
    La pour le coup je suis totalement novice car je ne travaille jamais avec des états:

    1ere Question bete:
    J'utilise un systeme de Harvey balls et le formulaire se met à jour avec une macro.
    Comment actualiser un état avec une macro ? (doit-on toujours passer par le mode previsulation ?)

    2e question bete:
    Comment pointer sur l'etat qui m'interresse car avec mon code actuel, j'imprime toujours l'ensemble des états

    Merci
    A+
    Alex

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 178
    Points : 175
    Points
    175
    Par défaut
    Bonjour,

    Un état se construit de la même manière qu'un formulaire avec une source qui est soit une table ou soit une requête composée de différentes informations provenant de tables ou requêtes.

    Entre le formulaire et l'état souhaité il faut bien entendu un identifiant commun que l'on nommera IDCommun pour l'exemple.

    Dans requête source de l'état, sur le critère de IDCommun, il faut ceci : [Forms]![NomDeTonFormulaire]![IDCommun] afin de pointer sur l'enregistrement en cours du formulaire

    Exemple de code source de l'état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT [NomDeTaTable].IDCommun , [NomDeTaTable].DDEPART, [NomDeTaTable].DFIN
    FROM [NomDeTaTable]
    WHERE ((([NomDeTaTable].IDCommun )=[Forms]![NomDeTonFormulaire]![IDCommun]));
    Dans cet exemple la requête retourne les dates de départ et de retour du véhicule identifié par IDCommun (j'ai +de 2000 enregistrements dans ma table).

    Dans le formulaire il faut cliquer sur l'enregistrement qui t'intéresse pour le sélectionner puis générer l'état en PDF par un bouton par exemple.

    A adapter selon tes besoins, cela devrait fonctionner.

    Bon courage

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/09/2008, 17h49
  2. Imprimer un fichier pdf sans ouvrir acrobat
    Par llaurentt dans le forum Windows
    Réponses: 12
    Dernier message: 18/02/2008, 23h40
  3. imprimer un pdf sans l'ouvrir
    Par salrouge dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/05/2007, 14h19
  4. Imprimer un formulaire sans la page de fond
    Par Mario Rousson dans le forum Access
    Réponses: 5
    Dernier message: 01/10/2006, 18h54
  5. VBA/Word/Excel97/Imprimer un pdf sans ouvrir acrobat
    Par ouskel'n'or dans le forum VBA Word
    Réponses: 2
    Dernier message: 28/09/2005, 21h40

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