Insertion fichiers pdf dans EXCEL par macro

Fermé
Jeremie31 - 22 janv. 2009 à 19:31
 user - 31 mars 2012 à 00:03
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 !!!
A voir également:

3 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
22 janv. 2009 à 21:07
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
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
23 janv. 2009 à 10:01
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
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
salut
je pense qu'il faut copier tes fichiers pdf sur tous les micros !!
0