Ouvrir une revue.pdf recherchée par VBA à la page concernée

Bonjour

En septembre 2024 j’avais obtenu de Galopin01 (encore merci), une macro me permettant a partir d’une liste de revues .pdf en cliquant droit sur le nom de la revue d’afficher celle-ci à l’écran

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

Cancel = True

Dim S$, Chemin$

On Error GoTo GESTERR

If Target.Count = 1 Then

If Target.Column = 7 Or Target.Column = 14 And Left(Target, 3) = "Fou" Then

Chemin = "C:\monfichier\"

S = Target

If Dir(Chemin & S) <> "" Then

ActiveWorkbook.FollowHyperlink Chemin & S

Else

GoTo GESTERR

End If

End If

End If

Exit Sub

GESTERR:

MsgBox "Fichier introuvable !" & Chr(13) & "(Mal orthographié ?)"

End Sub

Ceci fontionne très bien

Cerise sur le gateau pourrait -on ouvrir la revue à la page concernée qui est indiquée dans le fichier à droite du nom de la revue.

Merci pour l'aide

Paulea

Edit Modo : pour poster un code, pensez à utiliser les balises de codes en cliquant sur l'icone </> dans la barre de menu

Bonsoir

Teste ce code, j'ai fais un essai concluant chez moi avec un fichier .pdf de 100 pages

il faut modifier cette ligne chez toi par rapport au chemin ou se situe tes fichiers .pdf

Chemin = "C:\Users\Utilisateur\Downloads\"

il faut modifier cette ligne chez toi par rapport au chemin ou se situe l'.exe d'ouverture des fichiers .pdf

Commande = """C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe"" "

Code fonctionnel et testé chez moi sur 1 fichier

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    Dim NomFichier As String, Chemin As String, Page As Integer
    Dim Commande As String
    On Error GoTo GESTERR
    If Target.Count = 1 Then
        If Target.Column = 7 And Left(Target.Value, 3) = "Fou" Then
            Chemin = "C:\Users\Utilisateur\Downloads\" '*******il faut modifier cette ligne puisque pour des essais j'ai mis ce chemin existant chez moi avec un fichier .pdf
            NomFichier = Target.Value
            Page = Cells(Target.Row, 8).Value + 1
            If Dir(Chemin & NomFichier) <> "" Then
                Commande = """C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe"" " & _
                    "/A ""page=" & Page & """ """ & Chemin & NomFichier & """"  '*******il faut modifier cette ligne """C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe"" " puisque pour des essais j'ai mis le chemin de l'.exe de mon Adobe
                Shell Commande, vbNormalFocus
            Else
                GoTo GESTERR
            End If
        End If
    End If
    Exit Sub
GESTERR:
    MsgBox "Fichier introuvable !" & vbCrLf & "(Mal orthographié ?)"
End Sub

Slts

Bonsoir BOSS_68

merci pour ton retour rapide, j'ai testé dans mon fichier excel que j'ai copié dans Downloads pour changer le moins de choses possible dans ton code.

j'ai donc "c:\Users\Michel\Downloads\" et pour la ligne command je n'ai rien changé vu que j'ai le même logiciel Acrobat DC que toi et au même emplacement.

dans mon fichier Excel j'ai ajouté un titre en haut de la colonne 7 NomFichier qui était blanc et j'ai remplacé colonne 8 PAGE par Page (pour me rassurer.)

je ne sais où je bug mais j'ai un pop" fichier non trouvé". Te serait il possible de faire 1 essai avec mon fichier joint au post d'hier

merci pour ton aide

code vba

Bonjour Paulea

Oui j'ai testé la macro qui se trouve dans l'onglet de la feuille "Trier par X pour tout" et ton fichier est fonctionnel chez moi mise à part qu'il ne s'ouvre pas à la page demandé c'est normal puisque c'est la macro d'origine

Sur le fichier que je t'ai joint "Forum" j'ai modifier la macro qui se trouve dans l'onglet de la feuille "Trier par X pour tout" et ton fichier est fonctionnel chez moi, et il s'ouvre bien à la page demandé, par contre à la place du clic droit j'ai mis un double clic je trouve ça plus logique et plus simple.

Je t'ai mis un exemple visuel pour te montrer que chez moi c'est fonctionnel

forum0

Ci-joint ton fichier "Forum" avec la macro qui est fonctionnel chez moi par double clic et pour l'onglet "Trier par X pour tout"
Ps: Si le double clic ne te convient tu peux facilement modifier la ligne puisqu'elle est encore existante dans la macro il suffit d'enlever l'apostrophe du clic droit et mettre l'apostrophe dans la ligne du double clic

17forum.zip (625.28 Ko)

Slts

1000 Mercis à toi BOSS_68 ca fonctionne maintenant super bien.

et c'est tellement plus pratique.

Paulea

Bonjour Paulea

Super

Slts

Rechercher des sujets similaires à "ouvrir revue pdf recherchee vba page concernee"