Supprimer les images par macro

  • Initiateur de la discussion Initiateur de la discussion WITER
  • Date de début Date de début

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 !

WITER

XLDnaute Occasionnel
Rebonjour
je recherche (une fois de plus, lolll ) une macro pour supprimer toutes les pictures et AutoShape qui se trouvent dans la zone B4:L30 de ma feuille.


Quelqu'un aurait il un code pour cette macro

merci encore pour votre aide
 
Re : Supprimer les images par macro

Donc il n'existe pas de code pour les supprimer tous d'un coup, je doit le faire manuellement ?

Jai ce code par exemple, mais mes pictures non pas toujours le meme numero (Autoshape ***, et Picture ***), donc elle plante quand elle ne les trouvent pas

Sub SUPPRIMEIMAGES()

ActiveSheet.Shapes("AutoShape 474").Select
Selection.Delete
ActiveSheet.Shapes("Picture 473").Select
Selection.Delete
ActiveSheet.Shapes("cible").Select
Selection.Delete
End Sub
 
Re : Supprimer les images par macro

Bonjour,

avec ce code, tu supprimes toutes les images qui sont, ou chevauchent, dans la plage B4:L30

si tu ne veux que supprimer celles qui sont entièrement incluses dans la plage, remplace le Or par un And

Code:
Sub suppr()
For Each sh In Me.Shapes
    If Not Intersect(Range(sh.TopLeftCell.Address), Range("B4:L30")) Is Nothing Or _
        Not Intersect(Range(sh.BottomRightCell.Address), Range("B4:L30")) Is Nothing Then
        sh.Delete
    End If
Next sh
End Sub

Edit : j'ai mis Me, car j'ai utilisé ce code dans le code de la feuille, sinon remplace par Sheets("Feuil1")

Edit 2 : Bonsoir, Tatiak 🙂
 
Dernière édition:
Re : Supprimer les images par macro

Bonjour,

avec ce code, tu supprimes toutes les images qui sont, ou chevauchent, dans la plage B4:L30

si tu ne veux que supprimer celles qui sont entièrement incluses dans la plage, remplace le Or par un And

Code:
Sub suppr()
For Each sh In Me.Shapes
    If Not Intersect(Range(sh.TopLeftCell.Address), Range("B4:L30")) Is Nothing Or _
        Not Intersect(Range(sh.BottomRightCell.Address), Range("B4:L30")) Is Nothing Then
        sh.Delete
    End If
Next sh
End Sub

Edit : j'ai mis Me, car j'ai utilisé ce code dans le code de la feuille, sinon remplace par Sheets("Feuil1")

Edit 2 : Bonsoir, Tatiak 🙂

Bravo, j'avais pas pensé à l'intersect avec topleftcell jolie solution.
 
Re : Supprimer les images par macro

Bonjour à tous

Félicitation à BHBH pour son code très intéressant.
Code:
Sub suppr()
'BHBH
For Each sh In Activesheet.Shapes
    If Not Intersect(Range(sh.TopLeftCell.Address), Range("B4:L30")) Is Nothing Or _
        Not Intersect(Range(sh.BottomRightCell.Address), Range("B4:L30")) Is Nothing Then
        sh.Delete
    End If
Next sh
End Sub
Par contre si j'ai une zone nommée, par exemple zoneTest, Quelle code pour y faire référence?
 
- 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

  • Question Question
Microsoft 365 bouton supprimer
Réponses
4
Affichages
228
Réponses
5
Affichages
166
Réponses
2
Affichages
240
Retour