Excel vba supprimer une image

Jinchoo -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
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. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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.
    0