OVH Cloud OVH Cloud

Comment accéder en VB aux coordonnées des extrémités d'une flèche Powerpoint ?

5 réponses
Avatar
Wabadooboo
Bonjour,

En VB PPT, la propriété .addline utilise - logiquement - les coordonnées de
début et de fin d'une flèche (BeginX, BeginY, EndX, EndY) comme paramètres
pour créer cette flèche.

En revanche, pour accéder ensuite aux coordonnées de la flèche, une fois
celle-ci créée, je ne trouve dans l'aide que des références à .top, .left,
.height, .width, cad. les coordonnées du rectangle dans lequel s'insère la
fléche.

Outre le fait que ce n'est pas très intuitif de la manipuler de cette façon,
je ne sais en plus pas sur quelle diagonale du rectangle se trouve la
flèche, ni son sens.

Y a-t-il un moyen de récupérer les coordonnées X,Y d'une flèche existante
sur une présentation PPT ? Code du style :

Const LINE_TYPE = 9 ' (C'est la constante utilisée par MS pour déterminer
qu'une forme est de type Trait/Flèche)
Set myDocument = ActivePresentation.Slides(1)
For Each sh In myDocument.Shapes
' Ne retenir que les formes de type "traits" (.type = 9)
If sh.Type = LINE_TYPE Then
<récupérer l'abscisse de début de la flèche>
<récupérer l'ordonnée de début de la flèche>
<récupérer l'abscisse de fin de la flèche>
<récupérer l'ordonnée de fin de la flèche>
End If
Next

Je me serais attendu à trouver ça en propriétés de l'objet LineFormat, mais
cela n'a pas été le cas. Quelles autres pistes ?

Merci pour votre aide.

Cordialement

5 réponses

Avatar
Wabadooboo
Pas de réponses ?

VB Powerpoint n'a pas l'air très utilisé ?



"Wabadooboo" a écrit dans le
message de news:
Bonjour,

En VB PPT, la propriété .addline utilise - logiquement - les coordonnées
de début et de fin d'une flèche (BeginX, BeginY, EndX, EndY) comme
paramètres pour créer cette flèche.

En revanche, pour accéder ensuite aux coordonnées de la flèche, une fois
celle-ci créée, je ne trouve dans l'aide que des références à .top, .left,
.height, .width, cad. les coordonnées du rectangle dans lequel s'insère la
fléche.

Outre le fait que ce n'est pas très intuitif de la manipuler de cette
façon, je ne sais en plus pas sur quelle diagonale du rectangle se trouve
la flèche, ni son sens.

Y a-t-il un moyen de récupérer les coordonnées X,Y d'une flèche existante
sur une présentation PPT ? Code du style :

Const LINE_TYPE = 9 ' (C'est la constante utilisée par MS pour déterminer
qu'une forme est de type Trait/Flèche)
Set myDocument = ActivePresentation.Slides(1)
For Each sh In myDocument.Shapes
' Ne retenir que les formes de type "traits" (.type = 9)
If sh.Type = LINE_TYPE Then
<récupérer l'abscisse de début de la flèche>
<récupérer l'ordonnée de début de la flèche>
<récupérer l'abscisse de fin de la flèche>
<récupérer l'ordonnée de fin de la flèche>
End If
Next

Je me serais attendu à trouver ça en propriétés de l'objet LineFormat,
mais cela n'a pas été le cas. Quelles autres pistes ?

Merci pour votre aide.

Cordialement



Avatar
Jean-Pierre FORESTIER
Comme tu le dis, le VB de PPT n'est pas énormément utilisé : quand à la
flèche ... Les copier-coller évitent de chercher ce genre d'information.
Désolé pour toi

--
Jean-Pierre FORESTIER Microsoft MVP PowerPoint
Auteur de PowerPoint 2002 chez Micro Application
"Wabadooboo" a écrit dans le
message news:
Pas de réponses ?

VB Powerpoint n'a pas l'air très utilisé ?



"Wabadooboo" a écrit dans le
message de news:
Bonjour,

En VB PPT, la propriété .addline utilise - logiquement - les coordonnées
de début et de fin d'une flèche (BeginX, BeginY, EndX, EndY) comme
paramètres pour créer cette flèche.

En revanche, pour accéder ensuite aux coordonnées de la flèche, une fois
celle-ci créée, je ne trouve dans l'aide que des références à .top,
.left,


.height, .width, cad. les coordonnées du rectangle dans lequel s'insère
la


fléche.

Outre le fait que ce n'est pas très intuitif de la manipuler de cette
façon, je ne sais en plus pas sur quelle diagonale du rectangle se
trouve


la flèche, ni son sens.

Y a-t-il un moyen de récupérer les coordonnées X,Y d'une flèche
existante


sur une présentation PPT ? Code du style :

Const LINE_TYPE = 9 ' (C'est la constante utilisée par MS pour
déterminer


qu'une forme est de type Trait/Flèche)
Set myDocument = ActivePresentation.Slides(1)
For Each sh In myDocument.Shapes
' Ne retenir que les formes de type "traits" (.type = 9)
If sh.Type = LINE_TYPE Then
<récupérer l'abscisse de début de la flèche>
<récupérer l'ordonnée de début de la flèche>
<récupérer l'abscisse de fin de la flèche>
<récupérer l'ordonnée de fin de la flèche>
End If
Next

Je me serais attendu à trouver ça en propriétés de l'objet LineFormat,
mais cela n'a pas été le cas. Quelles autres pistes ?

Merci pour votre aide.

Cordialement







Avatar
Wabadooboo
Que veux-tu dire, "les copier-coller etc..." ?


"Jean-Pierre FORESTIER" a
écrit dans le message de news:
Comme tu le dis, le VB de PPT n'est pas énormément utilisé : quand à la
flèche ... Les copier-coller évitent de chercher ce genre d'information.
Désolé pour toi

--
Jean-Pierre FORESTIER Microsoft MVP PowerPoint
Auteur de PowerPoint 2002 chez Micro Application
"Wabadooboo" a écrit dans le
message news:
Pas de réponses ?

VB Powerpoint n'a pas l'air très utilisé ?







Avatar
Jean-Pierre FORESTIER
Simplement que lorsque je veux reproduire un objet (une flèche) dans
exactement la même position, je la copie et colle ou je la dupliques. Ainsi
je garde les mêmes orientations, longueur, pente etc.

--
Jean-Pierre FORESTIER Microsoft MVP PowerPoint
Auteur de PowerPoint 2002 chez Micro Application
"Wabadooboo" a écrit dans le
message news:
Que veux-tu dire, "les copier-coller etc..." ?


"Jean-Pierre FORESTIER" a
écrit dans le message de news:
Comme tu le dis, le VB de PPT n'est pas énormément utilisé : quand à la
flèche ... Les copier-coller évitent de chercher ce genre d'information.
Désolé pour toi

--
Jean-Pierre FORESTIER Microsoft MVP PowerPoint
Auteur de PowerPoint 2002 chez Micro Application
"Wabadooboo" a écrit dans
le


message news:
Pas de réponses ?

VB Powerpoint n'a pas l'air très utilisé ?











Avatar
Wabadooboo
Merci pour la précision. En l'occurence, cela ne m'aidera hélas pas, car mon
problème n'est pas de créer la flèche (la fonction VB qui la crée me
convient). C'est plutôt d'orienter des flèches existantes, en VB, à partir
de valeurs saisies dans un champ, ou de la position d'un curseur, définies
par l'utilisateur.

Merci quand même pour l'aide.

Cordialement


"Jean-Pierre FORESTIER" a
écrit dans le message de news:
Simplement que lorsque je veux reproduire un objet (une flèche) dans
exactement la même position, je la copie et colle ou je la dupliques.
Ainsi
je garde les mêmes orientations, longueur, pente etc.

--
Jean-Pierre FORESTIER Microsoft MVP PowerPoint
Auteur de PowerPoint 2002 chez Micro Application
"Wabadooboo" a écrit dans le
message news:
Que veux-tu dire, "les copier-coller etc..." ?


"Jean-Pierre FORESTIER" a
écrit dans le message de news:
Comme tu le dis, le VB de PPT n'est pas énormément utilisé : quand à la
flèche ... Les copier-coller évitent de chercher ce genre
d'information.
Désolé pour toi

--
Jean-Pierre FORESTIER Microsoft MVP PowerPoint
Auteur de PowerPoint 2002 chez Micro Application
"Wabadooboo" a écrit dans
le


message news:
Pas de réponses ?

VB Powerpoint n'a pas l'air très utilisé ?