gratifiant > microsoft.* > microsoft.visio

Philippe (04/05/2010, 20h51)
Bonjours à tous,

J'utilise VISIO 2003. Pour une représentation géographique, j'utilise
un fond de carte. Les sites sont représentés par des formes dont les
propriétés personnalisées sont issues d'une base de données.Ceci
fonctionne déjà.
Mon problème: Comment placer de manière automatique ces formes en
utilisant comme propriété les coordonnées géographiques de ces sites
( inclus dans les propriétés des formes).
Précision: Bien sur je pourrai utiliser des sites comme GOOGLES MAPS
mais pour des raisons de confidentialités l accès est limité à un
intranet sans lien sur internet.

Merci à tous ceux qui pourront répondre à mon besoin.N'étant pas un
spécialiste de VISIO, soyez le plus explicite possible.
Philippe
Michel LAPLANE - MVP Visio,MCTS (06/05/2010, 12h26)
Bonjour Philippe,

Accroche toi JANOT !!!
Il faut d'abord choisir une échelle pour ton dessin (1/50, 1/100, ...) "Mise en page=>échelle du
dessin"
Ensuite, une donnée de forme doit contenir la coordonnée "X" nommons la par exemple COORDX
Ensuite, une donnée de forme doit contenir la coordonnée "Y" nommons la par exemple COORDY
Tu rajoutes ensuite à ta forme une Section "Cellule utilisateur":
Sélectionnes ta forme et "Fenetre=>Afficher la Shapesheet"
Puis "Insertion=>Section=>User defined cells"
Puis remplaces "User.Row_1" par User.ScaledCoordX
Puis dans la cellule Value tapes la formule suivante :
SETF(GetRef(PinX),Prop.COORDX+ThePage!XRulerOrigin )
ce qui veut dire que lorsque tu modifies la donnée de forme COORDX, le PinX de ta forme
(sa position en X) va prendre la valeur de celle-ci avec l'offset de la règle
Puis Click-droit sur la ligne "Insérer une ligne"
Puis remplaces "User.Row_2" par User.ScaledCoordY
Puis dans la cellule Value tapes la formule suivante :
SETF(GetRef(PinY),Prop.COORDY+ThePage!YRulerOrigin )
Tu met ta forme dans un gabarit.

Lorsque tu pose ta forme, elle se positionnera à la valeur initiale de COORDX et de COORDY. Aprés il
te suffit de modifier les valeurs des deonées de forme
et la forme va se positionner.

Bonne continuation sur

"Philippe" <philbaillot> a écrit dans le message de groupe de discussion :
93615ac1-2184-453b-a455-13c0a079c6d8...
[..]
Philippe (11/05/2010, 19h30)
On 6 mai, 12:26, "Michel LAPLANE - MVP Visio,MCTS"
<michlapl> wrote:
[..]
> Bonne continuation surwww.groupemsvisio.fr
> "Philippe" <philbail> a écrit dans le message de groupe de discussion :
> 93615ac1-2184-453b-a455-13c0a079c...@k41g2000yqb.googlegroups.com...


JANOT c'est accroché!

Tout d'abord merci pour ces précieuses informations. cela fonctionne
presque.
J'ai eu un petit message d'erreur en entrant les formules dans le
champ "Value" des lignes "User.ScaledCOORD_" car je n'avais pas ajouté
dans le section "Custom Properties" les 2 lignes "Prop.COORD_".
Maintenant ce qui me manque c'est la concordance entre les coordonnées
réelles des sites (latitude et longitude) et leur place sur la dessin.
Je n'ai trouvé que l'unité "mêtre" dans l'onglet Outils -->Option --
>Unité ce qui correspond le mieux à cette application. Comment

renseigne-t-on l'origine du dessin (décalage du point d'origine). Ou
peut-on renseigner la fonction de transfert entre les coordonnées
polaires et celle en mêtres de la grille du dessin. Existe-il d'autre
moyen de le faire?
merci de votre compréhension
Michel LAPLANE - MVP Visio,MCTS (12/05/2010, 08h53)
Pour l'origine
1ere possibilité
Faire afficher les règles (Affichage=>Règles")
Fixer l'origine voulue tout en maintenant la touche CONTROL enfoncée, cliques à
l'intersection des règles et glisse l'origine à
l'endroit souhaité.
2eme possibilité
"Outils=>Régle et Grille=>Zéro de la règle"
3eme possibilité
En modifiant la Cellule XRulerOrigin et YRulerOrigin dans la ShapeSheet de la page

Pour L'unité
"Mise en page=>Propriété de page"

Pour le transfert des coordonnées Polaires il te faut faire de la géométrie
Le but est de modifier la formule du 2ème paramètre de la fonction SETF
Tu peux utiliser les fonctions LOC, LOCTOLOC, LOCTOPAR (voir dans la doc du SDK de Visio) ou
ici


Bonne continuation sur

"Philippe" <philbaillot> a écrit dans le message de groupe de discussion :
e0a1647a-9cd9-4e98-badb-18de80c4c812...
[..]
Discussions similaires