Insérer un pdf dans un cellule

Bonjour,

J'aimerais savoir s'il serait possible d'insérer un pdf dans une cellule prédéfinie à l'aide d'une macro?

J'arrive à insérer un pdf mais seulement dans la cellule active. Voici mon code :

Sub insertpdf()

fileToOpen = Application.GetOpenFilename("pdf Files (*.pdf), *.pdf")

If fileToOpen <> False Then

ActiveSheet.OLEObjects.Add(Filename:= fileToOpen, Link:=False, DisplayAsIcon:=False).Select

Selection.ShapeRange.ScaleWidth 0.54, msoFalse, msoScaleFromTopLeft

Selection.ShapeRange.ScaleHeight 0.4, msoFalse, msoScaleFromTopLeft

Else

MsgBox "pas de fichier selectionné"

End If

End Sub

Etant novice en VBA, je me permets de solliciter votre aide.

Quelqu'un pourrait m'aider?

Bonjour,

Si le code que tu as joint .... fonctionne déjà ... il te suffit de remplacer Range("B12") par ta cellule ...

Sub insertpdf()
     fileToOpen = Application.GetOpenFilename("pdf Files (*.pdf), *.pdf")
     If fileToOpen <> False Then
        ActiveSheet.OLEObjects.Add(Filename:= fileToOpen, Link:=False, DisplayAsIcon:=False).Select
        Range("B12").ShapeRange.ScaleWidth 0.54, msoFalse, msoScaleFromTopLeft
        Range("B12").ShapeRange.ScaleHeight 0.4, msoFalse, msoScaleFromTopLeft
     Else
        MsgBox "pas de fichier selectionné"
     End If
End Sub

Bonjour,

ça ne marche pas, ça m'écrit "erreur d'execution 438", "Propriété ou méthode non gérée par cet objet" en utilisant ce code.

Et l'erreur se situe sur cette ligne :

Range("B369").ShapeRange.ScaleWidth 0.54, msoFalse, msoScaleFromTopLeft

Re,

C'est bien l'impression initiale que j'avais ... ... parce que vouloir insérer un pdf dans une cellule ... ce n'est pas banal ...

Quel est ton véritable objectif ...?

Bonjour à tous,

Une solution simple est de sélectionner la cellule de destination avant d'insérer le PDF

Quelque chose comme ça :

Range("B369").Select
ActiveSheet.OLEObjects.Add(Filename:= fileToOpen, Link:=False, DisplayAsIcon:=False).Select

Mon objectif ést d'insérer un fichier PDF à partir d'une cellule selectionné, dans mon cas, le PDF sont des fiches de soudeur qui s'inséreront à côté de leur nom.

La solution de vba-new fonctionne trés bien.

Merci beaucoup à vous deux pour votre temps.

La méthode par sélection de cellules n'étant pas la plus "esthétique", il vaudra mieux jouer sur les propriétés Top et Left.

Ex :

Sub insertpdf()
    fileToOpen = Application.GetOpenFilename("pdf Files (*.pdf), *.pdf")
    If fileToOpen <> False Then
        ActiveSheet.OLEObjects.Add(Filename:=fileToOpen, Link:=False, DisplayAsIcon:=False).Select
        With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
            .ScaleWidth 0.54, msoFalse, msoScaleFromTopLeft
            .ScaleHeight 0.4, msoFalse, msoScaleFromTopLeft
            .Top = Range("B369").Top
            .Left = Range("B369").Left
        End With
    Else
        MsgBox "pas de fichier selectionné"
    End If

End Sub
vba-new a écrit :

La méthode par sélection de cellules n'étant pas la plus "esthétique", il vaudra mieux jouer sur les propriétés Top et Left.

@ vba-new,

Indiscutablement, dès que l'on manipule des Shapes, ... Top et Left deviennent indispensables ...

Et comment je pourrais faire pour que tout mon fichier PDF s'affiche, car seulement la première page du PDF s'affiche.

Est-ce possible car ça à l'air plutôt compliqué vu que le pdf s'affiche dans un cadre.

Re,

Mais que se passe-t-il si tu double-clickes sur le document ...

Rechercher des sujets similaires à "inserer pdf"