Insertion fichiers pdf dans EXCEL par macro

Bonjour,
J’aimerais pouvoir sous EXCEL effectuer par macro l’attachement d’un fichier PDF sur chaque ligne d’un classeur, sachant que le nom du fichier est défini par la valeur d’une cellule.
Exemple : si en cellule A1, j’ai la valeur « BOB », j’aimerais pouvoir insérer sous la forme d’une icône le fichier C://Mes Documents/BOB.pdf et le redimensionner pour qu’il tienne dans la cellule B1.
De même en A2, si la valeur est « SAM », que le fichier SAM.pdf soit attaché en cellule B2…
Et ainsi de suite pour 120 lignes.

Est ce possible ?
Merci de m’aider !!!
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. Contributeur
    bonjour

    j’aimerais pouvoir insérer sous la forme d’une icône

    Quelle icône tu veux mettre car un fichier pdf n'en contient pas ?

    Ne serais-ce pas plutôt un lien hypertexte pour lancer son ouverture ?

    le redimensionner pour qu’il tienne dans la cellule B1

    Tu veux que le nom du fichier soit visible en entier ?

    Si c'est pour aller systématiquement sur le même répertoire, à quoi bon ?

    Si tu as "BOB" dans une cellule, tu peux très bien ouvrir C://Mes Documents/BOB.pdf, sans changer quoi que ce soit mais en utilisant une petite macro ou modifier ta cellule pour introduire un lien hypertexte manuellement ou par macro.

    A toi de nous dire.
    0
    1. En fait je voudrais élaborer une macro qui fasse automatiquement ce que l'on peit faire manuellement en faisant insertion, objet, insérer sous forme d'icone (et lier au fichier) un fichier qui dans ce cas est un pdf.
      Il se trouve que le nom des fichiers à joindre est le même que celui se trouvant dans les cellules de la première colonne mais créer un lien hypertexte ne marcherait pas dans mon cas car le classeur Excel est destiné à voyager vers plusieurs ordinateurs qui n'auront pas enregistré les fichiers pdf relatifs au lien.

      Hum j'espère que c'est assez clair!!

      merci de votre aide!!!
      0
      1. Contributeur
        bonjour

        Effectivement cette fois-ci c'est plus clair pour moi et je te mets la macro que j'ai codée, à insérer dans un module.
        J'utilise Foxit pour les pdf et à toi de remplacer le chemin par ton lecteur de pdf que tu utilises
        Sub lier_pdf()
        Dim lig As Long
        Dim ico As String
        Dim nom As String
        Dim rep As String
        
        ' modifier avec le bon chemin
        ico = "C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe"
        rep = "C:\Mes documents\"
        
        For lig = 1 To Cells(1, 1).SpecialCells(xlCellTypeLastCell).Row
                nom = Cells(lig, 1).Value
                ActiveSheet.OLEObjects.Add( _
                Filename:=rep & "\" & nom & ".pdf", _
                Link:=True, _
                DisplayAsIcon:=True, _
                IconFileName:=ico, _
                IconIndex:=0, _
                IconLabel:=nom).Select
                Selection.Left = Cells(lig, 2).Left
                Selection.Top = Cells(lig, 2).Top
                Selection.Height = Cells(lig, 2).Height
                Selection.Width = Cells(lig, 2).Width
        Next lig
        End Sub

        le classeur Excel est destiné à voyager vers plusieurs ordinateurs qui n'auront pas enregistré les fichiers pdf relatifs au lien.

        Là je ne suis pas sûr du tout que cela fonctionne car ce qui est enregistré, c'est bien un lien et non le pdf lui-même.
        Donc sur d'autres micros je doute fort que l'ouverture se fasse sauf si tu intègres les fichiers concernés.
        0
        1. tout d'abord merci pour la première macro!!

          Donc sur d'autres micros je doute fort que l'ouverture se fasse sauf si tu intègres les fichiers concernés

          Comment est ce que je peux faire en sorte que l'intégration se fasse ?

          encore merci
          0
        2. salut
          je pense qu'il faut copier tes fichiers pdf sur tous les micros !!
          0