[VBA] Obtenir le nom vba d'une forme rectangle (Shape)

Le
HD
Bonjour,

Je réalise des macros qui manipulent le texte et les propriétés de certains
éléments dont des rectangles. Mais je ne vois pas comment l'on peut savoir
rapidement le nom d'une de ces formes ?

Par exemple tel rectangle aura pour nom Shapes("Rectangle 12") mais
comment le savoir si ce n'est en enregistrant une macro et en le
sélectionnant ?

Merci d'avance pour votre aide
--
@+
HD
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Tisane
Le #1592170
Bonjour "HD",

Je réalise des macros qui manipulent le texte et les propriétés de
certains
éléments dont des rectangles. Mais je ne vois pas comment l'on peut savoir
rapidement le nom d'une de ces formes ?
Par exemple tel rectangle aura pour nom Shapes("Rectangle 12")... mais
comment le savoir si ce n'est en enregistrant une macro et en le
sélectionnant ?


Sans macro, tu peux repérer le nom des objets ainsi :
- clic droit dans une barre d'outils | Personnaliser
- dans la catégorie Dessin, fais glisser l'outil "Sélectionner tous les
objets" dans la barre d'outils Dessin par exemple.
- sélectionne ton objet et clique sur cet outil
Le nom des objets sera affiché.

--
Tisane

HD
Le #1592168
- clic droit dans une barre d'outils | Personnaliser
- dans la catégorie Dessin, fais glisser l'outil
"Sélectionner tous les objets" dans la barre
d'outils Dessin par exemple.


Avec mon Word97 j'ai "Sélection des Objets".

- sélectionne ton objet et clique sur cet outil
Le nom des objets sera affiché.
Je n'ai rien qui s'affiche... Le nom doit s'afficher où d'ailleurs ?

Je n'ai rien n'y dans les barres Word97 (statusbar, et autres), ni en info
bulle, etc...

--
@+
HD

Blaise Cacramp
Le #1592167
sélectionner TOUS (ou plusieurs) les objets que madame à écrit
"HD" news:eutmh9$1n17$
- clic droit dans une barre d'outils | Personnaliser
- dans la catégorie Dessin, fais glisser l'outil
"Sélectionner tous les objets" dans la barre
d'outils Dessin par exemple.


Avec mon Word97 j'ai "Sélection des Objets".

- sélectionne ton objet et clique sur cet outil
Le nom des objets sera affiché.
Je n'ai rien qui s'affiche... Le nom doit s'afficher où d'ailleurs ?

Je n'ai rien n'y dans les barres Word97 (statusbar, et autres), ni en info
bulle, etc...

--
@+
HD





HD
Le #1592166
sélectionner TOUS (ou plusieurs) les
objets que madame à écrit


ça je l'ai bien compris... Mais le problème est qu'il n'y a pas cette
commande dans Word97 !

Avec mon Word97 j'ai "Sélection des Objets".



--
@+
HD

Circé
Le #1592165
Bonjour,


HD a émis l'idée suivante :
sélectionner TOUS (ou plusieurs) les
objets que madame à écrit


ça je l'ai bien compris... Mais le problème est qu'il n'y a pas cette
commande dans Word97 !


D'une part, effectivement, de mémoire, ça n'existe pas dans Word 97.
D'autre part, tu parles de shape... Et la sélection multiple d'objets
ne concerne que les inlineshape !!
C'est donc doublement faux !

En VBA tu peux les appeler par leur numéro... Mais il me semble que ce
numéro n'est pas un numéro d'ordre dans le document, mais dans
l'insertion... :(

ActiveDocument.Shapes(1).Select

Circé
http://faqword.free.fr

Avec mon Word97 j'ai "Sélection des Objets".




Tisane
Le #1593588
Bonjour,

D'une part, effectivement, de mémoire, ça n'existe pas dans Word 97.


En effet, l'outil "Sélectionner plusieurs objets" n'est apparu qu'avec la
v2000.
Quoiqu'il en soit, dans la v97, les formes ne peuvent pas être alignées sur
le texte (inlineshape).
L'option "Dissocier du texte" n'est disponible que pour les images.

D'autre part, tu parles de shape... Et la sélection multiple d'objets ne
concerne que les inlineshape !!


Curieux... J'aurais parié l'inverse... à savoir que l'outil "Sélectionner
plusieurs objets" concerne justement les "shapes", formes/dessins/images non
alignés sur le texte, autrement dit "flottants".

Là, c'est vrai, "C'est donc doublement faux !" ;-)

--
Tisane



HD a émis l'idée suivante :
sélectionner TOUS (ou plusieurs) les
objets que madame à écrit


ça je l'ai bien compris... Mais le problème est qu'il n'y a pas cette
commande dans Word97 !


D'une part, effectivement, de mémoire, ça n'existe pas dans Word 97.
D'autre part, tu parles de shape... Et la sélection multiple d'objets ne
concerne que les inlineshape !!
C'est donc doublement faux !

En VBA tu peux les appeler par leur numéro... Mais il me semble que ce
numéro n'est pas un numéro d'ordre dans le document, mais dans
l'insertion... :(

ActiveDocument.Shapes(1).Select

Circé
http://faqword.free.fr




Tisane
Le #1593586

sélectionner TOUS (ou plusieurs) les
objets
ça je l'ai bien compris... Mais le problème est qu'il n'y a pas cette

commande dans Word97 !


La prochaine fois, annonce ta version dès ton premier message, on gagnera du
temps ;-)

Pourquoi ne pas imposer des noms à tes objets ?

Sub RenommeForme()
strNouveauNom = InputBox("Nouveau nom pour cet objet")
With ActiveWindow.Selection.ShapeRange
.Name = strNouveauNom
End With
End Sub

A faire une fois et au moins tu ne t'embêtes pas avec les numéros d'index,
sachant toutefois que Word conserve aussi le nom d'origine des formes.
Par exemple :
Shapes("monrectangle").Select
revient au même que Shapes(x).Select
ou Shapes("Rectangle x").Select
mais en plus sympa...

--
Tisane


HD
Le #1593569
La prochaine fois, annonce ta version dès
ton premier message, on gagnera du
temps ;-)
C'est vrai... Mais je ne pensais pas qu'il n'y avait pas de solution telle

celle que l'on trouve dans un Word plus récent... :-)

Pourquoi ne pas imposer des noms à tes objets ?
Merci pour la solution de rechange. Je vais la tester. Elle me permettra

d'avoir au moins une solution pour les nouveaux fichiers... Pour les anciens
le problème est que nous en avons peut être pas loin de 100 000... donc pour
les anciens c'est rapé... :-(

--
@+
HD

Publicité
Poster une réponse
Anonyme