Imprimer un pdf à partir d'un lien hypertexte

Signaler
Messages postés
1
Date d'inscription
jeudi 10 juin 2021
Statut
Membre
Dernière intervention
10 juin 2021
-
Messages postés
7413
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 juin 2021
-
Bonjour,


Je travail sur Excel 2016 et j'imprime beaucoup, j'ai un tableau Excel avec pleins de lien hypertexte PDF .

je perd pas mal de temps a devoir cliquer sur les liens , les pdf s'ouvre et je doit imprimer les pdf et ensuite fermer les pdf .

est-il possible de faire une manip pour que quand je clique sur un lien hypertexte PDF ça m'ouvre automatiquement le pdf ,l'imprime et le referme .

PS: je ne connais absolument rien en macro donc si il faut en faire une ça serait sympa d'expliquer étape par étape .

merci d'avance si quelqu'un a le la volonté de répondre .





Configuration: Windows / Chrome 91.0.4472.77

1 réponse

Messages postés
7413
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 juin 2021
637
Bonjour,

voir ceci:

https://excel-malin.com/vba-astuces/imprimer-fichier-pdf-avec-vba-dans-excel/

et pour récupérer le chemin du lien hypertexte:

https://forums.commentcamarche.net/forum/affich-22238940-recuperer-une-adresse-de-lien-en-vba-excel#4

Se mettre sur la feuille qui contient les liens et faire Alt F11 pour accéder à l'éditeur

Mettre ce code dans le module de la feuille qui se déclenchera lors du clic droit sur le lien:

Option Explicit
Dim lien As String
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Value = "" Then Exit Sub
If Range(Target.Address).Hyperlinks.Count > 0 Then
    lien = Range(Target.Address).Hyperlinks(1).Address
End If
ImpressionDeFichier
End Sub
Sub ImpressionDeFichier()
'par Excel-Malin.com ( https://excel-malin.com )
Dim FichierAImprimer As Variant

FichierAImprimer = lien '<-- chemin complet du fichier à imprimer
    CreateObject("Shell.Application").Namespace(0).ParseName(FichierAImprimer).InvokeVerb ("Print")
End Sub
Public Function ImprimerFichier(FichierAImprimer As Variant)
'par Excel-Malin.com ( https://excel-malin.com )

    CreateObject("Shell.Application").Namespace(0).ParseName(FichierAImprimer).InvokeVerb ("Print")
End Function


voilà