Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA : Sélectionner trois formes sans les nommer

12 réponses
Avatar
garnote
Bonjour,

J'ai ici une macro qui connecte deux rectangles
et sélectionne le connecteur et les deux rectangles.
Elle fonctionne correctement mais je me demande
s'il serait possible de sélectionner les trois formes
sans les nommer.
J'ai essayé sans succès :
Set tous = S.Range(Array(R1, R2, C))

Sub Connecteur()
Set F = Worksheets(1)
Set S = F.Shapes
Set R1 = S.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
R1.Name = "un"
Set R2 = S.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
R2.Name = "deux"
Set C = S.AddConnector(msoConnectorCurve, _
0, 0, 100, 100)
C.Name = "trois"
With C.ConnectorFormat
.BeginConnect R1, 1
.EndConnect R2, 1
End With
C.RerouteConnections
Set tous = S.Range(Array("un", "deux", "trois"))
tous.Select
End Sub

Serge enneigé (ça commence raide à Québec)

2 réponses

1 2
Avatar
michdenis
> Je suppose que tu pourrais remplacer la collection
"Drawingobjects" par la collection "Shapes" et tu
obtiendrais le même résultat.


| Pas toujours, par exemple si ma feuille contient
| des affaires de la boîte à outils Formulaires ou Contrôles.
| Voir mon exemple sur Cjoint.

Et bien si tu utilises ceci pour les items dans ta feuille

x = DrawingObjects.Count
Z = Shapes.Count

X = Z

Conséquence: Je n'ai pas saisi le sens de ta remarque.
Avatar
garnote
Dans mon classeur sur Cjoint
http://cjoint.com/?mlmqHY5hxy
si je remplace DrawingObjects par Shapes,
je n'obtiens pas la bonne sélection de formes.



"michdenis" a écrit dans le message de news:

Je suppose que tu pourrais remplacer la collection
"Drawingobjects" par la collection "Shapes" et tu
obtiendrais le même résultat.


| Pas toujours, par exemple si ma feuille contient
| des affaires de la boîte à outils Formulaires ou Contrôles.
| Voir mon exemple sur Cjoint.

Et bien si tu utilises ceci pour les items dans ta feuille

x = DrawingObjects.Count
Z = Shapes.Count

X = Z

Conséquence: Je n'ai pas saisi le sens de ta remarque.



1 2