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 :

Sauvegarder un Etat au format PDF [AC-2003]


Sujet :

IHM

  1. #1
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut Sauvegarder un Etat au format PDF
    Bonjour à tous,

    Puis je donner un nom à une sauvegarde sous format PDF en procèdent ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Docmd.OpenReport "E_FACTURE_CLIENT_PDF" , , , "NO_FACTURE = " & WNO_FACTURE & ""
    Docmd.Close acReport, "E_FACTURE_CLIENT_PDF", AcSaveYes
    Actuellement, comme vous pouvez le voir, mon PDF prend le nom E_FACTURE_CLIENT_PDF. J'aimerai que ce PDF prenne le nom de ma variable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WNOM_CLIENT where "NO_FACTURE = " & WNO_FACTURE & "
    Merci pour votre aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2015
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2015
    Messages : 217
    Par défaut
    Salut,

    Tu peux essayer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoCmd.OpenReport "E_FACTURE_CLIENT_PDF", , , "NO_FACTURE = " & WNO_FACTURE & "", acHidden
    Reports!E_FACTURE_CLIENT_PDF.Caption = WNO_FACTURE
    DoCmd.Close acReport, "E_FACTURE_CLIENT_PDF", acSaveYes
    Le formulaire s'ouvre en caché puis ta variable va dans la propriété "Légende" de ton formulaire;

  3. #3
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Merci,

    Je vérifie cela.

    A plus tard.

  4. #4
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Re bonjour,

    Avec cette méthode, access me répond que E_FACTURE_CLIENT_PDF est mal orthographié ou fait référence à un état qui n'est pas ouvert ou qui n'existe pas.
    As tu une explication ?

    Merci par avance.

  5. #5
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Bonjour hyperion13,
    Pas d'idée pour me venir en aide ?
    Merci et à bientôt.

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 848
    Par défaut
    Bonjour,

    Tu as la commande "DoCmd.OutputTo" pour enregistrer un état en pdf et définir plusieurs paramètres.
    Une recherche sur l'aide correspondant avec ne serait pas superflu.

    Cordialement.

  7. #7
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Merci pour ta réponse,
    Cette procédure fonctionne t'elle avec Access 2003?
    AcFormatPDF me renvoie une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.OutputTo acOutputReport, "E_FACTURE_CLIENT_PDF", acFormatPDF, "C:\Users\Public\Facture" & WNO_FACTURE & ".pdf"
    AcFormatPDF erreur de compilation : Variable non définie

  8. #8
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 935
    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 935
    Par défaut
    Bonsoir,
    PDF n'est pas natif dans Access 2003, pour une solution, regarde ce tutoriel de cafeine:
    https://cafeine.developpez.com/access/tutoriel/pdf/
    certes, c'est un peu long mais c'est la seule solution pour cette version.

  9. #9
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Merci à toi,
    J'essaie ça tout de suite et je vous tiens au courant.

  10. #10
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Par défaut
    Salut,

    - Pour nommer ton pdf pourquoi ne pas passer par un inputbox

    - Pour acFormatPDF sous 2003, tu peux éventuellement récupérer une bibliothèque ici

  11. #11
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Je ne parviens à rien avec acFormatPDF.
    Que veux tu dire avec Inputbox . Que dois je faire exactement ?
    Merci encore pour ton aide.
    Hervé.


    Bon, je parviens à faire mon PDF en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    DoCmd.OpenReport "E_FACTURE_CLIENT_PDF", , , "NO_FACTURE = " & WNO_FACTURE & ""
    DoCmd.Close acReport, "E_FACTURE_CLIENT_PDF", acSaveYes
    En paramétrant PDFCréator, je le mets ou je veux sans qu'il me demande.
    Mais bon, je ne peux pas lui donner le nom que je veux.
    Dommage.

  12. #12
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Par défaut
    A la louche un truc comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim SaisirVal As String
     
        SaisirVal = InputBox("Saisissez un nom de fichier, svp")
     
    If IsEmpty(SaisirVal) Then
        MsgBox ("Vous n'avez rien saisi !")
    End If
    Et tu récupères la variable SaisirVal

  13. #13
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Un grand merci à toi Hyperion13.

    Je vois ce que tu veux dire. Cela fonctionne, bien sur, mais avec ma procédure, je ne peux pas donner de nom à mon état. Je ne peux pas passer ma variable. Le nom de mon document PDF reste le même que celui de mon état à savoir E_FACTURE_CLIENT_PDF.
    Merci beaucoup quand même.

    En revanche, son nom ne m'embête pas vraiment puisque le but est de l'envoyer par Email au bon destinataire. Ensuite je l'écrase en envoyant une autre facture à un autre destinataire. Ma nouvelle question est donc de savoir comment je l'envoie par Mail.

    - Est ce possible sans utiliser de client de messagerie ?
    - En utilisant Gmail par exemple ?

    Merci pour ton aide précieuse.

    Hervé.

  14. #14
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Par défaut
    Une procédure qui fonctionne sous Ak13
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub ExportEnPdf_Click()
    Dim directory As String, fileName As String, filePath As String, SaisirVal As String
    DoCmd.OpenReport "E_FACTURE_CLIENT_PDF", acViewReport, , "NO_FACTURE=" & WNO_FACTURE & ""
     
    SaisirVal = InputBox("Saisissez un nom de fichier, svp")
    If IsEmpty(SaisirVal) Then
        MsgBox ("Vous n'avez rien saisi !")
    End If
    directory = "C:\Users\...\...\"
    fileName = SaisirVal & ".pdf"
    DoCmd.OutputTo acOutputReport, "E_FACTURE_CLIENT_PDF", acFormatPDF, directory & fileName, False
    DoCmd.Close acReport, "E_FACTURE_CLIENT_PDF", acSaveNo
    End Sub
    Pour directory au lieu de l'écrire en brut, on peut utiliser Application.CurrentProject.Path ou dans le même genre

    EDIT : la méthode SendObject est-elle implantée dans Ak3 ? As-tu une imprimante pdf d'installée sur ton PC ?

  15. #15
    Membre émérite
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Par défaut
    Bonjour.

    @hyperion13,comme il a été dit, gwenagan est sous Access 2003 et ne peux donc pas utiliser Docmd.OutputTo en pdf.
    @gwenagan, dans ton premier message, tu parles de sauvegarder un pdf alors que dans ton code, tu changes le nom de l'Etat !!??
    Ce n'est pas la bonne méthode. Par souci de facilité et de maintenance, ton Etat devrait garder le meme nom.
    C'est dans la procédure de création du pdf que tu doit indiquer, grace à une variable, le nom que tu souhaite donner à ton pdf.
    Peux tu nous donner cette procédure ?

    Cdlt

  16. #16
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Merci Thierry,

    Non je ne veux pas changer le nom de mon état dans Access. Je veux juste nommer le PDF au moment de son enregistrement. J'essaie ta procédure mais j'ai peur qu'il me renvoie une erreur à cause de acFormatPDF.
    Imprimante PDF installée oui, c'est pour cela que je parviens à faire un PDF et E_FACTURE_CLIENT_PDF est la version PDF de E_FACTURE_CLIENT.
    J'utilise pour cette état une imprimante spécifique qui est PDFCréator.
    J'essaie de suite.

    Je trouve un Docmd.sendObjet dans AK3 oui.

    Merci à tous pour votre aide.

    Voila, je viens de faire l'essai et Access me renvoi le message d'erreur concernant acFormatPDF comme étant une variable non déclarée.
    Et si je l'enléve, Access me demande le format bien entendu, mais je n'ai pas PDF comme choix.


    Nom : Formats.png
Affichages : 1238
Taille : 5,7 Ko

  17. #17
    Membre émérite
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Par défaut
    re
    Est-ce que tu utilises PDF Creator en vba ou bien à la main ?
    Ce qui m'intéresse de voir c'est ta procédure de code pilotant PdfCreator.
    Dedans, il doit y avoir qq chose qui ressemble à ça:

    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
     With oPDF
            .cVisible = False
            .cStart
            '"Sauvegarde" des parametres de PDFCreator...
            Parametres(0) = .cOption("UseAutoSave")
            Parametres(1) = .cOption("UseAutoSaveDirectory")
            Parametres(2) = .cOption("AutoSaveDirectory")
            Parametres(3) = .cOption("AutoSaveFilename")
            Parametres(4) = .cOption("autoSaveFormat")
     
            .cSaveOptions
            'Changement des parametres de PDFCreator...
            .cOption("UseAutoSave") = 1
            .cOption("UseAutoSaveDirectory") = 1
            .cOption("AutoSaveDirectory") = "variable représentant le chemin de ton fichier"
            .cOption("AutoSaveFilename") = "variable représentant le nom de ton fichier"
            .cOption("autoSaveFormat") = 0  '(0 = PDF)
    kiki29 fait un très bon travail sur la génération de pdf :https://www.developpez.net/forums/d1...f-liste-excel/
    Cdlt

  18. #18
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Non, je n'ai pas de code pour piloter PDFCréator. J'ai un état qui se nomme E_FACTURE_CLIENT_PDF dans lequel je paramètre une imprimante spécifique qui est PDFCréator comme ci-dessous :


    Nom : Formats_2.png
Affichages : 1243
Taille : 25,1 Ko


    Je ne l'ai pas fait en code car j'ai lu sur ce forum que acFormatPDF ne fonctionnait pas avec des versions antérieurs à Access 2007.

    Je n'utilise pas la bonne méthode visiblement.

    Merci encore.

  19. #19
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Par défaut
    Re,
    Peut être la solution ici pour Ak3
    En bas de la page un sample file PrintToPDF.zip

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function PrintReportToPDF(strReport As String, strSave As String) As Boolean 
    ...
         ' print the report - CHECK THE PRINTER NAME IS CORRECT
        Set Application.Printer = Application.Printers("Acrobat PDFWriter") '<-- saisir le nom exact de l'imprimante PDF installée sur ta machine
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function WriteRegistryEntry(strPDF As String) 
    ...     
        Print #1, "Windows Registry Editor Version 5.00" '<-- vérifier ta version RegEdit
        Print #1, "" 
        Print #1, "[HKEY_CURRENT_USER\Software\Adobe\Acrobat PDFWriter]" '<-- indiquer le chemin exact de l'imprimante PDF installée
        Print #1, """PDFFilename""=" & Chr(34) & strPDF & Chr(34) 
        Close #1
    ...
    Par contre, aucune garantie de résultat.

  20. #20
    Membre éclairé Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Par défaut
    Oui en effet, en adaptant un peu ça peut fonctionner. Cela me renvoi des arguments incorrects mais ça devrait aller.
    Merci beaucoup.
    Je teste ça.
    Reste à l'envoyer par Email. Est ce possible sans Outlook et autre client de messagerie ?

    Je t'en demande peut être un peu trop, mais comment trouve t'on tout ça (la version de mon Regedit et le chemin exact de mon imprimante PDFCreator ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-2003] Envoie de mail d'un etat au format PDF
    Par Misha dans le forum IHM
    Réponses: 6
    Dernier message: 18/09/2009, 21h54
  2. afficher des etats au format PDF
    Par oasma dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/05/2007, 14h51
  3. Exporter Etat en format pdf
    Par Philippe GARNIER dans le forum IHM
    Réponses: 2
    Dernier message: 24/10/2006, 13h39
  4. [CrystalReports] Exportation Etat au format PDF
    Par PtiBubu dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 06/02/2006, 17h47
  5. Réponses: 27
    Dernier message: 16/09/2005, 17h40

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