Excel vba supprimer une image
Jinchoo
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 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
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
A voir également:
- Excel vba supprimer une image
- Supprimer rond bleu whatsapp - Guide
- Supprimer une page word - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
1 réponse
Bonjour,
corrigé :
eric
EDIT : correction du code, ma réponse était incomplète.
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.