CommentCaMarche
Recherche
Posez votre question Signaler

Excel vba supprimer une image

Jinchoo - Dernière réponse le 20 janv. 2010 à 13:42
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
Lire la suite 
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé «  Excel vba supprimer une image  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.