Private Sub deImageAFeuille(monImage, sht As Worksheet, r As Integer, c As Integer)
Dim pic As String, L As Double, T As Double
Dim Sh As Shape
pic = ThisWorkbook.Path & "\" & Format(Now, "yymmdd hhmmss") & ".jpg"
SavePicture monImage.Picture, pic
For Each Sh In sht.Cells(r, c).Parent.Shapes
If Sh.Name = pic _
Or (Sh.Top = sht.Cells(r, c).Top And Sh.Left = sht.Cells(r, c).Left) Then Sh.Delete
Next Sh
L = sht.Cells(r, c).Left: T = sht.Cells(r, c).Top
With sht.Shapes.AddPicture(FileName:=pic, linktofile:=msoFalse, savewithdocument:=msoCTrue, Left:=L, Top:=T, Width:=-1, Height:=-1)
.Placement = xlMove
.OLEFormat.Object.PrintObject = msoTrue
.OLEFormat.Object.Locked = msoTrue
End With
For Each Sh In sht.Cells(r, c).Parent.Shapes
If (Sh.Left = sht.Cells(r, c).Left) Then
sht.Range("F" & c).ColumnWidth = 30 'Sh.Width
sht.Range("A" & r).RowHeight = Sh.Height
End If
Next Sh
Kill pic
End Sub