Imprimer un pdf à partir d'un lien hypertexte

TIZYX Messages postés 1 Statut Membre -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
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

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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à

    0