Rechercher : dans
Par :

Excel VBA suppression images shapes

Dernière réponse le 3 jun 2009 à 15:43:07 mimi, le 3 sep 2006 à 11:43:02 
 Signaler ce message aux modérateurs

Bonjour tout le monde :0)

Je voudrais supprimer par macro toutes les images importées dans une feuille
pour une image, l'instruction fonctionne
ActiveSheet.Shapes("Picture 37").Select
Selection.Delete

Mais je ne connais pas les noms des shapes (à chaque que j'importe une image, Excel incrémente le no dePicture)

je voudrais un truc du genre mais mon code ne fonctionne pas
For Each Shapes In Sheets
Selection.Delete
Next

Merci d'avance pour vos suggestions :0)

Mimi

1

lami20j, le 3 sep 2006 à 12:05:14

Salut,

Sub efface()
    Dim img As Object
        
    For Each img In Worksheets(1).Shapes 'ou Worksheets("nom").Shapes
     img.Delete
    Next
    
End Sub
lami20j

Répondre à lami20j

6

zorgloub, le 23 oct 2008 à 16:25:24

Bonjour à tous.
Un peu tard mais ca fait toujours du bien de trouver ce genre de solution.

Ce code effeca parfaitement bien toutes les images de la feuille mais quel serait le code pour n'effacer que toutes les images se trouvant dans la colonne F, par exemple ?
merci

Répondre à zorgloub

2

Mimi, le 3 sep 2006 à 13:03:12

Merci beaucoup pour la solution : elle fonctionne impécablement
:0)

personnalisé à mon onglet, cela donne :

Dim img As Object

For Each img In Sheets("travail").Shapes
img.Delete
Next

longue vie au forum !!

Mimi

Répondre à Mimi

3

lami20j, le 3 sep 2006 à 13:08:01

Re,

Utilise plutôt celui là

Option Explicit
Option Compare Text 'insensible à la casse de caractères

Sub efface()
    Dim img As Shape
        
    For Each img In Worksheets("a").Shapes
     If img.Name Like "PICTURE*" Then
        img.Delete
     End If
    Next
    
End Sub
lami20j

Répondre à lami20j

4

titi, le 20 jun 2007 à 11:08:57

Activesheet.Shapes.SelectAll
selection.delete

;)

Répondre à titi

7

zorgloub, le 23 oct 2008 à 16:47:20

Bonjour,

et si je ne veux effacer que les images ne se trouvant que dans la colonne F, par exemple ?
Quel serait le code ?

Merci

Répondre à zorgloub

5

Jeflehardi, le 16 oct 2007 à 13:00:54

Merci pour la (les solutions) ! c'est exactement ce que je recherchais !
Amicalement !

Répondre à Jeflehardi

8

micaub, le 19 mai 2009 à 11:59:13

@zorgloub

J'ai bien peur que la notion d'image dans la colonne F n'ai pas lieu d'être. En effet, une image n'est pas installée dans une cellule, elle est collée par dessus la feuille, puis est positionnée (ce qui donne parfois l'illusion qu'elle se trouve dans une colonne.
Je pense que pour supprimer ces dites images, il faudrait que tu joues dans la macro avec leur position (Top, Left...) afin de déterminer les images qui se situent au niveau de la colonne F.

A moins que quelqu'un ai une autre idée...

A bientôt.

MA

Répondre à micaub

9

 Monsieur Dusnob, le 3 jun 2009 à 15:43:07

Pour tester la cellule sous une shape (plus exactement la cellule située sous le coin supérieur gauche), on peut utiliser la propriété TopLeftCell de l'objet shape. À partir de là, savoir si c'est la colonne F est facile.

Répondre à Monsieur Dusnob