Sub AtteindrePdf()
Dim Sh As Shape, Spl() As String, Dossier As String, NomFic As String, _
FD As FileDialog, Page As Integer, NAT As String
Set Sh = ActiveSheet.Shapes(Application.Caller)
On Error Resume Next
Spl = Split(Sh.AlternativeText, "|")
Dossier = Spl(0): Page = Spl(1)
NomFic = Dir(Dossier & "\*.pdf")
On Error GoTo 0
If Dossier = "" Or NomFic = "" Or ModifierCibles Then
Set FD = Application.FileDialog(msoFileDialogFolderPicker)
If Dossier <> "" Then FD.InitialFileName = Dossier
FD.Title = "Choix du dossier contenant le PDF"
FD.Show
On Error Resume Next: Dossier = FD.SelectedItems(1)
NomFic = Dir(Dossier & "\*.pdf"): End If
If Page = 0 Or ModifierCibles Then
If Page = 0 Then Page = 1
Page = InputBox("Page ?", "Atteindre Pdf", Page): End If
NAT = Dossier & "|" & Page: If Sh.AlternativeText <> NAT Then Sh.AlternativeText = NAT
ThisWorkbook.FollowHyperlink Dossier & "\" & NomFic
If Page = 1 Then Exit Sub
Application.Wait Now + 1 / 86400 ' 1 jour / 86400 = 1 seconde
SendKeys "{DOWN " & Page - 1 & "}"
End Sub