عليك السلام ورحمة الله وبراكاته
اليك هذا الكود وجدته في احد المنتديات الاجنبية ذات وقت وكان عندي
هذا الكود تضعه في الموديل
وبعدها
تذهب الى bar formula في تبويت fx في مكان تاوجد المعادلات تجد personalesé
تجد معادلة تظهر لك بأسم AfficheImage حدد اي خلية التي تريد ان تكون صورة وجرب لعلها تعيطك النتيجة او يقوم الاساتدة الكرام بتعديل حسب طلبك
Function AfficheImage(NomImage, Optional rep)
Application.Volatile
If IsMissing(rep) Then rep = ThisWorkbook.Path & "\"
Set f = Sheets(Application.Caller.Parent.Name)
Set adr = Application.Caller
temp = NomImage & "_" & adr.Address
Existe = False
For Each s In adr.Worksheet.Shapes
If s.Name = temp Then Existe = True
Next s
If Not Existe Then
For Each k In adr.Worksheet.Shapes
p = InStr(k.Name, "_")
If Mid(k.Name, p + 1) = adr.Address Then k.Delete
Next k
If Dir(rep & NomImage) = "" Then
AfficheImage = "Inconnu"
Else
Set myShell = CreateObject("Shell.Application")
If TypeName(rep) = "Range" Then
Set myFolder = myShell.Namespace(rep.Value)
Else
Set myFolder = myShell.Namespace(rep)
End If
Set myFile = myFolder.Items.Item(NomImage)
Taille = myFolder.GetDetailsOf(myFile, 26)
H = Val(Split(Taille, "x")(1))
L = Val(Split(Taille, "x")(0))
Ech = adr.Height / H
H = H * Ech
L = L * Ech
f.Shapes.AddPicture(rep & NomImage, True, True, adr.Left, adr.Top, L, H).Name = NomImage & "_" & adr.Address
AfficheImage = "ok"
End If
End If
End Function