Macro - Rogner un objet pour intégration dans une cellule

]Bonjour à tous,

J'ai un tableau à deux colonnes. La première colonne est une série de références. A chacune de ces références est assigné un fichier pdf existant. Mon but est donc de créer automatiquement des liens vers ces fichiers pdf.

La deuxième colonne est donc créée à partir de la première : je crée automatiquement un objet de type .pdf.

Mon problème est que je ne peux pas gérer la taille de l'objet ainsi crée. Par soucis de lisibilité, je voudrais que ces objets soient dimensionnés et directement intégrés dans une cellule. Je sais que l'option "Déplacer et dimensionner les cellules" existe mais cela ne fonctionne pas dans mon cas puisque je voudrais que l'opération soit automatique.

Vous trouverez en PJ l'objets crée en taille originale, et un exemple de la taille que je voudrais obtenir. :

Existe-t-il une macro pour rogner un objet ? De même, existe-t-il une formule pour enlever l'option proportionnalité lorsqu'on redimensionne un objet ?

Voici mon code :

Sub lier_pdf()

Dim lig As Long

Dim ico As String

Dim nom As String

Dim rep As String

ico = "C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe"

rep = "Dossier dans lequel sont stockés les fichiers pdf"

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:=0, _

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

J'espère avoir été clair. Merci d'avance pour votre précieuse aide !!

Pierre

origine redimensionne

Bonjour,

Je n'ai pas testé mais essai avec une variable OleObject pour voir :

Sub lier_pdf()

    Dim lig As Long
    Dim ico As String
    Dim nom As String
    Dim rep As String
    Dim Img As OLEObject

    ico = "C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe"
    rep = "Dossier dans lequel sont stockés les fichiers pdf"

    For lig = 1 To Cells(1, 1).SpecialCells(xlCellTypeLastCell).Row

        nom = Cells(lig, 1).Value

        Set Img = ActiveSheet.OLEObjects.Add( _
        Filename:=rep & "\" & nom & ".pdf", _
        Link:=True, _
        DisplayAsIcon:=True, _
        IconFileName:=0, _
        IconIndex:=0, _
        IconLabel:=nom)

        Img.Left = Cells(lig, 2).Left
        Img.Top = Cells(lig, 2).Top
        Img.Height = Cells(lig, 2).Height
        Img.Width = Cells(lig, 2).Width

    Next lig

End Sub

Hervé.

Bonjour,

Pourquoi ne pas mettre un lien texte plus simplement ?

eric

Bonjour,

ou même sans lien via l'évènement du double clic par exemple ! …

Bonjour,

Merci pour vos réponses ! Effectivement, avec l'évènement double click, c'est beaucoup plus facile!

Merci à vous!

Bonne journée,

Pierre

Rechercher des sujets similaires à "macro rogner objet integration"