Excel vba supprimer une image

Bonjour,

Dans le cadre de mon travail, j'ai créé une feuille Excel avec une macro permettant d'afficher une image
suivant la valeur d'une cellule.

Voici le code que j'ai créé :

Private Sub Worksheet_change(ByVal Target As Range)

Dim objFeuille As Worksheet, objPict As Picture

If Worksheets("Feuil1").Range("J4").Value = "D1" Then
Set objFeuille = ActiveSheet
Set objPict = objFeuille.Pictures.Insert("F:\dirjinchoo\Fiche technique\Type de chanfrein\D1.bmp")
With objPict
.Left = Range("J5").Left
.Top = Range("J5").Top
End With

End sub

Cette macro fonctionne, lorsque je tape la valeur D1 dans la cellule J4 la photo apparait dans la cellule J5.
Jusqu'ici il n'y a pas de problème.
Mais quand je retire la valeur de la cellule, l'image précédemment apparue reste affichée alors que je souhaiterais qu'elle s'efface.

Est-il possible d'avoir une aide ?
merci d'avance
Jinchoo
Configuration: Windows XP
Firefox 2.0.0.20

1 réponse

  1. Contributeur
    Bonjour,

    corrigé :
    Private Sub Worksheet_change(ByVal Target As Range) '
        Dim objFeuille As Worksheet, objPict As Picture
        If Intersect(Target, [J4]) Is Nothing Then Exit Sub
        If Target = "D1" Then
            Set objFeuille = ActiveSheet
            Set objPict = objFeuille.Pictures.Insert("C:\Users\Public\Pictures\Sample Pictures\Desert.jpg")
            With objPict
                .Left = Range("J5").Left
                .Top = Range("J5").Top
                .Name = "imageJ4"
            End With
        Else
            On Error Resume Next
            Pictures("imageJ4").Delete
            On Error GoTo 0
        End If
    End Sub
    


    eric

    EDIT : correction du code, ma réponse était incomplète.