Suppression d'une forme (shape) sans la nommer

Bonjour,

J'ai une première macro qui créé une forme, dans une seconde macro je souhaite supprimer cette même forme.

Je ne peux pas utiliser le nom de la forme car d'autres formes sont susceptibles d'être créées avant ou après.

Avez-vous une idée concernant la manière de sélectionner cette forme lors de la suppression? Est-il possible d'indiquer une "zone géographique" et de sélectionner la forme se trouvant à l'intérieur?

Merci par avance,

bonjour,

Il faut utiliser la cellule à laquelle elle est rattachée via la propriété "TopLeftCell"

Merci pour ton aide Thev, j'ai réussi à résoudre mon problème.

J'ai maintenant le problème inverse. Je souhaite supprimer une forme que j'ai réussi à nommer.

Ci-dessous mon extrait de code qui ne fonctionne pas...

(...)
NomForme = Application.Caller '=> Le nom est bien récupéré, si je fais un msg box le nom s'affiche
 (...)
NomForme.Select
Selection.Delete

Merci,

'ai maintenant le problème inverse. Je souhaite supprimer une forme que j'ai réussi à nommer.

Ci-dessous mon extrait de code qui ne fonctionne pas...

(...)

NomForme = Application.Caller '=> Le nom est bien récupéré, si je fais un msg box le nom s'affiche

(...)

NomForme.Select

Selection.Delete

NomForme = Application.Caller
ActiveSheet.Shapes(NomForme).Delete

NB: NomForme n'est pas l'objet de la macro appelante mais seulement son nom (type String)

Merci beaucoup pour l'explication.

Je continue sur le même thème. Une fois ces boutons supprimés, je souhaite qu'ils réapparaissent lors de la réinitialisation du fichier. Cela se fera donc via une macro différente.

La seule solution à laquelle j'ai pensé est de stocker ce bouton dans un endroit caché afin de le copier / coller à l'endroit supprimé.

Cette solution est sans doute compliquée à mettre en oeuvre...

Pensez-vous qu'il existe une autre solution plus simple?

Ci-joint un extrait de mon fichier avec illustration de ces boutons supprimés (les boutons orange)

Merci et bonne soirée,

14test.xlsm (12.48 Ko)

Bonjour,

utilise la propriété visible.

Pour ton 1er problème pourquoi n'attribue-tu pas un nom que tu choisis lors de la création ?

eric

Bonjour Eriic,

Merci pour tes conseils. Je ne connaissais pas la propriété visible / invisible. J'ai effectivement récupérer tous les noms de mes formes et je les active / désactive et c'est très propre.

Encore merci,

Rechercher des sujets similaires à "suppression forme shape nommer"