OVH Cloud OVH Cloud

Créer puis supprimer une forme WordArt

4 réponses
Avatar
ManBas
Bonsoir à tous,
Dans une macro je crée une forme WordArt "Document de travail" qui s'imprime
sur le document.
Mais lorsque je veux la supprimer (pour conserver intacte la feuille à
l'écran), l'objet n'est pas reconnu (élément introuvable).
Comment dois-je procéder ?
Merci beaucoup pour vos suggestions.

4 réponses

Avatar
anonymousA
Bonjour,

s'il n'y a quun objet, le + simple

ActiveSheet.DrawingObjects.Delete

A+


Bonsoir à tous,
Dans une macro je crée une forme WordArt "Document de travail" qui s'imprime
sur le document.
Mais lorsque je veux la supprimer (pour conserver intacte la feuille à
l'écran), l'objet n'est pas reconnu (élément introuvable).
Comment dois-je procéder ?
Merci beaucoup pour vos suggestions.




Avatar
ManBas
Bonsoir Anonymous.
Merci +++ de ta réponse, ça marche...bien ...à la fois sur tous les objets.
Donc, s'il y a plusieurs objets je suis coincé.
C'est un problème compliqué, pourquoi?
(cours du soir).

"anonymousA" a écrit dans le message de news:
43cd5637$0$19722$
Bonjour,

s'il n'y a quun objet, le + simple

ActiveSheet.DrawingObjects.Delete

A+


Bonsoir à tous,
Dans une macro je crée une forme WordArt "Document de travail" qui
s'imprime sur le document.
Mais lorsque je veux la supprimer (pour conserver intacte la feuille à
l'écran), l'objet n'est pas reconnu (élément introuvable).
Comment dois-je procéder ?
Merci beaucoup pour vos suggestions.




Avatar
anonymousA
Bonjour,

Je n'ai pas dit que c'était compliqué. J'ai dit que le + simple était.

S'il y a plusieurs objets et un seul de type concerné
For Each sh In ActiveSheet.Shapes
If sh.Type = 15 Then sh.Delete
Next

supprime les objets de type MsoShapeType=msoTextEffect quelque soit le
N° attaché au shape de type msoTextEffect.

Par contre, autre solution possible. tu identifies ta forme lors de sa
création car toute forme ou tout objet sur la feuille est identifiable.
Pour t'en convaincre, écris le petit programme ci-dessous

Set sg = ActiveSheet.Shapes.AddTextEffect(msoTextEffect4, "Votre
texte ici", "Impact",36#, msoFalse, msoFalse, 372#, 236.25)
sg.Name = "toto"
MsgBox ActiveSheet.Shapes("toto").Name
ActiveSheet.Shapes("toto").Delete

tu peux constater que la forme créée de type WordArt a été appelée
"toto". Puis qu'ensuite , il est très facile de ne supprimer que
celle-ci puisque l'on connait son nom.

A+


Bonsoir Anonymous.
Merci +++ de ta réponse, ça marche...bien ...à la fois sur tous les objets.
Donc, s'il y a plusieurs objets je suis coincé.
C'est un problème compliqué, pourquoi?
(cours du soir).

"anonymousA" a écrit dans le message de news:
43cd5637$0$19722$

Bonjour,

s'il n'y a quun objet, le + simple

ActiveSheet.DrawingObjects.Delete

A+



Bonsoir à tous,
Dans une macro je crée une forme WordArt "Document de travail" qui
s'imprime sur le document.
Mais lorsque je veux la supprimer (pour conserver intacte la feuille à
l'écran), l'objet n'est pas reconnu (élément introuvable).
Comment dois-je procéder ?
Merci beaucoup pour vos suggestions.









Avatar
ManBas
Ah ouiiii!
ça me plait beaucoup !
Mais alors beaucoup beaucoup !
Infiniment merci Anonymous.
A bientôt.


"anonymousA" a écrit dans le message de news:
43cd5b2f$0$19722$
Bonjour,

Je n'ai pas dit que c'était compliqué. J'ai dit que le + simple était.

S'il y a plusieurs objets et un seul de type concerné
For Each sh In ActiveSheet.Shapes
If sh.Type = 15 Then sh.Delete
Next

supprime les objets de type MsoShapeType=msoTextEffect quelque soit le N°
attaché au shape de type msoTextEffect.

Par contre, autre solution possible. tu identifies ta forme lors de sa
création car toute forme ou tout objet sur la feuille est identifiable.
Pour t'en convaincre, écris le petit programme ci-dessous

Set sg = ActiveSheet.Shapes.AddTextEffect(msoTextEffect4, "Votre texte
ici", "Impact",36#, msoFalse, msoFalse, 372#, 236.25)
sg.Name = "toto"
MsgBox ActiveSheet.Shapes("toto").Name
ActiveSheet.Shapes("toto").Delete

tu peux constater que la forme créée de type WordArt a été appelée "toto".
Puis qu'ensuite , il est très facile de ne supprimer que celle-ci puisque
l'on connait son nom.

A+


Bonsoir Anonymous.
Merci +++ de ta réponse, ça marche...bien ...à la fois sur tous les
objets.
Donc, s'il y a plusieurs objets je suis coincé.
C'est un problème compliqué, pourquoi?
(cours du soir).

"anonymousA" a écrit dans le message de news:
43cd5637$0$19722$

Bonjour,

s'il n'y a quun objet, le + simple

ActiveSheet.DrawingObjects.Delete

A+



Bonsoir à tous,
Dans une macro je crée une forme WordArt "Document de travail" qui
s'imprime sur le document.
Mais lorsque je veux la supprimer (pour conserver intacte la feuille à
l'écran), l'objet n'est pas reconnu (élément introuvable).
Comment dois-je procéder ?
Merci beaucoup pour vos suggestions.