Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target.Address = "$F$11" Then
Dim Fichier As String, Chemin As String, adresseT As Long, adresseL As Long
On Error Resume Next
Sheets("données").Shapes("image1").Delete
Chemin = "C:\Users\Mon_ordi\Desktop\Emoti\"
Select Case Target
Case Is <= -5: Fichier = "smiley_mauvais.gif"
Case Is > 5: Fichier = "smiley_bon.gif"
Case Else: Fichier = "smiley_egal.gif"
End Select
adresseT = Range("G11").Top
adresseL = Range("G11").Left
Worksheets("données").Shapes.AddPicture(Chemin & Fichier, True, True, adresseL, adresseT, 50, 50).Name = "image1"
End If
End Sub