Microsoft 365 Liaison dynamique entre liste déroulante Excel et fichiers PDF

  • Initiateur de la discussion Initiateur de la discussion bcharef
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bcharef

XLDnaute Accro
Bonjour à toutes et à tous,

J’ai un fichier Excel contenant la liste des garanties identifiées par leur numéro, et un seul fichier PDF regroupant l’ensemble de ces garanties scannées et archivées individuellement.

Certaines garanties sont en deux pages (recto et verso).

Mon objectif : sélectionner un numéro de garantie dans une liste déroulante Excel et afficher immédiatement le document PDF correspondant, quelle que soit sa pagination.

Quelles sont, selon vous, les meilleures méthodes pour mettre cela en place ?

Merci d’avance pour vos conseils.
 
Bonjour Didu2,

Merci pour votre retour. L’objectif n’est pas de savoir si c’est « blanc ou noir », mais bien de trouver une méthode technique permettant, à partir d’un fichier Excel comportant une liste de numéros de garanties, d’ouvrir directement la partie du fichier PDF où se trouve la garantie correspondante.

Il s’agit donc d’identifier automatiquement, à partir d’un choix dans Excel (liste déroulante), la page ou la plage de pages concernée dans un seul fichier PDF regroupant toutes les garanties — certaines étant en une page, d’autres en deux pages.

Toute suggestion d’outil ou de procédure (extraction de pages PDF, lien direct vers une page précise, etc.) serait la bienvenue.
 
Bonjour kiki29,

Merci pour votre partage. Nous allons télécharger et consulter le fichier « Liste Contributions PDF » que vous nous avez indiqué, puis l’adapter à notre contexte afin de voir dans quelle mesure il peut répondre à notre besoin de liaison entre Excel et un document PDF multi-pages.

Cordialement.
 
Bonjour.
Pourquoi ne pas installer le sommaire avec les liens dans le PDF lui même ? Il y a des outils Adobe pour ça.
Cela dit une fois ces liens établis, je crois qu'on peut mettre des liens hypertexte dans Excel qui vont directement à une entrée du sommaire.
 
Re Bonjour kiki29,
Re Bonjour à toutes et à tous.


Nous vous remercions pour le fichier transmis. Après téléchargement et consultation, nous avons pu constater que son utilisation, notamment via les boutons ABC permettant un tri alphabétique sur les colonnes correspondantes, ne répond malheureusement pas à l’objectif recherché, à savoir l’ouverture directe, depuis Excel, de la partie spécifique d’un fichier PDF multi-pages correspondant à un numéro de garantie sélectionné.

Nous restons bien entendu preneurs de toute autre piste ou solution qui pourrait nous orienter vers cette automatisation.

Cordialement,
 
Bonjour à tous, bonjour bcharef, heureux de vous revoir,

l’objectif recherché, à savoir l’ouverture directe, depuis Excel, de la partie spécifique d’un fichier PDF multi-pages correspondant à un numéro de garantie sélectionné.
Téléchargez les fichiers joints dans le même dossier (le bureau).

Dans la feuille "Accueil" en D6 choisissez la feuille de garantie ce qui lance cette macro :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$D$6" Then Exit Sub
Dim fichierPDF$, feuilles, pages, i As Variant, commande
fichierPDF = ThisWorkbook.Path & "\PDF GARANTIES.pdf"
feuilles = Array("GARANTIE 1", "GARANTIE 2", "GARANTIE 3")
pages = Array(1, 2, 4)
i = Application.Match([D6], feuilles, 0)
If IsNumeric(i) Then Shell "C:\Program Files\Internet Explorer\iexplore.exe " & fichierPDF & "#page=" & pages(i - 1), vbNormalNoFocus
End Sub
A+
 

Pièces jointes

Ceci semble être mieux :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$D$6" Then Exit Sub
Dim fichierPDF$, feuilles, pages, i As Variant, commande
fichierPDF = ThisWorkbook.Path & "\PDF GARANTIES.pdf"
feuilles = Array("GARANTIE 1", "GARANTIE 2", "GARANTIE 3")
pages = Array(1, 2, 4)
i = Application.Match([D6], feuilles, 0)
If IsError(i) Then Exit Sub
Shell "C:\Program Files\Internet Explorer\iexplore.exe " & fichierPDF & "#page=1", vbHide
Shell "C:\Program Files\Internet Explorer\iexplore.exe " & fichierPDF & "#page=" & pages(i - 1), vbMaximizedFocus
End Sub
Il y a des sauts d'écran, je n'arrive pas à y remédier.
 

Pièces jointes

Dernière édition:
Bonjour Hecatonchire, bonjour job75,
Bonjour à toutes et à tous.


Veuillez accepter mes excuses pour le retard de réponse, je viens tout juste de rentrer du travail.

Hecatonchire, merci pour votre retour succinct via un lien hypertexte. Je vais examiner cette piste.

job75, c’est un réel plaisir de vous croiser à nouveau sur ce fil. Merci pour le partage des fichiers et du code VBA détaillé. Étant un véritable ignare en VBA, je vais toutefois prendre un peu de temps pour exploiter les pièces jointes et tester la macro que vous avez mise à disposition.

Je ne manquerai pas de revenir vers vous avec mes observations et éventuelles questions une fois les essais effectués.

Cordialement.
 
Bonjour Hecatonchire,

J’ai effectué un essai après avoir téléchargé votre fichier LiensFichier.xlsx, mais aucun résultat ne s’affiche lors de l’exécution.

Petite remarque : même si je suis ignare en VBA, j’ai remarqué que le fichier contient du code VBA, alors que l’extension .xlsx ne prend normalement pas en charge les macros. Peut-être faudrait il l’enregistrer ou le fournir au format .xlsm pour permettre l’exécution du code.

Est-ce que cela pourrait expliquer l’absence de résultat lors de mon test ?

Cordialement.
 
Le fichier ne contient pas de code VBA mais il y a peut être une alerte de sécurité du faite qu'il contient des liens.

De plus il faut le débloquer du faite qu'il est télécharger d'internet via ses propriétés avant de l'ouvrir.

explorer_qgJLQcySW6.png


Il faudra aussi mettre vos liens dans ListePDF
 
Bonjour job75,

J’ai effectué un essai après avoir téléchargé les deux fichiers nommés respectivement GARANTIES.xlsm et PDF GARANTIES.pdf, bien entendu placés dans le dossier Bureau.

Après avoir ouvert les deux fichiers, j’ai commencé les tests sur GARANTIES.xlsm. J’ai constaté que ce fichier comporte, en plus de la feuille Accueil, trois feuilles intitulées GARANTIE 1, GARANTIE 2 et GARANTIE 3.

Lors de la sélection d’une garantie via la liste déroulante dans la feuille Accueil, le fichier m’oriente vers la feuille de la garantie correspondante dans Excel. Or, mon objectif est différent : lorsque je choisis la référence d’une garantie dans Excel, je souhaiterais que le support documentaire (extrait du PDF contenant toutes les garanties scannées) s’affiche immédiatement à côté.

Je tiens à souligner que j’apprécie les efforts que vous avez consentis pour préparer et partager ces fichiers, et je comprends que l’approche proposée est déjà proche de ce que je recherche. Toutefois, dans mon cas, il ne s’agit pas seulement de naviguer entre les feuilles Excel, mais bien de pointer directement vers la page ou la plage de pages correspondante dans le fichier PDF.

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour