Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Effacer des images !

C

Chevreau

Guest
Bonjour au forum,
J'ai également une autre question : après avoir insérer plusieurs images dans excel via plusieurs macro, comment faire pour les effacer sachant qu'Exel ne reconnait pas le nom de chacune des images (même après les avoir nommer) et qu'il nomme - par example - ainsi :

ActiveSheet.Shapes("Picture 67").Select
ActiveSheet.Shapes.range(Array("Picture 67", "Picture 65")).Select
Selection.Delete
end sub

et bien entendu le numéro change à chaque fois !


Merci d'avance pour votre aide
 
O

omicron

Guest
Bonjour,

Pour répondre à votre problème on peut effacer toutes les formes d'une feuille par exemple par la série d'instructions suivantes :

For Each Dessin in Sheets("Feuil1").Shapes
 
O

omicron

Guest
Bonjour,

Pour répondre à votre problème on peut effacer toutes les formes d'une feuille par exemple par la série d'instructions suivantes :

For Each Dessin in Sheets("Feuil1").Shapes
Dessin.Delete
Next Dessin

La, vous effacez tout : les images, les formes, les contrôles VB, ...
Ce n'est certainement pas ce que vous voulez.

Pour faire une suppression sélective des dessins vous avez plusieurs possibilités.

En voici 2 :

1 --- Vous travaillez avec des noms ------------------------------------------------

Exemple :

For Each Dessin in Sheets("Feuil1").Shapes
if Dessin.Name="Dessin1" then Dessin.delete
if Dessin.Name="Dessin2" then Dessin.delete
Next Dessin

Sachant que les noms affectés par Excel ne sont pas très pratiques à utiliser, il est conseillé de nommer ses dessins.

Pour nommer un dessin :
- le sélectionner
- taper son nom dans le champ "Zone nom" de la barre outil (près de f(x))
- taper "Entrée" (à ne pas oublier)

Celà marche.

2 --- Vous travaillez avec les adresse les cellules d'accroche des dessins ---

Exemple :

For Each Dessin in Sheets("Feuil1").Shapes
if Dessin.TopLeftCell.Address = Range("B5").Address then Dessin.Delete
if Dessin.TopLeftCell.Address = Range("C8").Address then Dessin.Delete
Next Dessin

Celà suppose que le dessin est accroché à une cellule.

Pour vérifier :
- sélectionner image (bouton droit)
- dans format image : propriétés, vérifier "positionnement" autre que
"ne pas déplacer ....."

En réponse à la question : "Problème avec les images !" posée dans ce forum, j''ai fait hier vers 23h , un bout de code traitant de problèmes analogues et reposant sur ce principe

Celà pourra peut-être vous donner des idées.


Bon courage pour la suite.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…