I don't have time at the moment but this is how I fill a rectangle with a picture selected from a folder.
Sub Maybe_Rect1_Only()
Dim fNameAndPath As Variant
Dim img As Picture
fNameAndPath = Application.GetOpenFilename(Title:="Select Picture To Be Imported")
If fNameAndPath = False Then Exit Sub
    ActiveSheet.Shapes("Rectangle 1").Fill.UserPicture (fNameAndPath)
End Sub
I'll have a look tomorrow and see what I can come up with.