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.