Bonjour à tous,
J'ai créé la fonction personnalisé suivante :
Function Image_test( _
ByVal PictureName As String, _
ByVal FolderName As String) As Variant
Dim CellLoc As Excel.Range
Dim p As Picture
Dim ImagePath As String
Set CellLoc = Application.Caller.Offset(, 0)
ImagePath = FolderName & PictureName
Set p = CellLoc.Parent.Pictures.Insert(ImagePath)
p.Left = CellLoc.MergeArea.Left
p.Top = CellLoc.MergeArea.Top
If p.Width > CellLoc.MergeArea.Width Then p.Width = CellLoc.MergeArea.Width
If p.Height > CellLoc.MergeArea.Height Then p.Height = CellLoc.MergeArea.Height
'Center
If p.Width < CellLoc.MergeArea.Width Then p.Left = CellLoc.MergeArea.Left + (CellLoc.MergeArea.Width - p.Width) / 2
If p.Height < CellLoc.MergeArea.Height Then p.Top = CellLoc.MergeArea.Top + (CellLoc.MergeArea.Height - p.Height) / 2
End Function
Cette fonction est sensée insérée une image dans la cellule où elle se trouve, et adapter l'image sans la déformer à la cellule.
Cette fonction fonctionne plutôt bien , mais il arrive des fois que l'image soit un peu trop grande et pas totalement dans la case (elle est décalée). Cela arrive surtout quand la fonction est combinée à une macro de sélection de dossier qui écrit le chemin de l'image à insérer dans la case "répertoire", d'où le "FolderName" dans la fonction.
Malgré mes efforts je ne vois pas pourquoi cela bug parfois, avez vous des idées ?
Merci 8)