XL 2016 principalement lien d'une photo avec son nom de fichier

ivgu19

XLDnaute Junior
Bonjour le forum

Sur un tableau botanique pae ex, pouvez-vous m’indiquer d’une part comment retrouver le menu contextuel liée à une photo (voir pj contextuel que j’obtiens) je n’ai pas « taille et propriété » ou « déplacer et dimensionner » comme suggéré sur internet.

D’autre part, si c’est réalisable, j’aimerai savoir comment faire pour avoir sur une cellule consécutive le nom de fichier « iris.jpg » de la photo « iris" pour chaque insertion.

En vous remerciant

Ivgu19
 

Pièces jointes

  • menu contextuel.jpg
    menu contextuel.jpg
    170.7 KB · Affichages: 33

fanch55

XLDnaute Barbatruc
Pouvez vous me transmettre votre classeur pour comparaison?
Rien de spécial : c'est le dernier que vous avez fourni avec des macros amendées :
Les photos insérées sont des photos Apn
ivgu.gif
 

Pièces jointes

  • Jardin.xlsm
    255.1 KB · Affichages: 6

ivgu19

XLDnaute Junior
La macro insère en J l'image sélectonnée☺️😊
Toutes mes images ne sont pas carrées et donc ne remplissent pas la cellule.
Je peux l'étirer vers le bas ce qui ne prend pas beaucoup de temps mais peux-tu le prendre en charge dans la macro. La conservation des proportions n'est pas importantes pour des fleurs ou des fruits dans une cellule de 2x2cm
 

fanch55

XLDnaute Barbatruc
Toutes mes images ne sont pas carrées et donc ne remplissent pas la cellule.
la taille de l'image a été forcée "au mieux" ( en conservant les proportions ) pour s'insérer et être centrée dans la cellule .

Toutefois si vous préférez que l'image "remplisse" totalement la cellule en étirement sans prendre en compte les proportions :
VB:
Sub Insert_Me()
Dim Target, T
Dim S As Range: Set S = ActiveCell

    If S.Column = Columns("J").Column And S.Row > 2 Then
        S.RowHeight = 57: S.ColumnWidth = 10
        With Application.FileDialog(msoFileDialogFilePicker)
            .InitialView = msoFileDialogViewTiles
            .InitialFileName = Getpath(&H27) & "\*.jpg"
            .AllowMultiSelect = False
            .Filters.Clear
            .Filters.Add "Fichiers Photos", "*.jpg;*.jpeg"
            .Title = "Sélection d'une photo "
            .ButtonName = "Insérer"
            If .Show Then
                Target = .SelectedItems(1)
                S.Select
                With ActiveSheet.Pictures.Insert(Target)
                    .Name = Target
                    .Placement = xlMoveAndSize
                    .ShapeRange.LockAspectRatio = msoFalse
                    .Height = S.Height
                    .Width = S.Width
                End With
                T = InputBox("Entrez le nom explicite de la photo", "Description Photo", Target)
                With S.Offset(, 1)
                    .Value = IIf(T = "", Target, T)
                    .HorizontalAlignment = xlCenter
                    .VerticalAlignment = xlCenter
                    .Font.Bold = False
                    .Font.Name = "Calibri"
                    .Font.Size = 11
                End With
            End If
        End With
    Else
        MsgBox "Vous n'êtes pas en colonne J", vbCritical
    End If

End Sub