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 :

formulaire et PDF


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 17
    Points
    17
    Par défaut formulaire et PDF
    Bonjour,
    j'ai parcouru le forum et n'ai rien trouvé de précis par rapport à ma question . J'ai adapté la Base Multicritères.mdb de C.Leloup afin de l'utiliser avec des livres de cuisine ; je l'ai convertie en .accdb tout fonctionne bien y compris les requêtes et filtres . Je travaille donc sur un formulaire "plusieurs éléments" avec sur chaque ligne dans le champ Titre du Formulaire fRecherche le nom du livre dont j'ai conservé soigneusement le nom de fichier avec l'extension (par exemple il apparaît sur une ligne "Recettes de pâtes.pdf") ; en mode création j'ai joint un bouton en bout de ligne, ce qui fait qu'il y a un bouton par ligne, donc par enregistrement.pdf ; j'aimerais connaître le code pour qu'en appuyant sur ce bouton de fin de ligne, cela provoque l'ouverture du .pdf correspondant dans Acrobat Reader ; Ainsi je peux consulter directement les ouvrages beaucoup plus confortablement .
    Merci de votre aide

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Bonjour,
    quelques solutions :
    regarde, soit cette discussion :
    https://www.developpez.net/forums/d1...df-vba-access/
    ou alors dans la FAQ :
    https://access.developpez.com/faq/?p...action#LoadPDF
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 17
    Points
    17
    Par défaut Ca coince
    Merci de votre réponse,
    Je suis allé voir à la deuxième adresse, mais ce n'est pas adapté ; j'essaie la seconde mais je suis bloqué : soit par des erreurs de code, soit le bouton ne réagit pas ;
    j'ai mis une image pour visualiser ce que je souhaite faire, c'est à dire ouverture du .pdf en regard du bouton sollicité .


    Je joins également le code que j'ai intégré mais je suis nul à ce petit jeu... c'est à dire que j'ai enchâssé le sub de l'ouverture du fichier dans le private sub du click...
    L'adresse d'Acrobat.exe est la bonne . Merci par avance

    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
    18
    Private Sub Commande44_Click()
     
    Sub OuvrirPDF(ByVal sFichier As String, numPage As Long)
    Dim WshShell As Object, PDFExec As Object
    Dim CheminReader As String, CheminPDF As String
     
    CheminReader = "C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe"
    CheminPDF = Chr(34) & sFichier & Chr(34)
     
    Set WshShell = CreateObject("WScript.Shell")
     
    Set PDFExec = WshShell.Exec(CheminReader & " /a page=" & numPage & "=OpenActions " & CheminPDF)
     
    Set PDFExec = Nothing
    Set WshShell = Nothing
     
    End Sub
    End Sub
    Nom : Capture.JPG
Affichages : 116
Taille : 72,6 Ko

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Bonsoir,
    essaie ce code en remplaçant NomDuFichier par le nom du contrôle qui contient le nom du fichier à ouvrir (il faut peut être compléter par le chemin complet, on ne voit pas le nom car c'est flouté ) :
    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
    18
    19
    Private Sub Commande44_Click()
     
    Dim WshShell As Object, PDFExec As Object
    Dim CheminReader As String, CheminPDF As String
     
    'Chargement de l'appli Reader
    CheminReader = "C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe"
     
    ' Chargement du fichier à ouvrir
    CheminPDF = Chr(34) & Me.NomDuFichier & Chr(34)
     
    Set WshShell = CreateObject("WScript.Shell")
     
    Set PDFExec = WshShell.Exec(CheminReader & " /a page=1"  & "=OpenActions " & CheminPDF)
     
    Set PDFExec = Nothing
    Set WshShell = Nothing
     
    End Sub
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 17
    Points
    17
    Par défaut Ca marche mais problème au niveau de la page
    Bonjour
    et vraiment merci pour tes conseils ; ça a marché en bidouillant un (tout petit) peu

    Je mets le code, sachant que le nom du contrôle "Zone de Texte" de ce formulaire qui contient le nom des livres est txtTitre ; si ça peut en aider d'autres ...
    mais j'ai encore un petit problème ; j'ai essayé de placer un contrôle Texte "TxtPage" à côte du bouton "ouvrir PDF" afin d'y entrer le numéro de la page que je souhaite atteindre et de récupérer ce nombre pour le code en écrivant ainsi :

    Set PDFExec = WshShell.Exec(CheminReader & " /a page=Me.TxtPage" & "=OpenActions " & CheminPDF) mais ça ne marche pas ... Le fichier .pdf s'ouvre toujours à la page 1

    Par contre si dans Set PDFExec = WshShell.Exec(CheminReader & " /a page=1" & "=OpenActions " & CheminPDF) je tape 18 à la place de 1, le fichier s'ouvre bien à la page 18 ...

    code :
    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
    18
    19
    20
            Private Sub Commande44_Click()
     
            Dim WshShell As Object, PDFExec As Object
            Dim CheminReader As String, CheminPDF As String
     
     
            'Chargement de l'appli Reader
            CheminReader = "C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe"
     
            ' Chargement du fichier à ouvrir
             CheminPDF = "K:\Cuisine - Livres\" & Me.txtTitre
     
            Set WshShell = CreateObject("WScript.Shell")
     
            Set PDFExec = WshShell.Exec(CheminReader & " /a page=1" & "=OpenActions " & CheminPDF)
     
            Set PDFExec = Nothing
            Set WshShell = Nothing
     
            End Sub

    Merci encore

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 17
    Points
    17
    Par défaut Ca y est
    j'ai trouvé sur un site anglophone et l'ai 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
     
    Private Sub Commande44_Click()
     
    'open pdf at page #
      Dim pageNum As String
      Dim myCmd As String
      Dim pat1 As String
      Dim pat2 As String
      Dim pat3 As String
     
     
        pageNum = Me.TxtPage
            Debug.Print pageNum
     
                pat1 = """C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe """
                    'Debug.Print pat1
                pat2 = "/A ""page=" & pageNum & """"
                pat3 = "K:\Cuisine - Livres\" & Me.txtTitre
                    'Debug.Print pat3
     
     
      Debug.Print pat1 & " " & pat2 & " " & pat3
     
      Shell pat1 & " " & pat2 & " " & pat3, vbNormalFocus
     
     
            End Sub
    Par contre ne pas oublier de mettre 1 comme valeur par défaut dans txtPage

    Merci tee_grandbois

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Bonjour,
    Set PDFExec = WshShell.Exec(CheminReader & " /a page=Me.TxtPage" & "=OpenActions " & CheminPDF) mais ça ne marche pas ... Le fichier .pdf s'ouvre toujours à la page 1
    je n'avais pas choisi de poster le code avec le numéro de page en paramètre, car ce n'était pas le but de la demande.
    Il faut mettre les variables en dehors des constantes (ce qui est entre quotes) :
    " page=Me.TxtPage" est une constante cela restera toujours comme c'est écrit
    " page=" & Me.TxtPage est une constante suivie d'une variable, donc Me.TxtPage prendra la valeur qu'on lui transmet.
    voici le code correct avec le N° de page en variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set PDFExec = WshShell.Exec(CheminReader & " /a page=" & Me.TxtPage & "=OpenActions " & CheminPDF)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 17
    Points
    17
    Par défaut C'est bien ça
    Bonjour et avec mes excuses pour le retard mis dans la réponse, because boulot...

    Ton code était le bon et plus élégant et rapide que celui que j'avais déniché . Merci beaucoup !

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Bonsoir,
    Ton code était le bon et plus élégant et rapide que celui que j'avais déniché . Merci beaucoup !
    de rien. Ce code, je l'ai trouvé dans ce forum.

    Pense au bouton Résolu.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OpenOffice][Tableur] Formulaire en PDF
    Par chinex dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 18/06/2007, 11h15
  2. Contrôler des champs de formulaire via PDF ?
    Par MortDansLAme dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 23/05/2007, 15h09
  3. formulaire en PDF
    Par k_boy dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 02/04/2007, 12h31
  4. Exporter des formulaires en pdf
    Par Herman dans le forum IHM
    Réponses: 10
    Dernier message: 26/10/2006, 16h54
  5. Comment remplir un formulaire en pdf ?
    Par andrianiaina dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 01/09/2006, 11h28

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