Macro effacement shapes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

daniel1949

XLDnaute Occasionnel
Bonjour à tous,
Dans une feuille, en cellule B1 j'enclenche une macro qui m'ouvre un formulaire et suivant les données place une image (picture) en cellule A1. Pour cela, j'ai une banque de trois (3) images nommées Picture 1313, Picture 63 et Picture 4.
Mon problème est d'établir une macro qui efface l'image placée en A1 (Picture 1313 OU Picture 63 OU Picture 4)....et non ET !!!
J'ai beau chercher sur google je ne trouve que des solutions pour effacer une image ou toutes les images. Avez-vous une solution à me proposer ?
Merci
Daniel

PS : ci-joint fichier
 
Re : Macro effacement shapes

Bonjour daniel1949,

Voici un exemple :
VB:
Sub test()
Dim laShape As Shape

    For Each laShape In ActiveSheet.Shapes
        If laShape.BottomRightCell.Address = "$A$1" Then laShape.Delete
    Next laShape
End Sub
a+
 
Dernière édition:
Re : Macro effacement shapes

Bonjour Daniel, Romain

Pas tout compris, peut être nous donné le code concerné....
Merci mromain pour ta réponse rapide. Mais je vais t'ennuyer un peu... J'efface les données ligne par ligne alors comment faire dans le cas d'une cellule placée avant les données (c-à-d : ActiveCell.Offset(0, -1)) ?
a+

bonne soirée
@+
 
Re : Macro effacement shapes

Bonsoir Pierrot,

Pas tout compris, peut être nous donné le code concerné....@+

En fait j'ai voulu (trop) simplifier ma demande en prenant comme exemple les cellules A1 et B1.
Or dans mon cas, je souhaite supprimer les données LIGNE par LIGNE.
En gros, si en .Offset(0,0) j'ai récupéré les éléments du formulaire et en .Offset(0,-1) j'ai placé une shape... Je souhaite que, par une macro, les données et images soient effacées.
Suis-je clair ?
A plus.... et bon courage
 
Re : Macro effacement shapes

Bonjour mromain et pierrot93,

Dans une feuille, j'enclenche une macro qui m'ouvre un formulaire et suivant les données place une image (picture) dans la cellule située à gauche . Pour cela, j'ai une banque de trois (3) images nommées Picture 1313, Picture 63 et Picture 4.
J'ai une macro qui m'efface le contenu de la cellule active (ActiveCell.Offset(0,0)) mais mon problème est d'établir une macro qui efface l'image placée dans la cellule située à gauche (ActiveCell.Offset(0,-1)). Cette image peut-être différente comme vous le remarquerez dans la pièce ci-jointe.

J'espère être assez clair.

Merci de vous pencher sur cette demande.

Bonne journée

Daniel
 
Re : Macro effacement shapes

Re bonjour,

Voici le code modifié.
En l'occurrence, il supprime la forme située à gauche de la cellule active (ActiveCell) :
VB:
Sub test()
Dim laShape As Shape

    For Each laShape In ActiveSheet.Shapes
        If laShape.BottomRightCell.Address = ActiveCell.Offset(0, -1).Address Then laShape.Delete
    Next laShape
End Sub
a+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
313
Réponses
2
Affichages
2 K
Réponses
5
Affichages
974
A
Réponses
12
Affichages
2 K
AnjyD
A
Réponses
3
Affichages
1 K
E
Réponses
8
Affichages
3 K
Elegancya
E
Retour