macro pour ouvrir pdf

  • Initiateur de la discussion Initiateur de la discussion ronan1108
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ronan1108

XLDnaute Nouveau
Bonjour,

j'ai sur un tableau excel des numéros de pièce de facture, montant, libellé, etc
je peux lier avec un lien hypertexte par exemple dans la cellule c2 (44102) à un pdf dont le nom du fichier pdf commence par 44102.
c'est assez long quand il y a beaucoup de liens à faire.

Est-il possible de faire une macro qui va chercher le pdf en cliquant sur la cellule et ainsi éviter de faire plein de lien hyper texte ? sachant que le pdf n'a pas le nom de la pièce (44102 par exemple) mais " 44102 aai.pdf "
"
mon fichier excel est dans un dossier et mes pdf sont également dans ce dossier.

est-ce possible ?

ou alors, créé sur le fichier excel une case où je viendrais rentrer le numéro de la pièce, je fais entrer et le pdf s'ouvre .

bonne journée
 

Pièces jointes

Re : macro pour ouvrir pdf

Bonsoir ronan1108,

Un essai dans le fichier joint. Cliquez sur une cellule de la colonne C pour ouvrir le ou les PDF.

le code est dans le module de code de la feuille "Base":
VB:
Option Explicit
Option Compare Text

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim tablo$(), n&, i&, fichier$, s$, dossier$

If Target.Row > 1 And Target.Column = 3 And Len(Trim(Target)) > 0 Then
  Cancel = True
  dossier = ThisWorkbook.Path
  If Right(dossier, 1) <> "\" Then dossier = dossier & "\"
  fichier = Dir(dossier & "*" & Trim(Target) & "*")
  Do While fichier <> ""
    n = n + 1: ReDim Preserve tablo(1 To n): tablo(n) = fichier: fichier = Dir
  Loop
  Select Case n
    Case 0
      MsgBox "Aucun fichier PDF ne contient " & Target
    Case 1
      ThisWorkbook.FollowHyperlink Address:=tablo(1), NewWindow:=True
    Case Else
      s = "Il existe " & n & " fichiers PDF contenant " & Target
      s = s & ". Veuillez saisir le N° du fichier ? :"
      For i = 1 To n
        s = s & vbLf & i & Space(3 - Len(CStr(i))) & " -> " & tablo(i)
      Next i
      On Error Resume Next: i = Int(InputBox(s)): On Error GoTo 0
      If i > 0 And i <= n Then
        ThisWorkbook.FollowHyperlink Address:=dossier & tablo(i), NewWindow:=True
      End If
  End Select
End If
End Sub
 

Pièces jointes

Re : macro pour ouvrir pdf

Salut, voir Manipulation des fichiers en VBA

et donc en utilisant qqch comme ceci, ou avec un Dir , plutôt qu'une usine à gags :
Code:
Option Explicit

Sub Tst()
Dim FSO As Object
Dim sCheminPdf As String, sNomFichier As String

    sCheminPdf = "....."
    sNomFichier = "....."
    Set FSO = Objecteur("Scripting.FileSystemObject")
    If FSO.fileExists(sCheminPdf & "\" & sNomFichier) Then
        '.....
    Else
        '.....
    End If
    Set FSO = Nothing
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
246
Réponses
3
Affichages
673
Retour