Choix d'une image avec données/Validation

Images internes au classeur

DVImagesInternes.xls

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 And Target.Count = 1 Then
'-- suppression
For Each s In ActiveSheet.Shapes
If s.Type = 13 Then
If s.TopLeftCell.Address = Target.Offset(0, 1).Address Then
s.Delete
End If
End If
Next s
'--
If Target <> "" Then
Sheets("Images").Shapes(Target).Copy
Target.Offset(0, 1).Select
ActiveSheet.Paste
Selection.ShapeRange.Left = ActiveCell.Left + 7
Selection.ShapeRange.Top = ActiveCell.Top + 5
Target.Select
End If
End If
End Sub

Images externes au classeur

DVImagesExternes

Private Sub Worksheet_Change(ByVal Target As Range)
'-- suppression de l'image actuelle
If Target.Column = 1 And Target.Count = 1 Then
'-- suppression
For Each s In ActiveSheet.Shapes
If s.Type = 13 Then
If s.TopLeftCell.Address = Target.Offset(0, 2).Address Then
s.Delete
End If
End If
Next s
'--
rep = ActiveWorkbook.Path
'rep = "c:\xyz"
nomimage = rep & "\" & Target & ".jpg"
Target.Offset(0, 2).Select
On Error Resume Next
ActiveSheet.Pictures.Insert(nomimage).Select
If Err > 0 Then MsgBox "inconnu"
Selection.Name = Target
On Error GoTo 0
Target.Select
End If
End Sub