Lien hypertexte vers pdf

annov

XLDnaute Occasionnel
Bonsoir,

J'ai un classeur avec listes de choix dans lequelles le choix apparait sous forme de lien hypetext vers un fichier pdf , jusque là pas de problème .Le soucis c'est que je souhaite ouvrir le cataloque pdf à une page prècise et non au début du pdf(afin d'éviter le défilement jusqu'à la bonne page) .J'ai recherché des solutions sur le net .Exemple en mettant #page=9. à la fin du lien mais sans succès . Apparemment je ne suis pas le seul à rechercher cette solutuion . Existe t'il une solution à ce problème ou est-ce tout simplement impossible?

Merci
 

job75

XLDnaute Barbatruc
Re : Lien hypertexte vers pdf

Bonjour annov, le forum,

Fallait y penser :mad:

Il suffit d'exécuter SendKeys après (!!!) ThisWorkbook.FollowHyperlink :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s, fichier$, page$
If Target.Address = "$B$3" And Target.Cells(1, 1) <> "" Then
  On Error Resume Next 'si s(1) n'existe pas
  s = Split(Target, " Page ")
  fichier = s(0)
  page = s(1)
  ThisWorkbook.FollowHyperlink ThisWorkbook.Path & "\" & fichier
  If Right(fichier, 3) = "pdf" And IsNumeric(page) Then _
    SendKeys "+^n" & page & "~"
End If
End Sub
Cette version (6) fonctionne donc sur Excel 2003 et Excel 2010.

A+
 

Pièces jointes

  • Ouvrir pdf(6).zip
    38 KB · Affichages: 57

job75

XLDnaute Barbatruc
Re : Lien hypertexte vers pdf

Re,

On peut aussi envoyer les touches {DOWN n} :

Code:
If Right(fichier, 3) = "pdf" And page > "1" Then _
  SendKeys "{DOWN " & page - 1 & "}"
A+
 

Pièces jointes

  • Ouvrir pdf(6bis).zip
    37.8 KB · Affichages: 78

DoudouNours

XLDnaute Junior
Re : Lien hypertexte vers pdf

Bonjour messieurs,

Après avoir lu et téléchargé tous vos exemples, je n'arrive pas à faire ce que je veux.
Voila, je cherche à faire comme vous, c'est à dire "un lien vers PDF sur un page précise"

La différence est que j'ai des cellules fusionnées et qu'on puisse cliquer soit sur le texte, soit sur la photo.

Pour l'exemple: Première cellule vers la page 5 // deuxième cellule vers la page 8

Merci pour votre aide si vous êtes toujours là.:)
 

Pièces jointes

  • Page précise vers PDF.zip
    38.7 KB · Affichages: 27
  • Page précise vers PDF.zip
    38.7 KB · Affichages: 28
  • Page précise vers PDF.zip
    38.7 KB · Affichages: 26

job75

XLDnaute Barbatruc
Re : Lien hypertexte vers pdf

Bonjour DoudouNours,

Le problème que vous présentez est intéressant.

Je l'ai étudié sur mon ordi avec Excel 2003.

Le problème, c'est que les liens sur les images ne créent pas d'évènement FollowHyperlink.

Alors j'ai bricolé une solution :

- les nouveaux liens hypertextes conduisent aux cellules A1 et B1 (j'ai masqué la ligne)

- ils déclenchent alors la macro Worksheet_SelectionChange qui elle même conduit au fichier pdf

- l'envoi de touches nécessite une temporisation par OnTime sur Excel 2003.

- sur mon portable avec Excel 2010, la temporisation n'est plus nécessaire.

Notez aussi que j'utilise les info-bulles des liens hypertextes.

Fichiers joints.

A+
 

Pièces jointes

  • Page précise vers PDF(1).zip
    44.6 KB · Affichages: 38

DoudouNours

XLDnaute Junior
Re : Lien hypertexte vers pdf

Merci kiki29 mais la solution de job75 me convient le mieux.

Job75, après l'analyse de ta formule, je remarque que l'on ne peux accéder au PDF que s'il se trouve dans le même dossier que le fichier Excel.

Comment puis-je faire s'il se trouve dans un autre dossier ou sur un serveur.
J'ai déjà essayé de copier le chemin entier du PDF mais cela ne fonctionne pas.

Merci du coup de main

A+
 

job75

XLDnaute Barbatruc
Re : Lien hypertexte vers pdf

Bonjour DoudouNours,

Que puis-je vous répondre ?

A priori il est évident que dans Worksheet_SelectionChange, il faut remplacer ThisWorkbook.Path par le chemin d'accès du fichier pdf (entre guillemets).

Encore faut-il que ce chemin d'accès soit correct...

Edit : le chemin d'accès dépend peut-être de l'utilisateur ??

Il suffit alors de le paramétrer en utilisant Environ("UserName")...

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Lien hypertexte vers pdf

Re,

Ah mais pardon, sous Excel 2003 il est bien mieux de temporiser par Application.Wait :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim test As Boolean, page%
test = Target.Address = "$A$1"
If test Or Target.Address = "$B$1" Then
  IIf(test, [B7], [D7]).Select
  page = IIf(test, 5, 8)
  ThisWorkbook.FollowHyperlink ThisWorkbook.Path & "\Page precise.pdf"
  Application.Wait Now + 3 / 86400 'Excel 2003 => temporisation 3 secondes
  SendKeys "{DOWN " & page - 1 & "}"
End If
End Sub
Version (2).

A+
 

Pièces jointes

  • Page précise vers PDF(2).zip
    43.5 KB · Affichages: 26

DoudouNours

XLDnaute Junior
Re : Lien hypertexte vers pdf

Mince, je ne pige pas trop.

Voila ce que j'ai rentré dans VBA

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim test As Boolean, page%
test = Target.Address = "$A$1"
If test Or Target.Address = "$B$1" Then
  IIf(test, [B7], [D7]).Select
  page = IIf(test, 5, 8)
  ThisWorkbook.FollowHyperlink ThisWorkbook.Path & "\C:\Documents and Settings\Administrateur\Bureau\Mes essai lien vers PDF\not_nlc_association_modules_cutter_coda_aspi_digit_A.pdf"
  Application.Wait Now + 3 / 86400 'Excel 2003 => temporisation 3 secondes
  SendKeys "{DOWN " & page - 1 & "}"
End If
End Sub

Et voila ce que j'ai rentré dans l'infobule des lien Hypertextes de AZERTY et de son image:

C:\Documents and Settings\Administrateur\Bureau\Mes essai lien vers PDF\not_nlc_association_modules_cutter_coda_aspi_digit_A.pdf-Page=5

Voyez vous pourquoi il me demande un débug?

Merci

A+
 

job75

XLDnaute Barbatruc
Re : Lien hypertexte vers pdf

Re,

Mince, je ne pige pas trop.

Dommage, et pourtant, de nouveau, il est archi évident qu'au lieu de :

Code:
ThisWorkbook.FollowHyperlink ThisWorkbook.Path & "\C:\Documents and Settings\Administrateur\Bureau\Mes essai lien vers PDF\not_nlc_association_modules_cutter_coda_aspi_digit_A.pdf"
il faut écrire :

Code:
ThisWorkbook.FollowHyperlink "C:\Documents and Settings\Administrateur\Bureau\Mes essai lien vers PDF\not_nlc_association_modules_cutter_coda_aspi_digit_A.pdf"
Edit : on peut mettre ce que l'on veut dans les info-bulles, elles ne servent qu'à afficher une information...

A+
 
Dernière édition:

DoudouNours

XLDnaute Junior
Re : Lien hypertexte vers pdf

Excusez mon coté débutant confirmé car c'est vrai lol.
Merci JOB

Si plus tard je veux rajouter des liens vers le même PDF mais toujours des pages différentes, dois-je logiquement procéder comme par exemple pour 4 pages différentes:

IIf(test, [B7], [D7], [F7], [H7]).Select
page = IIf(test, 5, 2, 3, 4)
Est-bien Cela ?
 

Discussions similaires