Suppression d'Object

Bonjour la communauté !

je reviens vers vous avec un nouveau sujet.

J'ai un fichier avec pas mal de PJ dedans, 2 voir 3 par lignes par exemple.

Ce que je souhaiterai, c'est une macro qui me supprime certaine ligne (selon un critère que j'ai défini) tout en supprimant les Object associés.

Jusque là j'arrive à supprimer l'ensemble des Object sur toute une feuille, mais impossible de supprimer uniquement un Object d'une ligne, d'une colonne, d'une case ...

Merci d'avance pour votre aide.

Pierre

Bonjour Pierre,

la collection Objets est très vaste, est-ce chaque objet est à l'intérieur d'une cellule (sans dépassement) ?

Bonjour,

Sans savoir quel est le type d'objet, pas facile !

En admettant que ce soit des Shapes, le code ci-dessous supprime les objets et lignes associées sachant que la propriété "TopLeftCell" retourne un Range, le Range se trouvant juste dessous l'angle supérieur gauche du Shape :

Sub Test()

    Dim S As Shape
    Dim Lig As Long

    For Each S In ActiveSheet.Shapes

        Lig = S.TopLeftCell.Row
        S.Delete
        Rows(Lig).Delete

    Next S

End Sub

Merci pour vos réponses.

Le bout de code me semble pertinent.

Je peux avoir toute sorte d'objet (mails, images, pdf, ...)

Ce que je recherche à faire, c'est par exemple garder mes ligne 2 et 3 avec tous mes objets, et supprimer la ligne 4 et 5 et tous les objets s'y trouvant.

Un petit fichier test en PJ.

Merci pour votre aide

Pierre

3test.xlsm (93.31 Ko)

re,

à tester,

Sub Test()
Dim sh As Shape
Dim Ligne As Long

For Each sh In ActiveSheet.Shapes
    Ligne = sh.TopLeftCell.Row
    If Ligne >= 4 Then
        sh.Delete
        Rows(Ligne).Delete
    End If
Next sh
End Sub

J'ai adapté le bout de code ci-dessus !

Ca fonctionne, merci beaucoup pour votre aide

Rechercher des sujets similaires à "suppression object"