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)
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)
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)
Serge enneigé (ça commence raide à Québec)
Serge enneigé (ça commence raide à Québec)
Serge enneigé (ça commence raide à Québec)
salut Serge,
Sub Connecteur1()
forme = Array("un", "deux", "trois")
Set f = Worksheets(1)
Set s = f.Shapes
Set R1 = s.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
R1.Name = forme(0)
Set R2 = s.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
R2.Name = forme(1)
Set C = s.AddConnector(msoConnectorCurve, _
350, 50, 100, 100)
C.Name = forme(2)
With C.ConnectorFormat
.BeginConnect R1, 1
.EndConnect R2, 1
End With
C.RerouteConnections
s.Range(Application.Transpose(forme)).Select
End Sub
garnote a écrit :Serge enneigé (ça commence raide à Québec)
pour une fois on a été épargné :-)
bon pelletage,
isabelle
salut Serge,
Sub Connecteur1()
forme = Array("un", "deux", "trois")
Set f = Worksheets(1)
Set s = f.Shapes
Set R1 = s.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
R1.Name = forme(0)
Set R2 = s.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
R2.Name = forme(1)
Set C = s.AddConnector(msoConnectorCurve, _
350, 50, 100, 100)
C.Name = forme(2)
With C.ConnectorFormat
.BeginConnect R1, 1
.EndConnect R2, 1
End With
C.RerouteConnections
s.Range(Application.Transpose(forme)).Select
End Sub
garnote a écrit :
Serge enneigé (ça commence raide à Québec)
pour une fois on a été épargné :-)
bon pelletage,
isabelle
salut Serge,
Sub Connecteur1()
forme = Array("un", "deux", "trois")
Set f = Worksheets(1)
Set s = f.Shapes
Set R1 = s.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
R1.Name = forme(0)
Set R2 = s.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
R2.Name = forme(1)
Set C = s.AddConnector(msoConnectorCurve, _
350, 50, 100, 100)
C.Name = forme(2)
With C.ConnectorFormat
.BeginConnect R1, 1
.EndConnect R2, 1
End With
C.RerouteConnections
s.Range(Application.Transpose(forme)).Select
End Sub
garnote a écrit :Serge enneigé (ça commence raide à Québec)
pour une fois on a été épargné :-)
bon pelletage,
isabelle
Salutatoi Isabelle,
Ta macro me renvoie "Erreur d'exécution 1004".
Et tu donnes des noms à R1, R2 et C; ce que
j'aimerais éviter.
Serge
"isabelle" a écrit dans le message de news: Ov2s$salut Serge,
Sub Connecteur1()
forme = Array("un", "deux", "trois")
Set f = Worksheets(1)
Set s = f.Shapes
Set R1 = s.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
R1.Name = forme(0)
Set R2 = s.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
R2.Name = forme(1)
Set C = s.AddConnector(msoConnectorCurve, _
350, 50, 100, 100)
C.Name = forme(2)
With C.ConnectorFormat
.BeginConnect R1, 1
.EndConnect R2, 1
End With
C.RerouteConnections
s.Range(Application.Transpose(forme)).Select
End Sub
garnote a écrit :Serge enneigé (ça commence raide à Québec)
pour une fois on a été épargné :-)
bon pelletage,
isabelle
Salutatoi Isabelle,
Ta macro me renvoie "Erreur d'exécution 1004".
Et tu donnes des noms à R1, R2 et C; ce que
j'aimerais éviter.
Serge
"isabelle" <i@v> a écrit dans le message de news: Ov2s$WuWJHA.4384@TK2MSFTNGP03.phx.gbl...
salut Serge,
Sub Connecteur1()
forme = Array("un", "deux", "trois")
Set f = Worksheets(1)
Set s = f.Shapes
Set R1 = s.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
R1.Name = forme(0)
Set R2 = s.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
R2.Name = forme(1)
Set C = s.AddConnector(msoConnectorCurve, _
350, 50, 100, 100)
C.Name = forme(2)
With C.ConnectorFormat
.BeginConnect R1, 1
.EndConnect R2, 1
End With
C.RerouteConnections
s.Range(Application.Transpose(forme)).Select
End Sub
garnote a écrit :
Serge enneigé (ça commence raide à Québec)
pour une fois on a été épargné :-)
bon pelletage,
isabelle
Salutatoi Isabelle,
Ta macro me renvoie "Erreur d'exécution 1004".
Et tu donnes des noms à R1, R2 et C; ce que
j'aimerais éviter.
Serge
"isabelle" a écrit dans le message de news: Ov2s$salut Serge,
Sub Connecteur1()
forme = Array("un", "deux", "trois")
Set f = Worksheets(1)
Set s = f.Shapes
Set R1 = s.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
R1.Name = forme(0)
Set R2 = s.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
R2.Name = forme(1)
Set C = s.AddConnector(msoConnectorCurve, _
350, 50, 100, 100)
C.Name = forme(2)
With C.ConnectorFormat
.BeginConnect R1, 1
.EndConnect R2, 1
End With
C.RerouteConnections
s.Range(Application.Transpose(forme)).Select
End Sub
garnote a écrit :Serge enneigé (ça commence raide à Québec)
pour une fois on a été épargné :-)
bon pelletage,
isabelle
tu as le message d'erreur sur quel ligne ?
ps/ je n'ai pas choisi R1, R2 et C , je l'ai repris de ton exemple avec Set,
tu as le message d'erreur sur quel ligne ?
ps/ je n'ai pas choisi R1, R2 et C , je l'ai repris de ton exemple avec Set,
tu as le message d'erreur sur quel ligne ?
ps/ je n'ai pas choisi R1, R2 et C , je l'ai repris de ton exemple avec Set,
Salut Isabelle,tu as le message d'erreur sur quel ligne ?
Ici : s.Range(Application.Transpose(forme)).Selectps/ je n'ai pas choisi R1, R2 et C , je l'ai repris de ton exemple avec Set,
Au lieu d'utiliser :
S.Range(Array(1, 2, 3)).Select
dans cette macro :
Sub Connecteur()
Set F = Worksheets(1)
Set S = F.Shapes
Set R1 = S.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
Set R2 = S.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
Set C = S.AddConnector(msoConnectorCurve, _
0, 0, 100, 100)
With C.ConnectorFormat
.BeginConnect R1, 1
.EndConnect R2, 2
End With
C.RerouteConnections
S.Range(Array(1, 2, 3)).Select
End Sub
je voudrais utiliser les variables R1, R2 et C
sans leur donner de noms.
Mais est-ce possible ?
Serge
Salut Isabelle,
tu as le message d'erreur sur quel ligne ?
Ici : s.Range(Application.Transpose(forme)).Select
ps/ je n'ai pas choisi R1, R2 et C , je l'ai repris de ton exemple avec Set,
Au lieu d'utiliser :
S.Range(Array(1, 2, 3)).Select
dans cette macro :
Sub Connecteur()
Set F = Worksheets(1)
Set S = F.Shapes
Set R1 = S.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
Set R2 = S.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
Set C = S.AddConnector(msoConnectorCurve, _
0, 0, 100, 100)
With C.ConnectorFormat
.BeginConnect R1, 1
.EndConnect R2, 2
End With
C.RerouteConnections
S.Range(Array(1, 2, 3)).Select
End Sub
je voudrais utiliser les variables R1, R2 et C
sans leur donner de noms.
Mais est-ce possible ?
Serge
Salut Isabelle,tu as le message d'erreur sur quel ligne ?
Ici : s.Range(Application.Transpose(forme)).Selectps/ je n'ai pas choisi R1, R2 et C , je l'ai repris de ton exemple avec Set,
Au lieu d'utiliser :
S.Range(Array(1, 2, 3)).Select
dans cette macro :
Sub Connecteur()
Set F = Worksheets(1)
Set S = F.Shapes
Set R1 = S.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
Set R2 = S.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
Set C = S.AddConnector(msoConnectorCurve, _
0, 0, 100, 100)
With C.ConnectorFormat
.BeginConnect R1, 1
.EndConnect R2, 2
End With
C.RerouteConnections
S.Range(Array(1, 2, 3)).Select
End Sub
je voudrais utiliser les variables R1, R2 et C
sans leur donner de noms.
Mais est-ce possible ?
Serge
"DrawingObjects" ne fait plus parti du modèle objet d'excel
depuis la version 2000 bien qu'il existe encore pour une
question de compatibilité !
Je suppose que tu pourrais remplacer la collection
"Drawingobjects" par la collection "Shapes" et tu
obtiendrais le même résultat.
Une boucle bien que souvent utile n'est pas la façon la
plus élégante de procéder si on peut faire sans !
"DrawingObjects" ne fait plus parti du modèle objet d'excel
depuis la version 2000 bien qu'il existe encore pour une
question de compatibilité !
Je suppose que tu pourrais remplacer la collection
"Drawingobjects" par la collection "Shapes" et tu
obtiendrais le même résultat.
Une boucle bien que souvent utile n'est pas la façon la
plus élégante de procéder si on peut faire sans !
"DrawingObjects" ne fait plus parti du modèle objet d'excel
depuis la version 2000 bien qu'il existe encore pour une
question de compatibilité !
Je suppose que tu pourrais remplacer la collection
"Drawingobjects" par la collection "Shapes" et tu
obtiendrais le même résultat.
Une boucle bien que souvent utile n'est pas la façon la
plus élégante de procéder si on peut faire sans !