XL 2016 Manipulation d'un PDF à partir d'un activeX sur un UserForm

bidon123456789

XLDnaute Nouveau
Bonjour à tous

Données de départ

Je suis musicien pianiste, aimerait passer sur une lecture de mes partitions sur écran avec 2 pages affichées en même temps comme une véritable partition papier.
Je me suis procuré un portable pouvant se mettre en position tablette et avec écran tactile.
J'ai scanné certaines partitions pour les avoir en format PDF et ai testé des logiciels de lecture PDF (Acrobat Reader et d'autres...).
Afin d'avoir une écriture des notes assez grandes, je passe systématiquement en lecture plein écran. Sans cette fonctionnalité, et à cause de ma vue qui baisse, je n'arrive pas à lire correctement les notes ;-)...

Résultat

Pas mal mais pas assez fonctionnel pour jouer en concert sans risque de faire une mauvaise manipulation.
Par exemple :
  • L’opération de glisser avec un doigt sur l'écran pour passer à la page suivante ne fonctionne pas toujours correctement, et en pleine interprétation, devant un public, je ne peux pas me permettre un résultat inattendu...
  • En plein écran, les boutons permettant de passer à la page suivante ou précédente ne s'affichent pas...

Recherche

Je désire avoir un lecteur PDF qui, tout en restant plein écran (ou quasi plein écran à 90%), me permettre d'afficher de gros boutons très simples (en superposition de la partition si plein écran à 100%, ou en dessous de la partition si plein écran à 90%) me permettant de :
  • Me positionner sur la première page
  • Passer à la page précédente
  • Passer à la page suivante
  • Me positionner sur la dernière page
En effet, les boutons proposés par défaut par les lecteurs sont trop petits et bien souvent mélangés avec d'autres boutons qui ne me servent à rien (affichage trop complexe).

Début de développement

Environnement :
  • Windows 64 bits Famille 1903
  • Office Pro 2016 32 bits
J’ai créé un « UserForm » sous Excel comportant une liste de morceaux « ListBox1 » et des boutons de commande pour manipuler les pages : « Première page », « Page précédente », « Page suivante », « Dernière page ».

Première étape : Utilisation de l’activeX « WebBrowser »

J’ajoute l’activeX « WebBrowser » dans le « UserForm » : Menu « Outils/Contrôles supplémentaires », « Microsoft Web Browser » (C:\Windows\SysWOW64\ieframe.dll).
Je nomme cet objet « WebBrowser1 ».
Je programme l’événement « Click » de la façon suivante :

Private Sub ListBox1_Click()
WebBrowser1.Navigate "D:\<Dossier des partitions>" & "\" & ListBox1.Value
DoEvents
WebBrowser1.Refresh
End Sub

Tout ceci fonctionne correctement. Dès que je clique sur une ligne de la liste, le « WebBrowser » affiche le PDF correspondant.

Problème : Même si j’agrandis le UserForm en plein écran et que j’agrandis le « WebBrowser » sur la totalité de la UserForm tout en laissant les boutons accessibles (« page suivante » et « page précédente » par exemple), je n’arrive pas à programmer les événements « Click » de ces boutons pour changer de page… En fait, je n’arrive pas à accéder aux commandes PDF par l’intermédiaire du « WebBrowser ». Je suis donc bloqué !

Deuxième étape : Ouverture de l’outil « Adobe Acrobat PRO DC » (version 2019)


J’ajoute un bouton « Ouvrir le PDF dans Adobe » dans le « UserForm » et programme le clic du bouton pour exécuter « Adobe Acrobat PROC DC ».
Problème : Ne convient pas pour des raisons ergonomiques (pas de gros boutons de changement de pages).

Troisième étape : Ajout d’un activeX PDF


Alors là ! tout se complique, je n’arrive à aucun résultat positif…
J’essaie d’ajouter des contrôles dans le « UserForm » à partir du menu « Outils/Contrôles supplémentaires… »

Contrôle « Adobe Acrobat DC Browser Control Implementation » (C:\Program Files (x86)\Common).

Le logo d’Adobe s’affiche bien dans la liste des contrôles.
Lorsque je positionne la souris sur cette image, le « ToolTipText » s’affiche avec le libellé « Inconnu ».
Lorsque j’essaie de l’ajouter dans la « UserForm », j’ai le message d’erreur « Elément introuvable ».

Contrôle : « Adobe PDF Reader » (C:\Program Files (x86)\Common).

Un logo supplémentaire apparaît (un carré avec cadre et quadrillages… pas de logo spécifique à Adobe).
Lorsque je positionne la souris sur cette image, le « ToolTipText » s’affiche avec le libellé « AcroPDF ».
Lorsque j’essaie de l’ajouter dans la « UserForm », j’ai le message d’erreur « Elément introuvable ».

Contrôle « A plugin to detect whether the Adobe Application Manager is installed on this machine » (C:\Program Files (x86)\Common).

Un logo supplémentaire apparaît (un carré avec cadre et quadrillages… pas de logo spécifique à Adobe).
Lorsque je positionne la souris sur cette image, le « ToolTipText » s’affiche avec le libellé « Inconnu ».
Lorsque j’essaie de l’ajouter dans la « UserForm », j’ai le message d’erreur « Erreur non répertoriée ».

Contrôle « Select Page Range Control Objet. » (C:\Program Files (x86)\Adobe\Acrobat).

Le logo d’Adobe s’affiche bien dans la liste des contrôles.
Lorsque je positionne la souris sur cette image, le « ToolTipText » s’affiche avec le libellé « Inconnu ».
Lorsque j’essaie de l’ajouter dans la « UserForm », j’ai le message d’erreur « Bibliothèque non inscrite ».

Afin de limiter les risques des références à des dll introuvables, j’ai ajouté toutes les références que j’ai pu voir apparaître concernant le produits « Adobe » dans le menu « Outils/Références ».
Je reste donc bloqué sur la possibilité d’utiliser un activeX d’Adobe dans une « UserForm » me permettant d’accéder à la manipulation des pages en plein écran avec quelques boutons de manipulations simples de pages...

Merci d’avance pour vos idées et vos éventuelles solutions.
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Salut, à toi de voir, tester et adapter à ton contexte
Visualisation d'un fichier PDF dans une UserForm
Visualisation d'un fichier PDF dans une UserForm via IExplorer
Visualisation d'un fichier PDF dans une UserForm via IExplorer ( suite )
Visualisation d'une liste de fichiers PDF dans une UserForm via IExplorer

Il y a aussi ceci : PDFCreator Extraction de pages d'un catalogue PDF et insertion de ces PDF en réduction sur une feuille Excel

Étant définitivement fâché ( voire plus ) avec le pinpin Belge et ses mignons de couchette de Dev.com j'ai supprimé l'ensemble des téléchargements ( 110 au bas mot ), d'où les liens internes de téléchargement caduques. Ces téléchargements sont tjs disponibles sur mon PC, s'il y a une demande.
 

Pièces jointes

  • 1.jpg
    1.jpg
    134.2 KB · Affichages: 88
Dernière édition:

Statistiques des forums

Discussions
312 103
Messages
2 085 316
Membres
102 860
dernier inscrit
fredo67