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
 

DoudouNours

XLDnaute Junior
Re : Lien hypertexte vers pdf

J'ai découvert excel il y a deux ans env et VBA que depuis Mars de cette Année. mais j'essaye d'apprendre seul et sans bouquin donc je suis un peu à la traine mais je me connais et j'y arriverai.

En tout cas merci bien pour ton aide Job75.
Je vais me dépatouiller.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Lien hypertexte vers pdf

Bonjour DoudouNours, le forum,

je n'avais plus le temps hier soir, je devais m'absenter.

Voici une solution pour un nombre quelconque de liens/pages :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Pages, i As Byte
Pages = Array(5, 2, 3, 4)
For i = 0 To UBound(Pages)
  If Target.Address = [A1].Offset(, i).Address Then
    [B7].Offset(, 2 * i).Select
    ThisWorkbook.FollowHyperlink ThisWorkbook.Path & "\Page precise.pdf"
    Application.Wait Now + 3 / 86400 'Excel 2003 => temporisation 3 secondes
    SendKeys "{DOWN " & Pages(i) - 1 & "}"
    Exit Sub
  End If
Next
End Sub
Version (3).

A+
 

Pièces jointes

  • Page précise vers PDF(3).zip
    44.5 KB · Affichages: 32

DoudouNours

XLDnaute Junior
Re : Lien hypertexte vers pdf

Super, moi j'avais inscris ça:

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, 2)
  ThisWorkbook.FollowHyperlink "C:\Documents and Settings\Administrateur\Bureau\Mes essai lien vers PDF\not_nlc_association_modules_cutter_coda_aspi_digit_A.pdf"
  SendKeys "{DOWN " & page - 1 & "}"
End If
test = Target.Address = "$C$1"
If test Or Target.Address = "$D$1" Then
  IIf(test, [B7], [D7]).Select
  page = IIf(test, 3, 4)
  ThisWorkbook.FollowHyperlink "C:\Documents and Settings\Administrateur\Bureau\Mes essai lien vers PDF\not_nlc_association_modules_cutter_coda_aspi_digit_A.pdf"
  SendKeys "{DOWN " & page - 1 & "}"
End If
End Sub

Mais la tienne est plus simple et plus courte

J'ai tout de même enlevé la temporisation car effectivement elle n'est plus utile sur Excel 2007

A+
 

job75

XLDnaute Barbatruc
Re : Lien hypertexte vers pdf

Bonjour DoudouNours, le forum,

Une autre solution (4) où l'on utilise la page indiquée par l'info-bulle :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim page%
If Selection.Rows.Count = 9 Then 'si 9 lignes sélectionnées
  On Error Resume Next
  page = Split(ActiveCell.Hyperlinks(1).ScreenTip, "=")(1) 'utilisation de l'info-bulle
  If page Then
    ActiveCell.Select
    ThisWorkbook.FollowHyperlink ThisWorkbook.Path & "\Page precise.pdf"
    Application.Wait Now + 3 / 86400 'Excel 2003 => temporisation 3 secondes
    SendKeys "{DOWN " & page - 1 & "}"
  End If
End If
End Sub
Bien regarder les adresses des liens hypertextes.

A+
 

Pièces jointes

  • Page précise vers PDF(4).zip
    51.6 KB · Affichages: 30
Dernière édition:

job75

XLDnaute Barbatruc
Re : Lien hypertexte vers pdf

Bonjour DoudouNours, le forum,

Dernière chose, si les liens conduisent à plusieurs fichiers, on peut utiliser cette version (5) :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim s
If Selection.Rows.Count = 9 Then 'si 9 lignes sélectionnées
  On Error Resume Next
  s = Split(ActiveCell.Hyperlinks(1).ScreenTip, "-Page=") 'utilisation de l'info-bulle
  If Err = 0 Then
    ActiveCell.Select
    ThisWorkbook.FollowHyperlink ThisWorkbook.Path & "\" & s(0) 'pour ici
    'ThisWorkbook.FollowHyperlink s(0) 'si chemin d'accès dans l'info-bulle
    Application.Wait Now + 3 / 86400 'Excel 2003 => temporisation 3 secondes
    SendKeys "{DOWN " & s(1) - 1 & "}"
  End If
End If
End Sub
A+
 

Pièces jointes

  • Page précise vers PDF(5).zip
    78.5 KB · Affichages: 37

Discussions similaires

Statistiques des forums

Discussions
312 464
Messages
2 088 630
Membres
103 894
dernier inscrit
tanyroc