Macro excel pour insertion image avec redime

Résolu
antaub -  
 jy -
Bonjour,

Je souhaite enregistrer une macro me permettant d'insérer une image (située dans un repertoire de mon disque dur) dans la cellule active ou je serai. Je souhaite que cette photo soit redimensionnée automatiquement à la taille de cellule initiale. Mais aussi par la suite, qu'elle suive la hauteur de la ligne et de la colonne si je modifie la hauteur et la largeur des colonnes et des lignes.

Ainsi, je n'aurai plus besoin de redimensionner manuellement chaque photo au moindre changement de hauteur ou de largeur de mes colonnes.

J'avais trouvé une macro parfaite pour cette utilisation. Mais impossible de remettre la main dessus.

Au plaisir de vous lire.
Configuration: Windows XP
Firefox 2.0.0.14

3 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    J'espère que ceci correspond à ta demande
    Public Sub insere_image()
    Dim ficimg As Variant
        ficimg = Application.GetOpenFilename(".jpg,*.jpg", , "Choisissez l'image")  ' choix nom du fichier
        ActiveSheet.Pictures.Insert(ficimg).Select ' insertion
        With Selection.ShapeRange
            .LockAspectRatio = False        ' proportions d'origine lorsque vous la redimensionnez
            .Top = ActiveCell.Top           ' haut de la cellule
            .Left = ActiveCell.Left         ' gauche de la cellule
            .Height = ActiveCell.RowHeight  ' hauteur de la cellule
            .Width = ActiveCell.Width ' largeur de la cellule
        End With
        With Selection
            .PrintObject = True             ' l'objet est imprimé en même temps que le document
            .Placement = xlMoveAndSize      ' manière dont l'objet est lié aux cellules
        End With
    End Sub
    
    8
    1. antaub
       
      Super. c'est pile poile ce que je voulais.

      Merci beaucoup !!!
      0
    2. ae
       
      comment puis-je faire la même chose pour plusieurs photos en même temps?
      0