Ouvrir un PDF à une page donnée

Signaler
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
-
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/101647-ouvrir-un-pdf-a-une-page-donnee

Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
127
Bonjour,
Merci jordane45 pour la mise à jour et la correction.
Problème résolu pour ma part
Cordialement
@+ Le Pivert
Messages postés
33680
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 octobre 2021
353
Bonjour,
Si je ne me trompe pas.. la mise à jour a bien été ajoutée.
Par contre j'ai corrigé les balises de code. Il semble que tu ais oublié d'y préciser le LANGAGE.
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
127
Bonjour,

Voici une nouvelle version, que je n'ai pas pu ajouter au snippet!
A mettre dans le module de la feuille qui recevra les infos.
Au premier double clic les infos sont enregistrées.
Ensuite le double clic sur le nom du PDF l'ouvre à la page souhaitée.

Option Explicit
Dim strPath As String
Dim ligne As Long
Dim colonne As Long
Dim page As Long
Dim nom As String
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then ' lien dans la colonne A, a adapter
On Error Resume Next
ligne = Target.Row
colonne = Target.Column
If Target.Value = "" Then
Ouvrir
page = InputBox("Entrez le numéro de page", "Choisir Page PDF", "1")
Cells(ligne, colonne + 2) = page
Else
nom = Target.Value 'nom fichier
strPath = Range("B" & ligne).Value 'chemin fichier
page = Range("C" & ligne).Value ' numero page
 ThisWorkbook.FollowHyperlink strPath
 SendKeys "+^n" & page & "~"
 SendKeys "{NUMLOCK}"
End If
End If
End Sub
'choisir pdf
Sub Ouvrir()
Dim intChoice As Integer
'Supprimer tous les autres filtres
Call Application.FileDialog(msoFileDialogOpen).Filters.Clear
'Ajouter un filtre personnalisé
Call Application.FileDialog(msoFileDialogOpen).Filters.Add( _
    "PDF Files Only", "*.pdf")
'faire la boîte de dialogue de fichier visible pour l'utilisateur
intChoice = Application.FileDialog(msoFileDialogOpen).Show
'déterminer quel choix l'utilisateur a fait
If intChoice <> 0 Then
    'obtenir le chemin de fichier sélectionné par l'utilisateur
    strPath = Application.FileDialog( _
        msoFileDialogOpen).SelectedItems(1)
    'le chemin du fichier dans la feuille 1
    Cells(ligne, colonne + 1) = strPath 'chemin fichier pdf
nom = Mid(strPath, InStrRev(strPath, "\") + 1)
Cells(ligne, colonne) = nom 'nom pdf
End If
End Sub



Voilà, bonne programmation

@+ Le Pivert
Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
127
Bonjour,

Dans la transcription du code, les antislash sont absents. Il faut lire:


C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe


Pour avoir le chemin, voir ceci de PCPT que je remercie:

http://www.codyx.org/snippet_recuperer-chemin-programme-associe-fichier-apres-son-extension_544.aspx#1708

remplacer ceci:

 '   retour
    If lRet > 32 Then
        GetExePathFileFromExtention = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
          'a ajouter
          Debug.Print GetExePathFileFromExtention
    Else
        GetExePathFileFromExtention = vbNullString
    End If


vous aurez votre chemin dans Execution en bas

J'espere que cette explication vous sera utile!

@+ Le Pivert