Accrochage d'un connecteur dans une feuille graphique

Le
ydellis
L'accrochage d'un connecteur entre deux formes dans une feuille standard
fonctionne parfaitement. Cependant, le connecteur ne s'accroche pas aux
formes ajoutées dans une feuille graphique. Cela fonctionnait en Excel 2003,
plus en Excel 2007. Quelqu'un a t'il une information à ce sujet?
Merci
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
garnote
Le #18082761
Bonjour,

Je n'ai pas ce problème sous 2007.
J'ai un graphique «nuage de points»
sur une feuille graphique.
Je sélectionne la zone de graphique et :
Insertion / Formes ...
1. Je choisis une première forme.
2. Je choisis une autre forme.
3. Je choisis une ligne (connecteur) pour relier les deux formes
en utilisant les marques rouges autour des formes.
4. En maintenant la touche Ctrl enfoncée, je sélectionne les trois formes
et je clique sur Outils de dessin / Format / Grouper.


Est-ce le résultat que tu attends ?

Serge




"ydellis"
L'accrochage d'un connecteur entre deux formes dans une feuille standard
fonctionne parfaitement. Cependant, le connecteur ne s'accroche pas aux
formes ajoutées dans une feuille graphique. Cela fonctionnait en Excel 2003,
plus en Excel 2007. Quelqu'un a t'il une information à ce sujet?
Merci


ydellis
Le #18088911
Merci Garnote,
Je te suis jusqu'au point 3. Après, l'intérêt du connecteur est de pouvoir
déplacer une des formes sans déplacer l'autre, avec le connecteur qui reste
accroché aux deux points d'ancrage. Dans ce cas, ton point 4 n'est pas
nécessaire, d'autant qu'en groupant les formes, il n'est plus possible de les
déplacer indépendamment.
Sur une feuille standard, l'accrochage du connecteur s'effectue parfaitement
et le déplacement indépendant des formes s'effectue parfaitement. Sur un
graphique, cet accrochage ne se fait pas et lorsqu'on déplace une forme, le
connecteur reste sur place et se désolidarise de la forme déplacée.
Peux-tu déplacer deux formes interconnectées indépendamment l'une de l'autre
sur ton Excel 2007?

Merci



"garnote" a écrit :

Bonjour,

Je n'ai pas ce problème sous 2007.
J'ai un graphique «nuage de points»
sur une feuille graphique.
Je sélectionne la zone de graphique et :
Insertion / Formes ...
1. Je choisis une première forme.
2. Je choisis une autre forme.
3. Je choisis une ligne (connecteur) pour relier les deux formes
en utilisant les marques rouges autour des formes.
4. En maintenant la touche Ctrl enfoncée, je sélectionne les trois formes
et je clique sur Outils de dessin / Format / Grouper.


Est-ce le résultat que tu attends ?

Serge




"ydellis"
> L'accrochage d'un connecteur entre deux formes dans une feuille standard
> fonctionne parfaitement. Cependant, le connecteur ne s'accroche pas aux
> formes ajoutées dans une feuille graphique. Cela fonctionnait en Excel 2003,
> plus en Excel 2007. Quelqu'un a t'il une information à ce sujet?
> Merci





garnote
Le #18089471
Salut,

Sur une feuille standard, l'accrochage du connecteur s'effectue parfaitement
et le déplacement indépendant des formes s'effectue parfaitement.



Idem chez moi


Sur un graphique, cet accrochage ne se fait pas et lorsqu'on déplace une forme, le
connecteur reste sur place et se désolidarise de la forme déplacée.



À moins que :
Fais ton «montage» sur une feuille de calcul, sélectionne les trois formes avec
Ctrl enfoncé, tape Ctrl+C, sélectionne ta zone graphique et Ctrl+V.


Est-ce que cette façon de faire te convient ?


Serge
ydellis
Le #18091481
Salut Serge,


Fais ton «montage» sur une feuille de calcul, sélectionne les trois formes avec
Ctrl enfoncé, tape Ctrl+C, sélectionne ta zone graphique et Ctrl+V.



Ce "workaround" est intéressant et il fonctionne. Cela ne peut
malheureusement pas me suffir parce qu'en réalité toutes ces manipulations
sont réalisées par du code VBA. En tout cas, c'est une piste que je peux
suivre.
A noter justement qu'en VBA, les fonctions "beginconnect", "endconnect" et
"rerouteconnections" déclenchent une erreur d'exécution "l'accès à ce membre
n'est possible que pour un connecteur", alors même que la création du
connecteur est acceptée. Voir l'exemple de microsoft repris ci-après qui
fonctionne bien avec Worksheets(1) mais pas avec Charts(1)

Set mydocument = Worksheets(1)
Set s = mydocument.Shapes
Set firstRect = s.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
Set secondRect = s.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
Set newConnector = s.AddConnector(msoConnectorCurve, _
0, 0, 100, 100)
With newConnector.ConnectorFormat
.BeginConnect firstRect, 1
.EndConnect secondRect, 1
End With
newConnector.RerouteConnections

Jusqu'à preuve du contraire, je pense qu'il s'agit d'un bug de la version
2007.

Merci à toi

Yvan
garnote
Le #18092081
Salutations distinguées,

Une idée, comme ça :

Sub ConnecteursDansGraphique()
Set myDocument = Worksheets(1)
Set s = myDocument.Shapes
Set firstRect = s.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
firstRect.Name = "un"
Set secondRect = s.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
secondRect.Name = "deux"
Set newConnector = s.AddConnector(msoConnectorCurve, _
0, 0, 100, 100)
newConnector.Name = "trois"
With newConnector.ConnectorFormat
.BeginConnect firstRect, 1
.EndConnect secondRect, 1
End With
newConnector.RerouteConnections
Set tous = s.Range(Array("un", "deux", "trois"))
tous.Select
Selection.Cut
Sheets("Graph1").Select
ActiveChart.Paste
End Sub


Serge




"ydellis"
Salut Serge,


Fais ton «montage» sur une feuille de calcul, sélectionne les trois formes avec
Ctrl enfoncé, tape Ctrl+C, sélectionne ta zone graphique et Ctrl+V.



Ce "workaround" est intéressant et il fonctionne. Cela ne peut
malheureusement pas me suffir parce qu'en réalité toutes ces manipulations
sont réalisées par du code VBA. En tout cas, c'est une piste que je peux
suivre.
A noter justement qu'en VBA, les fonctions "beginconnect", "endconnect" et
"rerouteconnections" déclenchent une erreur d'exécution "l'accès à ce membre
n'est possible que pour un connecteur", alors même que la création du
connecteur est acceptée. Voir l'exemple de microsoft repris ci-après qui
fonctionne bien avec Worksheets(1) mais pas avec Charts(1)

Set mydocument = Worksheets(1)
Set s = mydocument.Shapes
Set firstRect = s.AddShape(msoShapeRectangle, _
100, 50, 200, 100)
Set secondRect = s.AddShape(msoShapeRectangle, _
300, 300, 200, 100)
Set newConnector = s.AddConnector(msoConnectorCurve, _
0, 0, 100, 100)
With newConnector.ConnectorFormat
.BeginConnect firstRect, 1
.EndConnect secondRect, 1
End With
newConnector.RerouteConnections

Jusqu'à preuve du contraire, je pense qu'il s'agit d'un bug de la version
2007.

Merci à toi

Yvan





ydellis
Le #18093191
Merci Serge,

J'étais arrivé à la même conclusion et tu m'as devancé pour la transcrire
sur le forum.
En effet, ce "Workaround" fonctionne correctement et je te remercie pour ta
suggestion de copy/paste et le temps que tu as consacré à cette discussion.

Cordialement

Yvan


Set tous = s.Range(Array("un", "deux", "trois"))
tous.Select
Selection.Cut
Sheets("Graph1").Select
ActiveChart.Paste


Publicité
Poster une réponse
Anonyme