Vous êtes sur la page 1sur 608

Developing Visio Solutions

pour Microsoft Visio 2000


Les informations contenues dans ce document, y compris les URL et autres rfrences des sites Web Internet, pourront faire lobjet de modifications
sans pravis. Sauf mention contraire, les exemples de socits, d'organisations, de produits, de personnes et d'vnements sont fictifs et toute ressem-
blance avec des socits, des organisations, des produits, des personnes ou des vnements rels serait tout fait fortuite. Lutilisateur est tenu dobserver
la rglementation relative aux droits dauteur applicable dans son pays. Sans limitation des droits issus des droits d'auteur, aucune partie de ce manuel ne
peut tre reproduite, stocke ou incluse dans un systme de rcupration de donnes ou transmise quelque fin ou par quelque moyen que ce soit (lec-
tronique, mcanique, photocopie, enregistrement ou autre) sans la permission expresse et crite de Microsoft Corporation.
Les produits mentionns dans ce document peuvent faire lobjet de brevets, de dpts de brevets en cours, de marques, de droits dauteur ou dautres
droits de proprit intellectuelle et industrielle de Microsoft. l'exception des droits expressment viss dans un contrat de licence crit manant de
Microsoft, la fourniture de ce document ne vous confre aucune licence sur ces brevets, marques, droits dauteur ou autres droits de proprit intellec-
tuelle et industrielle.
2000 Visio Corporation. Tous droits rservs.
Microsoft, Active Directory, ActiveX, FoxPro, FrontPage, MS-DOS, Outlook, PowerPoint, Visual Basic, Visual C++, Visual FoxPro, Visual J++, Visual
SourceSafe, Visual Studio, Win32, Windows et Windows NT sont soit des marques de Microsoft Corporation, soit des marques dposes de Microsoft
Corporation, aux tats-Unis dAmrique et/ou dans dautres pays.
Visio, ShapeSheet et SmartShapes sont soit des marques de Visio Corporation, soit des marques dposes de Visio Corporation, aux tats-Unis
dAmrique et/ou dans dautres pays. Visio Corporation est une filiale contrle cent pour cent par Microsoft Corporation.
Technologies de fournisseurs tiers :
Parties sous copyright 1991-1997 Compuware Corporation.
Parties du logiciel sous licence accorde Visio Corporation par SwitchSoft Systems, Inc. copyright 1996-1999. Tous droits rservs.
ImageStream Graphics Filters copyright 1998 par INSO Corporation. Tous droits rservs.
International CorrectSpell, systme de vrification orthographique, copyright 1995 par Lernout & Hauspie Speech Products N.V. Tous droits rservs.
Certaines fonctionnalits graphiques LZW sous licence de Unisys Corporation (brevet amricain N 4 558 302 et quivalents trangers).
Certaines images clipart utilises dans ce produit sont drives d'images protges par le copyright 1988-1995 3G Graphics, Inc. de IMAGES WITH
IMPACT! FOR WINDOWS Vol. 1. Ces images sont utilises ici dans le cadre d'un contrat de licence non exclusif entre Visio Corporation et 3G
Graphics, Inc., 114 Second Avenue South, Suite 104, Edmonds, WA 98020, tats-Unis, (425) 774-3518 ou (800) 456-0234.
Certaines cartes intgres dans ce produit ont t extraites de donnes fournies gracieusement par Environmental Systems Research Institute, Inc.,
380 New York Street, Redlands, CA 92373-8100, tats-Unis, (909) 793-2853.
Les noms de produits et de socits rels mentionns dans la prsente documentation sont des marques de leurs propritaires respectifs.
0500 PN X05-69333
Table des mat ires
Prface.................................................................................................................................1
A propos du prsent guide.............................................................................................. 2
Connaissances ncessaires ......................................................................................... 2
Conventions ............................................................................................................... 2
Nouvelles fonctions destines aux dveloppeurs........................................................... 3
Matriaux de rfrence en ligne...................................................................................... 4
Matriaux de rfrence fournis sur le CD de Visio 2000 ......................................... 4
Matriaux de rfrence sur le site Web de Visio....................................................... 5
Chapitre 1 Prsentation du manuel Developing Visio Solutions..................................................7
A propos des solutions Visio........................................................................................... 8
Modlisation au moyen de formes Visio .................................................................. 8
Exemple de solution Visio dautomatisation des ventes sur le terrain.................. 13
Utilisation de formes Visio pour crer des solutions .................................................. 15
Assemblage dobjets dans des dessins ..................................................................... 15
Utilisation de formes comme composants ............................................................. 16
Dveloppement de formes laide de la technologie SmartShapes............................ 18
Recours Automation dans une solution Visio .......................................................... 20
Automation et objets Visio...................................................................................... 20
Exemple de surveillance des vnements et de calcul dun total .......................... 22
Planification dune solution Visio................................................................................ 25
Planification du processus de dveloppement........................................................ 25
Planification des formes et des gabarits .................................................................. 27
Planification de modles de dessin.......................................................................... 28
Utilisation dAutomation dans les formes et les modles ...................................... 29
Intgration dune solution Visio et dune base de donnes ................................... 29
Choix concernant la mise en oeuvre dAutomation .............................................. 30
Chapitre 2 Cration de formes Visio.................................................................................................33
Anatomie des formes Visio........................................................................................... 34
Formes ouvertes et fermes ..................................................................................... 35
Formes 1D ou 2D..................................................................................................... 36
Poignes des formes ................................................................................................. 36
Formes en groupes ................................................................................................... 38
Conception de formes ................................................................................................... 39
Utilisation des outils de dessin lors de la cration de formes ................................ 39
Cration de formes fermes..................................................................................... 41
Cration de formes avec des lments rcurrents .................................................. 41
Cration de groupes ................................................................................................. 41
Cration de formes par fusion................................................................................. 42
iv TABL E DES MATI ERES
Importation de formes issues dautres programmes ...................................................44
Importation dimages graphiques ...........................................................................44
Modification de mtafichiers et de bitmaps imports............................................45
Conversion de mtafichiers imports en formes ....................................................46
Conversion de bibliothques de symboles CAO en formes ...................................46
Ajustement de formes Visio existantes.........................................................................47
Modification des formes ..........................................................................................47
Modification des groupes.........................................................................................48
Chapitre 3 Formes de base, gabarits, modles et documents Visio.......................................... 51
Cration de formes de base et de gabarits ....................................................................52
Cration dun gabarit ...............................................................................................53
Cration de formes de base dans des gabarits.........................................................54
Modification des formes de base dans les gabarits .................................................55
Cration de modles ......................................................................................................56
Cration dun modle ..............................................................................................56
A propos des pages, des arrire-plans et des calques .............................................. 58
Ouverture et enregistrement de documents Visio.......................................................60
Composants dun document Visio..........................................................................60
Ouverture dun fichier Visio....................................................................................61
Choix du type de fichier adapt votre solution....................................................62
Chapitre 4 Formules Visio.................................................................................................................. 63
Fentre ShapeSheet ........................................................................................................64
Affichage de la fentre ShapeSheet ..........................................................................64
Affichage des sections de la fentre ShapeSheet......................................................66
Sections ShapeSheet : prsentation et objet de leur contrle.................................67
Examen dune forme dans la fentre ShapeSheet ...................................................70
Elments des formules Visio .........................................................................................72
Saisie et modification des formules dans la fentre ShapeSheet ............................72
Fonctions et oprateurs des formules Visio............................................................73
Rfrences de cellule ShapeSheet.............................................................................75
Rgles concernant les rfrences de cellule dans les formules................................77
Units de mesure des formules Visio ......................................................................78
Units multidimensionnelles ...................................................................................79
Indication des units de mesure ..............................................................................79
Conception de formules Visio ......................................................................................80
Hritage des formules dune forme .........................................................................80
Formules des sections Cellules personnalises et Montage....................................81
Protection des formules ...........................................................................................84
Contrle du recalcul des formules...........................................................................84
Ajout de fonctionnalits aux formules Visio laide dAutomation ..........................86
Chapitre 5 Contrle de la gomtrie des formes laide de formules...................................... 87
Gomtrie des formes....................................................................................................88
Description de formes dans un systme de coordonnes ......................................89
Reprsentation de la gomtrie dune forme laide de formules.........................90
Reprsentation de la position dune forme sur une page.......................................92
Mesure visant empcher les utilisateurs de dplacer une forme.........................94
TABL E DES MATI RES v
Contrle de ltirement et de la rduction des formes ................................................ 94
Exemple de formules calcules sur la base de la hauteur ....................................... 95
Optimisation de lexemple de flche ....................................................................... 97
Contrle du retournement et de la rotation des formes ............................................. 98
Consquences du retournement dune forme........................................................ 98
Consquence de la rotation dune forme.............................................................. 100
Cration de formes pouvant tre retournes et pivotes ..................................... 101
Mesure permettant dempcher tout retournement ou toute rotation
des formes............................................................................................................... 102
Contrle des courbes des formes................................................................................ 103
Utilisation des styles dangle arrondi .................................................................... 104
Prsentation des arcs .............................................................................................. 104
Conversion des segments de trait et darc............................................................. 108
Formules darc utiles .............................................................................................. 109
Optimisation de la gomtrie dune forme................................................................ 110
Limitation du comportement dune forme laide de verrouillages........................ 111
Chapitre 6 Regroupement et fusion de formes.............................................................................113
Diffrences entre formes regroupes et formes fusionnes....................................... 114
Cration et contrle des groupes ................................................................................ 115
Regroupement et dissociation de formes.............................................................. 115
Modification dun groupe...................................................................................... 116
Incidence du regroupement de formes sur leurs formules .................................. 116
Contrle du comportement des groupes ................................................................... 118
Contrle du mode de slection des groupes ......................................................... 118
Dfinition du comportement de redimensionnement des formes regroupes .. 119
Redimensionnement des formes dans un seul sens ............................................. 121
Exemple de cration dun cube ............................................................................. 122
Protection du formatage des formes figurant dans des groupes............................... 126
Cration et contrle des formes fusionnes............................................................... 126
Fusion de formes .................................................................................................... 127
Remplissage des formes fusionnes....................................................................... 128
Masquage de la gomtrie dune forme ................................................................ 129
Chapitre 7 Amlioration du comportement des formes..............................................................131
Flexibilit des formes grce aux poignes de contrle............................................... 132
Ajout dune section Points de contrle une forme............................................ 132
Dfinition dune poigne de contrle ................................................................... 133
Dfinition du point dancrage dune poigne de contrle................................... 136
Dfinition du comportement dune poigne de contrle.................................... 137
Commandes du menu contextuel .............................................................................. 138
Dfinition dune commande de menu contextuel ............................................... 139
Contrle de lapparence dune commande de menu contextuel......................... 140
Commandes coches dans le menu contextuel .................................................... 141
Commandes de menu contextuel en gris............................................................ 142
Masquage et affichage de commandes dans le menu contextuel ........................ 142
Exemple dutilisation de commandes de menu contextuel afin de modifier la
gomtrie dune forme........................................................................................... 143
Mode de fonctionnement des formules ................................................................ 145
vi TABL E DES MATI ERES
Proprits personnalises ............................................................................................146
Utilisation de proprits personnalises ...............................................................146
Dfinition des proprits personnalises ..............................................................148
Ajout de proprits personnalises une forme de base......................................151
Etablissement dune liaison entre les proprits personnalises et une base de
donnes ...................................................................................................................151
Formules dvnements...............................................................................................152
Utilisation des cellules dans la section Evnements .............................................153
Simulation dvnements avec la fonction DEPENDDE .....................................154
Fonctions excutant des actions ............................................................................154
Remarques concernant les performances des formules dvnement .................156
Chapitre 8 Liaison des formes : formes 1D et collage................................................................ 157
Prsentation des formes 1D et 2D..............................................................................158
Conversion des formes 1D et 2D...........................................................................159
Galerie de formes 1D..............................................................................................160
Cration de liens 1D repositionnables et dautres types de lien................................161
Cration de liens repositionnables ........................................................................162
Autres exemples de cration de liens 1D...............................................................163
Cration dun lien avec angle.................................................................................164
Cration dune forme 1D en fonction de la hauteur ............................................166
Contrle du mode de connexion des formes .............................................................169
Dfinition du comportement de collage dun lien ...............................................169
Prcision des lments pouvant tre colls ...........................................................171
Prsentation des points de connexion...................................................................171
Ajout de points de connexion une forme...........................................................174
Attribution dun nom aux points de connexion ..................................................176
Conception de formes de lien dynamique ............................................................177
Chapitre 9 Cration dun comportement de texte ....................................................................... 179
A propos du texte contenu dans les formes et dans les formes de base....................180
Affichage des attributs de texte dans la fentre ShapeSheet .................................181
Contrle de la position du bloc de texte ...............................................................182
Ajout de poignes de contrle permettant de manipuler un bloc de texte .........183
Apparence des poignes de contrle du texte dans la fentre ShapeSheet ..........183
Contrle du texte dans un groupe.........................................................................184
Redimensionnement de formes contenant du texte..................................................185
Contrle de la taille du bloc de texte .....................................................................186
Contrle de la largeur du bloc de texte .................................................................186
Contrle de la hauteur dun bloc de texte.............................................................187
Choix de la taille de la forme daprs la quantit de texte....................................188
Choix de la taille de la forme daprs la valeur du texte.......................................189
Modification de la taille de la police lors du redimensionnement dune forme.189
Cration de formules de redimensionnement du texte laide de lAssistant
SmartShape .............................................................................................................189
Ecriture de formules de redimensionnement personnalises ..............................190
TABL E DES MATI RES vii
Contrle de la rotation du texte ................................................................................. 191
Contrle de la rotation du texte laide de lAssistant SmartShape.................... 192
Formules de pesanteur........................................................................................... 193
Formules de rotation inverse du texte droit ......................................................... 193
Exemples de contrainte de taille du bloc de texte................................................. 194
Contrainte de largeur dun bloc de texte droit ..................................................... 195
Contrle de la largeur dun bloc de texte droit dcal ......................................... 196
Utilisation des formules de texte ................................................................................ 198
Affichage et formatage des rsultats dune formule ............................................. 198
Affichage de la largeur dune forme dans diffrentes units................................ 198
Affichage des valeurs dangle normalises ............................................................ 199
Formatage des chanes et sortie du texte............................................................... 200
Utilisation de la fonction format........................................................................... 200
Affichage des proprits personnalises formates .............................................. 201
Protection des formules de texte ........................................................................... 202
Test des formules de bloc de texte......................................................................... 203
Chapitre 10 Gestion des styles, des formats et des couleurs......................................................205
Utilisation des styles dans la page de dessin............................................................... 206
Prsentation des styles............................................................................................ 206
Paramtrage des styles par dfaut dun dessin...................................................... 207
Cration dun style ................................................................................................. 208
Modification dun style.......................................................................................... 209
Instructions concernant lapplication de styles aux formes ...................................... 209
Reformatage des formes sur la page de dessin...................................................... 210
Reformatage des formes de base dans un gabarit autonome............................... 211
Reformatage de toutes les occurrences dune forme de base............................... 212
Utilisation de styles dans les gabarits et les modles.................................................. 213
Maintien de la cohrence dans les fichiers............................................................ 213
Utilisation de conventions de dnomination pour les styles ............................... 214
Instructions concernant la dfinition des styles ................................................... 214
Protection des formats locaux des formes ................................................................. 215
Utilisation de loption Conserver le formatage local............................................ 216
Utilisation de la cellule VerrFormat et de la fonction PROTECTION............... 216
Gestion de la couleur dans les styles, les formes et les fichiers.................................. 216
Modification de la palette de couleurs .................................................................. 217
Normalisation des palettes de couleurs pour tous les documents....................... 217
Utilisation dune formule pour dfinir une couleur personnalise..................... 218
Motifs personnaliss.................................................................................................... 219
Cration dun motif personnalis.......................................................................... 220
Cration de motifs de remplissage personnaliss ................................................. 222
Couleurs du motif de remplissage......................................................................... 222
Cration de motifs en mosaque............................................................................ 223
Cration de motifs de trait personnaliss ............................................................. 224
Cration dextrmits de traits personnalises ..................................................... 227
viii TABL E DES MATI ERES
Chapitre 11 Rorganisation des formes dun dessin .................................................................... 229
Attribution de formes et de formes de base des calques......................................... 230
Utilisation optimise des calques...........................................................................230
Attribution de formes de base des calques .........................................................231
Cration dune grille....................................................................................................233
Dfinition de la grille pour la page de dessin dun modle..................................233
Cration de formes de base fonctionnant avec une grille ....................................234
Stockage dinformations de grille laide de formules......................................... 235
Alignement des formes sur des repres et des points de repre ................................237
Instructions concernant lutilisation de repres ou de grilles ..............................237
Manipulation des repres et des points de repre ................................................238
Repres se trouvant sur une page pivote .............................................................239
Regroupement de repres et de formes .................................................................239
Accrochage de formes une grille laide des rectangles de slection .....................240
Rglage de la taille du rectangle de slection dune forme ...................................240
Mise jour dun rectangle de slection.................................................................242
Modification du rectangle de slection des formes 1D........................................243
Cration de formes et mise en page automatique......................................................243
Dfinition des options de mise en page de la page ...............................................244
Dfinition du comportement des formes et des connecteurs ..............................246
Chapitre 12 Formes mises lchelle et dessins cots............................................................... 249
Choix dune chelle de dessin approprie ..................................................................250
Prsentation des chelles de dessin et de page ......................................................251
Facteurs prendre en compte lors du choix dune chelle de dessin..................252
Choix des chelles des formes de base ........................................................................253
Dfinition dune chelle approprie pour une forme de base .............................254
Dfinition de lchelle dune forme de base..........................................................256
Cration de formes non mises lchelle ...................................................................257
Chapitre 13 Diffusion de gabarits et de modles .......................................................................... 259
Conception de formes personnalises pour la distribution ......................................260
Procdure concernant la conception des formes..................................................260
Remarques concernant la distribution des formes ...............................................261
Test des formes de base ...............................................................................................262
Contrle de la cohrence des formes de base........................................................262
Contrle de la forme de base dans la fentre de dessin de cette forme ...............263
Test des diffrentes chelles de page des formes de base......................................263
Ajout dune aide aux formes de base ..........................................................................266
Association dune aide une forme de base .........................................................266
Test de laide sur les formes ...................................................................................268
Finalisation et test dun gabarit...................................................................................268
Cration de raccourcis vers des formes de base....................................................268
Nettoyage des formes de base dans un gabarit .....................................................270
Nettoyage dun fichier de gabarit ..........................................................................271
Test des gabarits......................................................................................................272
Finalisation et test dun modle..................................................................................273
Nettoyage dun modle ..........................................................................................273
Test dun modle ....................................................................................................274
TABL E DES MATI RES ix
Installation des gabarits et des modles...................................................................... 277
Dplacement des fichiers de modle ..................................................................... 277
Protection des gabarits et des modles.................................................................. 277
Chapitre 14 Automation et le modle dobjet de Visio..................................................................279
Prsentation dAutomation ........................................................................................ 280
Modle dobjet de Visio .............................................................................................. 280
Rcupration et libration dobjets Visio................................................................... 283
Dclaration de variables objets .............................................................................. 283
Accs aux objets de Visio via les proprits .......................................................... 284
Rfrence un objet dune collection ................................................................... 285
Itration dans une collection................................................................................. 286
Libration dun objet ............................................................................................. 287
Utilisation de rfrences dobjet composes......................................................... 288
Limitation de la porte et de la dure de vie des variables objets ........................ 288
Utilisation des proprits et des mthodes ................................................................ 289
Dclaration de variables utilisables comme valeurs renvoyes et
comme arguments.................................................................................................. 289
Lecture et dfinition des proprits....................................................................... 289
Utilisation de la proprit par dfaut dun objet .................................................. 290
Utilisation de mthodes ......................................................................................... 291
Chapitre 15 Programmation dans Visio avec Microsoft VBA......................................................293
Utilisation de lEditeur Visual Basic ........................................................................... 294
Dmarrage de lEditeur Visual Basic..................................................................... 295
Navigation parmi les projets.................................................................................. 296
Enregistrement dun projet.................................................................................... 296
Cration dun projet VBA........................................................................................... 298
Insertion de modules et de modules de classe dans un projet ............................. 299
Insertion de formulaires utilisateur dans un projet ............................................. 301
Importation de fichier et exportation dun projet................................................ 302
Utilisation de la bibliothque de types Visio.............................................................. 303
Utilisation de lexplorateur dobjets...................................................................... 303
Paramtrage des rfrences aux bibliothques de types....................................... 304
Utilisation des types dobjet Visio......................................................................... 305
Utilisation des objets global et ThisDocument.......................................................... 306
Utilisation de lobjet global Visio .......................................................................... 307
Utilisation de lobjet ThisDocument..................................................................... 308
Excution du code VBA depuis Visio......................................................................... 310
Gestion des erreurs ...................................................................................................... 313
Excution du programme dans le contexte correct.............................................. 313
Verification de lexistence des objets et des valeurs renvoyes ............................ 314
Vrification des valeurs derreur ........................................................................... 314
Gestion dun projet VBA............................................................................................. 315
Suppression dlments dun projet...................................................................... 315
Protection du code ................................................................................................. 316
Utilisation du gestionnaire des programmes complmentaires .......................... 316
x TABL E DES MATI ERES
Chapitre 16 Utilisation des objets Visio Document, Page et Shape.......................................... 317
Utilisation des objets Document.................................................................................318
Rcupration dun objet Document......................................................................318
Rcupration dinformations sur des documents ................................................320
Utilisation des styles dun document ....................................................................320
Cration dun style pour un document.................................................................321
Impression et enregistrement de documents........................................................322
Utilisation des objets Page...........................................................................................324
Rcupration dun objet Page................................................................................324
Rcupration des informations sur les pages........................................................325
Ajout de pages dans un dessin ...............................................................................325
Utilisation des objets Shape ........................................................................................326
Rcupration dun objet Shape..............................................................................326
Rcupration dinformations sur une forme ........................................................328
Cration et modification de formes ......................................................................329
Ajout de texte aux formes ......................................................................................332
Rcupration du texte dune forme.......................................................................333
Identification et application des styles aux formes...............................................333
Conservation du formatage local...........................................................................334
Cration de groupes partir dun programme.....................................................335
Cration de formes de base....................................................................................336
Exemple de cration dun dessin simple ....................................................................337
Chapitre 17 Automatisation des formules ...................................................................................... 341
Utilisation des formules dans les cellules ...................................................................342
Rcupration dun objet Cell .................................................................................342
Modification des formules de cellule laide de la proprit Formula ...............345
Rcupration du rsultat dune formule ...............................................................345
Remplacement dune formule par un rsultat......................................................346
Remplacement de formules protges...................................................................347
Exemple dutilisation de formules pour dplacer des formes..............................348
Utilisation des sections et des lignes ...........................................................................349
Ajout de sections et de lignes .................................................................................349
Exemple dajout dune section Gomtrie une forme.......................................351
Suppression de sections et de lignes ......................................................................353
Modification du type dun segment ......................................................................354
Exemple ditration dans une collection de sections et de lignes ........................355
Utilisation de donnes hrites ...................................................................................356
Chapitre 18 Cration de dessins par automatisation ................................................................... 357
Cration automatise de dessins laide de formes de base......................................358
Rcupration du gabarit.........................................................................................358
Rcupration de la forme de base..........................................................................359
Insertion de la forme de base dans la page............................................................359
Choix de la position des formes sur un dessin...........................................................361
TABL E DES MATI RES xi
Utilisation de formes slectionnes ............................................................................ 363
Obtention des formes slectionnes dans une fentre ......................................... 363
Ajout et suppression de formes dans les slections .............................................. 365
Slection et dslection de formes dans une fentre ............................................ 365
Excution doprations sur les formes slectionnes ........................................... 366
Dfinition de la porte dune slection ................................................................. 366
Pages darrire-plan..................................................................................................... 367
Cration et association de pages darrire-plan.................................................... 367
Exemple ditration dans la collection Pages........................................................ 368
Exemple de configuration de pages et darrire-plans ......................................... 368
Modification des paramtres de page.................................................................... 370
Calques......................................................................................................................... 371
Identification des calques dune page ou dune forme de base............................ 371
Identification des calques auxquels une forme est attribue ............................... 372
Attribution de formes un calque et suppression................................................ 372
Ajout et suppression de calques dans les pages et les formes de base.................. 373
Modification des paramtres de calque ................................................................ 373
Chapitre 19 Automatisation des connexions dune solution Visio.............................................375
Utilisation dun objet Connect ................................................................................... 376
Rcupration dinformations dun dessin avec connexions ..................................... 378
Dtermination des formes relies.......................................................................... 378
Dtermination des parties connectes des formes ............................................... 379
Rcupration des cellules dune connexion.......................................................... 380
Instructions danalyse dun dessin avec connexions ............................................ 381
Exemples ditration dans les connexions sur une page............................................ 382
Cration dun dessin avec connexions partir dun programme............................. 384
Elments dorigine et de destination dun collage................................................ 385
Collage avec des objets Cell ................................................................................... 387
Collage dune forme une autre forme ................................................................ 387
Exemple de connexion de formes dans un diagramme de flux ................................ 389
Chapitre 20 Intgration de donnes et dune solution Visio........................................................391
Association de donnes avec des formes laide dAutomation............................... 392
Ajout de lignes de proprits personnalises et dfinies par lutilisateur............ 392
Gnration et utilisation dID uniques ................................................................. 393
Proprits Visio pour le stockage et lextraction des donnes .................................. 395
Ecriture de code pour lextraction des donnes dun dessin Visio........................... 396
Exemple dextraction de donnes dun dessin...................................................... 397
Examen du code servant lextraction des donnes dun dessin ........................ 399
Ecriture de code pour la cration dun dessin Visio partir de donnes................. 401
Exemple de cration dun dessin partir de donnes .......................................... 401
Examen du code pour la cration dun dessin partir de donnes..................... 405
Intgration dune solution Visio et dune base de donnes ...................................... 406
xii TABL E DES MATI ERES
Chapitre 21 Gestion des vnements dans Visio .......................................................................... 409
Prsentation des vnements ......................................................................................410
Rdaction du code pour les vnements ....................................................................411
Gestion des vnements dclenchs par ThisDocument .....................................412
Dclaration dune variable objet laide du mot-cl WithEvents .......................415
Dfinition dune classe recevant des vnements .................................................416
Exemple de module de classe rpondant aux vnements...................................418
Objets Event Visio .......................................................................................................420
Dfinition de lobjet Event .....................................................................................420
Obtention dinformations concernant un objet Event......................................... 422
Cration dun objet Event excutant un programme complmentaire ..............423
Persistance dun objet Event excutant un programme complmentaire ..........424
Cration dun objet Event envoyant une notification..........................................424
Exemple de procdure VisEventProc ....................................................................428
Exemple dobjets Event envoyant des notifications .............................................429
Dure de vie dun objet Event envoyant une notification....................................430
Chapitre 22 Personnalisation de linterface utilisateur Visio .................................................... 431
Elments personnalisables...........................................................................................432
Rcupration dun objet UIObject ........................................................................433
Objets relatifs aux menus .......................................................................................435
Objets relatifs aux acclrateurs.............................................................................437
Objets relatifs aux barres doutils ..........................................................................437
Objets relatifs aux barres dtat..............................................................................439
Planification des modifications de linterface utilisateur ..........................................440
Diffrences entre la personnalisation dune copie de linterface utilisateur Visio
intgre et celle dune interface personnalise......................................................440
Contrle de la porte de linterface utilisateur......................................................441
Contrle de la persistance de linterface utilisateur.............................................. 442
Modifications apportes linterface utilisateur........................................................443
Rcupration dun objet MenuSet, ToolbarSet, AccelTable ou StatusBar..........443
ID des constantes pour des contextes de fentre ..................................................444
Ajout dun menu et dune option de menu..........................................................445
Ajout dune barre doutils et dun bouton de barre doutils................................448
Paramtrage des proprits dune option .............................................................451
Suppression doptions dune interface utilisateur ................................................452
Suppression dune option de barre doutils ..........................................................454
Suppression dun acclrateur ...............................................................................455
Mise en oeuvre des modifications apportes linterface utilisateur
personnalise ..........................................................................................................456
Utilisation des fichiers dinterface utilisateur personnalise.....................................457
Fichier Custom.vsu.................................................................................................457
Enregistrement dun fichier dinterface utilisateur personnalise.......................458
Chargement dun fichier dinterface utilisateur personnalise............................458
Restauration de linterface utilisateur intgre Visio............................................459
TABL E DES MATI RES xiii
Chapitre 23 Utilisation de contrles ActiveX dans une solution Visio......................................461
Ajout de contrles ActiveX une solution Visio....................................................... 462
Utilisation du mode cration................................................................................. 462
Insertion dun contrle dans un dessin................................................................. 462
Dfinition de lordre de tabulation des contrles................................................. 464
Utilisation des proprits dambiance de Visio dans des contrles..................... 465
Impression dun dessin sans contrle ................................................................... 465
Protection des contrles contre les modifications................................................ 465
Gestion des vnements dun contrle....................................................................... 466
Utilisation des contrles lexcution........................................................................ 467
A propos des noms de contrle ............................................................................. 467
Rcupration dun contrle de la collection OLEObjects.................................... 468
Distribution de contrles ActiveX dans une solution Visio...................................... 469
Exemple de contrles ActiveX qui interagissent avec des formes............................. 470
Chapitre 24 Utilisation du gestionnaire dannulation de Visio dans votre programme..........473
Le gestionnaire dannulation de Visio........................................................................ 474
Prsentation des options de Annuler/Rtablir...................................................... 474
Fonctionnement du gestionnaire dannulation de Visio avec un programme
complmentaire...................................................................................................... 475
Cration de domaines dannulation dans votre programme complmentaire........ 477
Cration dun domaine dannulation ................................................................... 477
Association dvnements un domaine dannulation ....................................... 478
Cration dunits dannulation................................................................................... 479
Cration dune unit dannulation........................................................................ 479
Ajout dune unit dannulation dans le gestionnaire dannulation de Visio...... 481
Exemple de cration dune unit dannulation qui gre des donnes non-Visio .... 481
Chapitre 25 Distribution dune solution Visio Automation...........................................................485
Installation dune solution Visio ................................................................................ 486
Dtermination des chemins et dossiers des fichiers Visio ................................... 486
Mode de recherche des chemins de fichier de Visio............................................. 487
Contrle de lexcution dun programme.................................................................. 488
Diffusion dun programme......................................................................................... 491
Diffusion de programmes Microsoft VBA............................................................ 491
Taille des fichiers de dessin dans une solution Microsoft VBA........................... 492
Utilisation de noms universels dans une solution................................................ 493
Informations importantes concernant les licences............................................... 493
Chapitre 26 Programmation de Visio avec Microsoft Visual Basic...........................................495
Rcupration dune copie de Visio............................................................................. 496
Cration dun objet Application............................................................................ 496
Rcupration dun objet Application.................................................................... 497
Libration dun objet Application......................................................................... 497
Exemple dutilisation dun objet Application dans un programme
Microsoft Visual Basic ........................................................................................... 497
Raccourcis dutilisation dune copie de Visio....................................................... 499
Utilisation du descripteur de fentre dune copie ................................................ 500
Interactions avec dautres programmes ................................................................ 500
Cration dun document Visio................................................................................... 501
xiv TABL E DES MATI ERES
Gestion des erreurs dans Microsoft Visual Basic .......................................................502
Interprtation de la chane de commande envoye par Visio votre programme..503
Excution du programme depuis le sous-menu Macros......................................503
Excution du programme lors du calcul dune formule ......................................504
Excution du programme laide darguments....................................................505
Excution du programme depuis le dossier Startup ............................................506
Analyse de la chane de commande.......................................................................506
Utilisation de la bibliothque de types de Visio dans les projets
Microsoft Visual Basic.................................................................................................506
Migration de Microsoft Visual Basic VBA...............................................................507
Chapitre 27 Programmation de Visio avec C++ ............................................................................. 509
Mise disposition des objets dans Visio ....................................................................510
Prise en charge de C++ dans Visio .............................................................................511
Utilisation des classes wrapper ..............................................................................512
Interfaces situes derrire les classes wrapper.......................................................514
Rcupration dun objet Application Visio ..........................................................516
Valeurs renvoyes par les mthodes de Visio........................................................516
Arguments transmis aux mthodes Visio .............................................................518
Gestion des vnements Visio dans les programmes C++........................................520
Mise en oeuvre dun objet rcepteur .....................................................................520
Utilisation de CVisioAddonSink ...........................................................................521
Bibliothques Visio (VSL)...........................................................................................524
Avantages des bibliothques Visio.........................................................................524
Architecture dune bibliothque Visio..................................................................525
Dclaration et enregistrement de programmes complmentaires.......................526
Excution dun programme complmentaire.......................................................528
Annexe A Proprits, mthodes et vnements classs par objet ........................................ 531
Annexe B Indices de section, de ligne et de cellule ShapeSheet.......................................... 547
Indices de section, de ligne et de cellule associs aux formes....................................548
Indices de section, de ligne et de cellule associs aux styles ......................................554
Indices de section, de ligne et de cellule associs aux pages ......................................554
Indices de section, de ligne et de cellule associs aux documents.............................556
Cellules de tabulation et types de ligne.......................................................................557
Glossaire ......................................................................................................................... 559
Index................................................................................................................................. 575
Sommaire
Prf ace
Developing Visio Solutions est un guide complet qui permet de crer des solutions
graphiques avec la famille de produits Microsoft

Visio

2000. Il contient les lments


suivants :
Une prsentation de lenvironnement Visio et des concepts relatifs au
dveloppement de solutions Visio.
Des informations dtailles sur lutilisation de formules permettant de concevoir
des symboles SmartShapes

qui modlisent le comportement et les objets rels.


Des informations, des conseils et des techniques dutilisation de Microsoft

Visual
Basic

pour Applications (VBA) qui permettent denrichir lapplication Visio ou


de lutiliser en tant que composant de vos propres applications.
Une prsentation des langages de programmation Microsoft

Visual Basic

et C++
qui permettent de dvelopper des programmes utilisant Visio en tant que
composant.
Cette prface dfinit les conventions utilises dans ce guide, les connaissances
ncessaires sa comprhension, prsente les toutes dernires fonctions destines aux
dveloppeurs de solutions et rpertorie les matriaux de rfrence en ligne.
A propos du prsent guide....................................................................................... 2
Nouvelles fonctions destines aux dveloppeurs.................................................. 3
Matriaux de rfrence en ligne.............................................................................. 4
2 P RFACE
A propos du prsent guide
Le guide Developing Visio Solutions peut aider tout utilisateur souhaitant
personnaliser les formes ou les solutions Visio, notamment les dveloppeurs
dapplications, les analystes systme, les programmeurs, les architectes, les ingnieurs
et les utilisateurs de logiciels de CAO.
Connaissances ncessaires
Vous devez connatre les techniques de dessin et les commandes, les outils et les
menus de Visio. Vous devez galement matriser les systmes de coordonnes
cartsiens et les bases de la gomtrie. Des connaissances en transformation,
trigonomtrie et gomtrie analytique peuvent galement vous tre utiles.
Pour les chapitres traitant du contrle de Visio laide dun autre langage de
programmation tel que Microsoft Visual Basic pour Applications (VBA) ou C++,
vous devez connatre le langage de programmation utilis. La plupart des exemples
inclus dans cet ouvrage sont crits en langage VBA.
Convent ions
Le prsent guide utilise les conventions typographiques ci-dessous :
Par ailleurs, pour amliorer la lisibilit des exemples de code et de formule, les
conventions suivantes ont t adoptes :
Au sein des formules, des espaces ont t insrs avant et aprs les oprateurs et le
signe gal (=). Ces espaces ntant pas ncessaires, Visio les supprime si vous les
avez insrs dans les formules saisies.
Dans les exemples de code, des constantes de type numrique ou chane ont t
utilises l o vous utilisez gnralement des variables ou des constantes globales,
notamment si vous essayez de localiser des programmes.
Convention typographique Description
Gras Utilis pour reprer les termes de programmation dans le
corps du texte.
Italique Utilis pour les variables, les formules ou les termes
dfinis dans le corps du texte. Egalement utilis dans les
syntaxes pour indiquer les donnes que l utilisateur doit
saisir.
MajusculesInitiales Utilises pour amliorer la lisibilit dans Visio et dans VBA.
En ce qui concerne les termes de programmation, les
langages Visio et VBA ne diffrencient pas les majuscules
des minuscules. En revanche, C+ + fait la diffrence.
Nom de fichier Utilis pour les noms de fichier dans le corps du texte.
Po11ce hoh
popof1ohhe11e
Utilise pour les exemples de code.
P RFACE 3
Nouvelles f onct ions dest ines aux dveloppeurs
La version Visio 2000 offre une plateforme unique et puissante pour les solutions de
dessin personnalises. Elle a t enrichie de nouvelles sections, lignes et cellules
ShapeSheet

, et de nouveaux objets, proprits, mthodes et vnements Automation.


Vous disposez maintenant dun plus grand nombre doptions pour dfinir le
fonctionnement des lments des solutions. Pour plus dinformations, reportez-vous
aux aides en ligne Rfrence de ShapeSheet et Rfrence dAutomation, fournies avec
le programme Visio.
Vous bnficiez des nouvelles fonctions et des nouveaux outils suivants.
Nouveaux outils et nouvelles fonctions
Outil ou fonction Description
Prise en charge de
dessins complexes
Crez des dessins contenant un grand nombre de formes et
des formules complexes.
Amlioration des
fonctionnalits
d annulation
Bnficiez de l intgration transparente des programmes
complmentaires et des programmes externes que vous
dveloppez, et du gestionnaire d annulation de Visio.
Enrichissement du
modle de fentre
Hbergez des fentres dans Visio avec un programme externe
ou complmentaire.
Prise en charge de
M icrosoft Visual Basic
pour Applications
(VBA) 6.0
Utilisez la mme version de VBA que M icrosoft

O ffice 2000
pour simplifier le codage et amliorer la prise en charge du
dveloppement inter-application. VBA 6.0 offre de nouvelles
fonctions telles que la prise en charge de formulaires standard
et la parit de langage avec M icrosoft Visual Basic 6.0.
Personnalisation des
barres d outils
Crez des solutions hautement personnalises en travaillant
l apparence et le comportement des barres d outils et des
menus en fonction des besoins de la solution.
Dynamique en temps
rel
I nsrez une forme dans un document, puis modifiez-la :
le document est mis jour automatiquement. Cette fonction
permet de bnficier presque immdiatement des
modifications apportes aux dessins.
Enrichissement et
rationalisation de la
gomtrie
Rendez vos solutions plus efficaces en utilisant des nouveaux
types de forme gomtrique, tels que des NURBS, des
ellipses et des lignes sans fin, et en reprsentant d autres
types de forme gomtrique, tels que des polylignes. En outre,
les occurrences de forme peuvent maintenant hriter des
proprits gomtriques des formes de base.
Proprits des
documents
Grez les proprits de l ensemble du document et faites-y
rfrence dans des cellules associes un document.
Raccourcis de formes
de base
Ajoutez des raccourcis aux formes de base des gabarits pour
conomiser du temps lorsque vous grez ces formes et de
l espace pour stocker les fichiers. Les raccourcis peuvent
galement tre dots d actions lies au dplacement qui
permettent aux occurrences de chaque raccourci de
fonctionner ou d apparatre diffremment par rapport la
forme de base.
4 P RFACE
Mat riaux de rf rence en ligne
De nombreux matriaux de rfrence sont livrs sur le CD de Visio 2000. Dautres
matriaux de rfrence sont disponibles sur le site Web de Visio.
Mat riaux de rf rence f ournis sur le CD de Visio 2000
Outre les matriaux fournis dans le guide Developing Visio Solutions, vous pouvez
accder des informations de rfrence dtailles sur le CD de Visio 2000. Ces fichiers
sont stocks dans le dossier \Visio\DVS ou dans celui qui contient le programme
Visio. Pour plus dinformations concernant le contenu de ce dossier, consultez le
fichier \DVS\Lisezmoi.txt.
REMARQUE : lorsque vous utilisez Visio, si un message vous informe quun des fichiers ou
quune des ressources prcdemment mentionns est introuvable, ou que vous ne
parveniez pas les localiser, installez-les partir du CD du produit. Laide en ligne
Rfrence du dveloppeur et les exemples de fichier sont installs avec la fonction
Developing Visio Solutions, disponible uniquement si vous slectionnez loption
Installation personnalise/complte au cours de linstallation. Vous pouvez choisir lun ou
lautre de ces composants dans lcran Installation personnalise du programme
dinstallation.
Rfrences croises au
sein d un document
Faites rfrence toute cellule d un document partir d une
autre cellule de ce document. Une forme peut fonder son
comportement sur les proprits du document ou de tout
autre style, forme, page ou forme de base de ce document.
Amlioration de
l uniformit des objets
Faites pivoter les formes (bitmaps, mtafichiers et objets
O LE). Ajoutez du texte ou des proprits gomtriques aux
formes, y compris aux repres et aux groupes.
Amlioration des
fonctionnalits de
groupe
Ajoutez des proprits gomtriques directement aux groupes
et choisissez entre trois modes de slection de groupes
(le groupe en premier, le membre en premier, le groupe
uniquement).
Amlioration de la prise
en charge de la
localisation
Attribuez des noms universels aux objets et d autres noms aux
documents pour qu ils puissent tre utiliss par des solutions
indpendamment du langage.
M odification des
cellules in situ
Cliquez sur une cellule de la fentre Feuille ShapeSheet et
saisissez-y une formule directement, sans passer par la barre
de formules. Redimensionnez ensuite les colonnes dans cette
fentre pour afficher les longues formules.
Nouveaux outils et nouvelles fonctions (suite)
Outil ou fonction Description
P RFACE 5
Voici la liste des lments disponibles dans le dossier DVS :
Une illustration du modle dobjet Visio.
Des exemples de gabarits qui comprennent un assortiment de formes illustrant
une vaste gamme de fonctionnements de formes courantes.
Des modles contenant de nombreux exemples de macros Microsoft Visual Basic
pour Applications (VBA).
Les fichiers de lAssistant Documentation de gabarit, application exemple qui cre
un dessin avec une occurrence de chaque forme de base dun gabarit, ainsi que du
code source Microsoft Visual Basic utilis pour crer cette application et dautres
applications exemple.
Les fichiers de prise en charge Visual Basic, ainsi que le code source et les
programmes dutilitaire C++ dcrits au chapitre 26, Programmation de Visio
avec Microsoft Visual Basic et au chapitre 27, Programmation de Visio
avec C++ , situs dans le dossier \DVS\Libraries.
Mat riaux de rf rence sur le sit e Web de Visio
Le site Web de Visio (www.visio.com) prsente des informations concernant le
dveloppement de solutions Visio destines aux dveloppeurs de solutions
personnalises qui utilisent la technologie Visio. Ces informations sont les suivantes :
Des donnes techniques dtailles concernant la cration de symboles
SmartShapes

personnaliss, ou de produits Visio personnaliss ou automatiss.


Des mises jour dinformations destines aux dveloppeurs, notamment les
manifestations les concernant, les prochaines diffusions de donnes en ligne et les
derniers tlchargements.
Des ressources relatives au support du dveloppement, notamment les versions en
ligne des matriaux de rfrence, une base de connaissances en ligne et une
bibliothque de fichiers tlchargeables contenant des exemples de code et
dapplications.
La page Visio Developer Forum, lieu de rassemblement en ligne permettant de
partager des informations avec des dveloppeurs Visio et dobtenir de laide.
Des informations sur les services et lassistance technique Visio.
Des informations sur la formation des dveloppeurs, notamment le programme, la
description et le calendrier des cours, ainsi que quelques cours en ligne.
Des tudes de cas rels pour vous permettre de comprendre comment les
entreprises personnalisent la technologie Visio pour satisfaire leurs besoins.
Des informations sur les produits Visio destins aux dveloppeurs, tels que
Microsoft

Visio

2000, Enterprise Edition, contenant des outils pour la


modlisation, la conception et la documentation des applications.
Saisissez ladresse www.visio.com/vdn/ dans votre navigateur pour accder aux
informations relatives au dveloppement de solutions Visio.
Sommaire
1
Prsent at ion du manuel
Developing Visio Solut ions
Ce guide concerne le dveloppement de solutions. Ces solutions sont des ensembles de
formes et de programmes Microsoft

Visio

qui reprsentent fidlement la ralit et


rsolvent certains problmes de dessin.
En rgle gnrale, une solution logicielle combine lutilisation dun programme
personnalis et dapplications. Plutt que de dvelopper intgralement une
fonctionnalit, le dveloppeur de solutions utilise celles dun logiciel du commerce.
Une solution Visio utilise des formes programmables (fournies dans Visio ou
dveloppes spcialement) et un modle permettant de crer des dessins sur la base de
ces formes. Certaines solutions Visio utilisent galement Automation pour contrler
les formes et les dessins. Les programmes personnaliss dune solution Visio peuvent
tre crits dans tout langage de programmation prenant en charge Automation en
tant que contrleur, par exemple Microsoft

Visual Basic

pour Applications (VBA),


Microsoft

Visual Basic

ou C++. Pour simplifier le dveloppement de projets VBA,


lapplication Visio fournit un environnement de dveloppement intgr.
Ce chapitre prsente les fonctions essentielles de Visio, ainsi que certains concepts
permettant de choisir leur mode dutilisation. Pour tirer le meilleur parti de ce
chapitre et de ce guide, il est prfrable de connatre les commandes et les outils Visio.
Il est recommand de crer quelques dessins avant de poursuivre la lecture de ce
guide. Localisez laide en ligne de Visio et celle de ShapeSheet, fournies avec Visio
(slectionnez ? (Aide) > Rfrence du dveloppeur, puis choisissez loption de
rfrence de ShapeSheet). Cette aide fournit plus de dtails concernant les
informations de base et rpond aux questions que vous pouvez vous poser lors de la
lecture de ce guide.
A propos des solutions Visio................................................................................... 8
Utilisation de formes Visio pour crer des solutions............................................ 15
Dveloppement de formes laide de la technologie SmartShapes................... 18
Recours Automation dans une solution Visio .................................................... 20
Planification dune solution Visio ........................................................................... 25
8 CHAP I TRE 1
Si votre solution est conue pour contrler le moteur Visio avec Automation, vous
devez bien connatre le langage de programmation que vous allez utiliser. Laide en
ligne de VBA est fournie avec lapplication Visio. Si vous utilisez dautres langages de
programmation, reportez-vous la documentation fournie par le revendeur.
A propos des solut ions Visio
Une solution Visio est un ensemble de formes et de programmes Visio qui donnent
une reprsentation fidle de la ralit et permettent de rsoudre certains problmes de
dessin. En rgle gnrale, une solution Visio comporte des gabarits de formes de base
que lutilisateur peut insrer dans une page de dessin par glisser-dplacer. Il peut ainsi
crer un dessin sans avoir accomplir dopration manuelle. Une solution peut
galement comprendre des modles de dessin qui fournissent des dessins avec des
formes, telles que des blocs de titre, des logos ou des cadres, et qui prdfinissent
lchelle, la taille du dessin et, dans certains cas, le format de papier utiliser pour
limpression. Les programmes (qui apparaissent sous la forme dun code Microsoft
Visual Basic pour Applications directement dans les documents Visio de la solution
ou en tant que programmes autonomes, externes aux documents Visio) vous aident
crer le dessin, lanalyser ou transfrer des donnes entre le dessin et les sources de
donnes externes. Pour optimiser lutilisation des formes, lutilisateur peut consulter
laide en ligne.
Modlisat ion au moyen de f ormes Visio
Un modle conceptuel permet danalyser et de rsoudre un problme grce des objets
qui ressemblent aux lments du domaine du modle tudi (par exemple,
organigramme dun service, organisation des bureaux et des chaises dans un plan
damnagement, rseau de distribution ou diagramme dun circuit intgr). Comme
ces modles sont trs fidles la ralit, vous pouvez concevoir et dvelopper une
solution en utilisant des termes vocateurs pour les utilisateurs.
Dans lidal, les formes dune solution Visio doivent correspondre aux objets du
domaine modlis. La cration dun dessin donne lieu llaboration dun modle.
Le comportement de la forme garantit une modlisation et une reprsentation
graphique correctes, tout en laissant lutilisateur la possibilit de ne pas prendre en
compte certains attributs afin de crer une reprsentation lisible.
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 9
Par exemple, si vous planifiez lorganisation dun service, le domaine du modle est le
service. Les objets du domaine sont les employs. Les dessins reprsentant ce modle
sont des organigrammes simples dont les diffrentes cases sont relies entre elles par
des traits de connexion indiquant les rapports hirarchiques.
Pour rorganiser un service, il suffit
de modifier les connexions entre
les employs.
Vous pouvez galement crer un plan afin de prparer lemmnagement de votre
socit dans de nouveaux locaux. Le domaine modlis est le btiment. Les objets de
ce domaine sont les employs mais vous pouvez galement faire figurer le mobilier,
lquipement informatique, etc. Le dessin de ce modle est un diagramme
dagencement despaces indiquant lemplacement de chaque employ, ainsi que le
matriel (mobilier et quipement informatique) ncessaire pour son bureau.
Pour crer un plan dagencement,
lutilisateur dplace les formes
reprsentant les employs, le
mobilier et les quipements
informatiques.
10 CHAP I TRE 1
Vous pouvez concevoir des formes Visio pour que dautres puissent les rutiliser dans
leurs dessins sans faire appel aux outils de dessin. Lapplication Visio constitue loutil
idal de modlisation. En effet, non seulement les formes ressemblent aux objets du
domaine modlis, mais elles peuvent galement participer lamlioration du
modle.
Par exemple :
Pour rorganiser un service, il suffit de dplacer les connexions entre les employs
dans un organigramme. Les formes permettent dobtenir un organigramme prcis
car elles fournissent lutilisateur des points de connexion prdfinis. Lutilisateur
sait ainsi o placer les connexions (cela diminue les risques de mauvaise
organisation, o, par exemple, un employ aurait deux suprieurs).
Pour crer un plan dagencement, il suffit de dplacer les formes correspondant
aux employs, au mobilier et lquipement informatique dans un diagramme
dagencement despace. Les formes permettent dobtenir un agencement correct
grce des poignes de contrle que les utilisateurs peuvent faire glisser afin de
vrifier le dgagement des portes et des tiroirs. Les formes peuvent tre verrouilles
de manire empcher leur redimensionnement. Ainsi, les utilisateurs ne risquent
pas de rduire par accident le mobilier standard qui ne tiendrait plus dans un
bureau rel.
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 11
Extraction des donnes dun modle conceptuel
En rgle gnrale, un dessin Visio ne correspond qu une vue partielle dun modle,
et rarement au produit final. Pour tirer le meilleur parti des solutions Visio, il est
prfrable que les dessins reprsentent un modle dont les donnes peuvent tre
extraites automatiquement. Par exemple, dans une solution de modlisation de
processus, le dessin indique les tapes du processus. Il peut tre utile galement de
connatre le cot par transaction de chaque processus.
Donnes extraites
dun dessin de processus
Lorsque les donnes ajoutes au dessin Visio sont suffisantes, le modle complet est
stock dans le dessin. En revanche, si diffrents dessins doivent tre cohrents, vous
pouvez stocker dans une base de donnes unique et partage une partie du modle,
par exemple les spcifications techniques des cuisines, des plans de travail et des
appareils, ou les tableaux reprsentant les entres et sorties de processus.
Validation dun modle
Les modles prsentent des rgles qui dterminent le comportement des objets.
Les dessins doivent suivre certaines rgles afin dtre lisibles. Par exemple, un
organigramme dont les liens et les cases se chevauchent est plus difficilement
exploitable quun organigramme o les cases sont espaces rgulirement et dont les
liens contournent les formes.
12 CHAP I TRE 1
Toutefois, il ne suffit pas de crer un dessin dont lapparence est correcte. Les formes
et le dessin doivent avant tout permettre de vrifier lexactitude des donnes
quils reprsentent. Par exemple, dans un plan dagencement, chaque employ doit
avoir un bureau. Il est rare que plusieurs employs partagent un mme bureau.
A linverse, un mme employ nutilise que rarement plusieurs bureaux.
Une solution Visio permet danalyser les donnes extraites des dessins et de savoir si
elles suivent les rgles du modle. Supposons quune rorganisation globale de votre
socit entrane le remaniement de plusieurs services. Les structures hirarchiques
figurant sur lorganigramme de chaque service peuvent tre extraites
automatiquement, pour tre ensuite fusionnes dans une hirarchie globale qui vous
permettra de vrifier la cohrence de lensemble. Par exemple, la solution permet de
faire en sorte quaucun employ nait deux suprieurs, et que les employs qui ne
figurent pas dans la rorganisation propose aient bien t supprims sciemment de
lorganisation, etc.
Une solution Visio peut analyser les
dessins afin de valider le modle.
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 13
Exemple de solut ion Visio daut omat isat ion des vent es sur le
t errain
Lexemple suivant illustre la manire dont une solution Visio peut modliser la
ralit, extraire les donnes du modle et les valider. Dans cet exemple, la solution
concerne les ventes sur le terrain dune socit qui fabrique et commercialise des
systmes de scurit.
Dordinaire, un commercial contacte un client potentiel afin de connatre ses besoins
en scurit, conoit un systme partir des composants dun catalogue (qui peut
indiquer les prix en vigueur) et propose une esquisse sur papier du systme propos.
Le commercial fait galement un devis approximatif, puis retourne au bureau pour
formaliser ce devis. Il recre lesquisse sur ordinateur. Les prix sont tudis et calculs
sur la base de la demande et le devis est labor. Si le client laccepte, la socit prpare
un contrat lui faire signer et un ordre dexcution pour linstallation.
Lapproche standard fonctionne bien... lorsque tout se passe comme prvu.
Malheureusement, les risques derreur sont nombreux : un composant essentiel peut
avoir t oubli dans lesquisse dorigine, les connexions peuvent tre incorrectes ou
certaines peuvent manquer. Le dessin formel peut ne pas correspondre lesquisse.
Le catalogue du commercial peut tre obsolte : le systme propos comprend alors
des composants qui ne sont plus disponibles ou qui sont plus coteux. La cration
manuelle de chaque document augmente le risque derreur chaque tape du
processus, y compris au dernier stade qui concerne linstallation proprement dite sur
le site du client. Mme si tout se passe bien, chaque tape prend du temps. En effet,
chaque document doit tre prpar, vrifi et ventuellement corrig.
Grce aux solutions Visio, ce processus peut tre automatis de la manire suivante :
le commercial, muni dun ordinateur portable avec Visio et la solution
dautomatisation des ventes, rencontre un client potentiel. Lorsquils valuent
ensemble les besoins du client en matire de scurit, le commercial labore un
diagramme reprsentant le systme propos. Pour ce faire, il insre dans un dessin
Visio illustrant le site dinstallation des formes issues dun gabarit personnalis. Les
formes du systme de scurit sont pourvues de points de connexion et de poignes
de contrle qui facilitent leur organisation. Le gabarit tant mis jour rgulirement,
les composants ne risquent pas dtre obsoltes.
14 CHAP I TRE 1
Systme de scurit
conu laide dune solution Visio
Les formes du systme de scurit possdent des proprits personnalises qui
stockent certaines donnes, telles que les numros de rfrence. La solution comporte
une base de donnes qui indique les prix en vigueur, et dautres informations sur les
composants et les programmes qui synchronisent les formes avec la base de donnes.
Le commercial peut ainsi effectuer les oprations suivantes :
Valider la proposition de systme de scurit en vrifiant que tous les composants
du dessin sont en place et que leurs connexions sont correctes. Le commercial peut
ainsi corriger les ventuelles erreurs alors quil se trouve encore chez le client.
Rechercher les prix en vigueur dans la base de donnes pour gnrer la liste des
pices concernant le matriel et fournir au client une valuation prcise du cot de
linstallation.
Grce la solution Visio, le commercial peut utiliser son dessin, directement sur le
terrain ou de retour au bureau, pour gnrer le devis, le contrat, lordre dexcution
de linstallation et la facture. La solution Visio cre des documents plus prcis dans un
temps rduit. Le temps gagn par le commercial lui permet de contacter davantage
de clients.
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 15
Ut ilisat ion de f ormes Visio pour crer des solut ions
Une solution Visio comprend le plus souvent des formes. Lapplication Visio permet
au dveloppeur de solutions daccder facilement des fonctions graphiques
perfectionnes grce ses outils de dessin. Les formes peuvent tre programmes
laide de formules dans la fentre ShapeSheet

.
Chaque forme Visio comporte un ensemble de formules correspondant ses
attributs, tels que sa largeur et sa hauteur. Ces formules dterminent galement son
comportement, notamment lorsquun utilisateur double-clique dessus. Etant donn
que les formes Visio peuvent tre programmes laide de formules, vous pouvez leur
faire adopter un comportement proche de celui des objets rels quelles reprsentent.
Vous pouvez par exemple associer des donnes importantes (numro de rfrence,
nom ou fabricant) aux formes reprsentant lquipement dun bureau. Ces formes,
dont le comportement unique est dict par les formules que vous rdigez, peuvent
alors devenir des composants essentiels.
Assemblage dobjet s dans des dessins
Si un graphique nest pour vous quun ensemble de vecteurs, les graphiques Visio
vont vous offrir une toute nouvelle perspective. Les formes Visio sont paramtriques :
la gomtrie et les autres attributs dune forme Visio varient en fonction des valeurs de
certains paramtres, dfinis soit par le moteur Visio, soit par le dveloppeur des
formes. Une gomtrie est fixe lorsquelle repose simplement sur des coordonnes
x, y. En revanche, la gomtrie des formes repose sur des formules qui recalculent les
coordonnes de manire dynamique mesure que lutilisateur modifie la forme.
Au lieu de tirer des traits, vous crez le dessin en assemblant des objets intelligents.
Les formes Visio sont
paramtriques.
Dans cette forme, la longueur et le diamtre du boulon, ainsi que la longueur du
filetage, sont des paramtres contrls par des formules. Le diamtre et lpaisseur de
la tte sont directement lis ces paramtres.
A Diamtre de la tte
B Longueur du boulon
C Longueur du filetage
D Diamtre du boulon
E Epaisseur de la tte
A
B
C
D
E
16 CHAP I TRE 1
Ces paramtres sont indpendants les uns des autres, dans la limite des possibilits
physiques. Pour modifier la longueur ou le diamtre du boulon, lutilisateur dplace
les poignes de slection. Pour modifier la longueur du filetage, il dplace la poigne
de contrle. Ces paramtres peuvent galement tre configurs partir des donnes
numriques provenant de la base de donnes dun fabricant et indiquant les tailles
disponibles.
Ut ilisat ion de f ormes comme composant s
Dans un programme, une procdure est associe une fonctionnalit pour faciliter sa
rutilisation. De mme, les formes Visio sont associes un comportement sur la page
de dessin. Elles doivent tre considres comme des composants dont le
comportement par dfaut est dtermin par le moteur Visio, mais que vous pouvez
ensuite personnaliser laide de formules.
Une solution est gnralement compose de plusieurs formes. En rgle gnrale, vous
tes amen concevoir un ensemble de formes prenant en charge un type de dessin
particulier. Ces formes, une fois assembles, constituent les formes de base dun
gabarit Visio. Une forme de base est une forme figurant dans un gabarit et qui sert
crer des occurrences ou des formes. Les occurrences hritent de la plupart des
caractristiques de la forme de base.
Les utilisateurs (ou les programmes) peuvent insrer les formes de base dun gabarit
en les faisant glisser sur la page de dessin. Le gabarit permet de rutiliser des formes
personnalises. Une mme forme peut avoir diverses applications : un ingnieur
lutilisera pour simuler la configuration dun produit, un commercial pour prsenter
un produit un client, ou un dessinateur pour crer un catalogue de produits.
Lorsquun utilisateur insre pour la premire fois une forme de base dans la page de
dessin, une occurrence de cette forme est cre, et une copie, appele forme de base de
document, est ajoute au gabarit de document du dessin. Le gabarit de document est
stock dans le fichier de dessin lui-mme. Ce principe prsente deux avantages :
Le dessin est entirement autonome et transportable. Une fois le dessin cr,
le gabarit devient inutile.
Les occurrences dune forme de base hritent des attributs de la forme de base
stocke dans le gabarit de document. Un utilisateur peut modifier la forme de base
dans le gabarit de document afin de changer les caractristiques de toutes les
occurrences figurant dans le dessin.
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 17
Comme chaque occurrence dune forme de base hrite des proprits de la forme de
base de document, elle peut prendre en charge de nombreux comportements
complexes tout en conservant une taille modeste. Une formule peut ne pas tre prise
en compte au niveau de loccurrence. En revanche, il est possible de modifier toutes
les occurrences en modifiant la forme de base de document. Le dessin peut tre
diffus sans problme car il contient des copies des formes de base. Le ou les gabarits
ayant servi llaboration des formes de base ne sont plus ncessaires. Pour afficher le
dessin, il vous suffit de disposer dune copie de Visio.
Les formes dquipement rseau sont conues pour pouvoir tre alignes et
connectes aux formes de racks. Un ingnieur rseau peut ainsi crer un modle
prcis reprsentant une salle des serveurs. Chaque forme rpond aux spcifications du
fabricant, et le concepteur des formes a personnalis leur zone dalignement et ajout
des points de connexion pour faciliter leur utilisation.
Formes dquipement rseau
alignes et connectes
avec les formes de racks.
A Rack structur de 7 po. x 19 po.
B Hub Galactica
C ONline 506-C
D Tableau de connexions 32 ports
E Lattis Sys. 5005N
F NetServer LC
G Etagre double face
18 CHAP I TRE 1
Pour aider lutilisateur crer un dessin partir de vos formes de base, fournissez-lui
un modle de dessin. Ce dernier peut comporter des formes se trouvant dj sur la
page de dessin. Mais il permet surtout de configurer la page de dessin grce une
grille et une chelle uniformes, et de crer des styles et des calques spcifiques.
Un modle peut galement ouvrir un ou plusieurs gabarits. Lorsque lutilisateur cre
un dessin partir du modle, Visio ouvre les gabarits et cre un fichier de dessin. Il y
copie les styles et les proprits du modle. Tout comme le gabarit, le modle devient
inutile une fois le dessin cr.
Pour plus dinformations sur les principes de cration de formes Visio, reportez-vous
au chapitre 2, Cration de formes Visio . Pour plus dinformations sur le
regroupement de formes dans des gabarits et sur la mise disposition de modles avec
une solution, reportez-vous au chapitre 3, Formes de base, gabarits, modles
et documents Visio .
Dveloppement de f ormes laide de la t echnologie Smart Shapes
La technologie SmartShapes

de Visio permet de dvelopper des formes qui se


comportent comme les objets quelles reprsentent en modlisant les caractristiques
pertinentes pour les types de dessin ou de diagramme que vous crez. Pour ce faire,
dfinissez des formules qui donnent aux formes un comportement conforme aux
rgles, codes et principes des objets qui leur correspondent.
Chaque forme Visio a sa propre feuille de calcul ShapeSheet

qui dfinit son


comportement et ses capacits. La feuille de calcul ShapeSheet est, en quelque sorte,
la feuille de proprits dune forme, chaque proprit tant dfinie par une valeur ou
par une formule recalcule dynamiquement mesure que lutilisateur modifie la
forme. Vous pouvez afficher et modifier les formules dune forme dans la fentre
ShapeSheet.
La plupart des fonctions susceptibles de ncessiter une programmation externe
peuvent tre contrles via la fentre ShapeSheet. Par exemple, vous pouvez ajouter
des options au menu contextuel dune forme en dfinissant des formules adquates.
Les formules peuvent contrler divers attributs dune forme, par exemple :
la gomtrie (retournement, rotation, chemins visibles ou masqus) ;
la couleur, le motif et lpaisseur de trait ;
le texte (notamment la police, le format du paragraphe et lorientation) ;
les poignes de contrle permettant aux utilisateurs de modifier la forme ;
les points de connexion auxquels les formes peuvent tre colles ;
les proprits personnalises pouvant contenir des donnes dfinies par
lutilisateur.
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 19
Linterface en feuille de calcul facilite lutilisation de rfrences de cellule pour lier
entre elles les proprits dune forme. Ces proprits peuvent sinfluencer entre elles
de manire simple et claire. Par exemple, dans le cas dune pice dans un dessin
mcanique, vous pouvez lier la couleur de la forme ses dimensions afin dindiquer si
elles restent dans les tolrances dfinies.
Cette flche est un exemple typique de contrle dune forme Visio par les formules.
Les formules remplacent le comportement par dfaut des formes dans Visio, selon
lequel lensemble de la forme est redimensionn proportionnellement lorsque vous
ltirez. Les formules personnalises permettent, dans cet exemple, dtirer ou de
rduire le ft de la flche sans modifier la pointe.
La forme de la flche est contrle
par des formules Visio.
A La base de la pointe de la flche est dfinie comme une fraction de la hauteur.
B Tous les points de la base de la pointe de la flche ont la mme abscisse (coordonne x) :
Largeur - Hauteur * 0,5
C Hauteur
D Hauteur * 0,75
E Hauteur * 0,5
F Hauteur * 0,25
G Largeur
Pour plus dinformations sur lutilisation de la fentre ShapeSheet et sur le contrle
des formes par le biais de formules, reportez-vous au chapitre 4, Formules Visio
Pour plus dinformations sur lexemple de la pointe de flche, reportez-vous au
chapitre 5, Contrle de ltirement et de la rduction des formes .
20 CHAP I TRE 1
Recours Aut omat ion dans une solut ion Visio
Pour certaines solutions, les formes, les gabarits et les modles ne suffisent pas. Il peut
tre judicieux de recourir Automation si vous crez des dessins partir de donnes
en constante volution, ou si vous effectuez rgulirement des tches rptitives de
dveloppement de formes, pour aider les utilisateurs crer des dessins sans tre des
experts de Visio ou encore pour utiliser des dessins comme source de donnes dun
autre travail. Automation permet dautomatiser ces tches en intgrant la
fonctionnalit du moteur Visio dans une solution grce lutilisation de ses objets.
Si vous utilisez souvent Microsoft Visual Basic pour Applications (VBA), les objets
suivants vous sont familiers : contrles du type bouton de commande, formulaire
utilisateur, base de donnes et champ. Grce Automation, vous pouvez galement
utiliser les objets dautres applications. Les dessins, les formes de base, les formes, et
mme les menus et les outils Visio peuvent devenir des composants dun programme.
Le programme peut tre excut dans une occurrence de Visio, ou il peut lancer Visio
pour y rechercher les objets ncessaires.
Etant donn que les produits Visio intgrent VBA, nul nest besoin pour vous
dutiliser un autre environnement de dveloppement pour crire vos programmes.
Toutefois, vous pouvez crire des programmes contrlant le moteur Visio dans
nimporte quel langage prenant en charge lutilisation dAutomation en tant que
contrleur. La plupart des exemples fournis dans ce guide sont crits en langage VBA,
mais les principes dcrits sappliquent nimporte quel langage de programmation.
Aut omat ion et objet s Visio
Automation permet un programme crit en langage VBA, Microsoft Visual Basic,
C/C++ ou dans nimporte quel autre langage de programmation prenant en charge
Automation, dintgrer la fonctionnalit dune application (par exemple, lapplication
Visio) en utilisant ses objets.
Dans Automation, lapplication qui fournit les objets (parfois appele application
fournisseur ou serveur Automation ) les met la disposition des autres
applications, et procure les proprits et mthodes permettant de les contrler.
(Cette opration est parfois nomme mise disposition des objets .)
Lapplication qui utilise les objets (par exemple, votre programme, parfois appel
contrleur ou client Automation) cre des occurrences des objets, puis dfinit leurs
proprits, ou appelle leurs mthodes afin que les objets puissent tre utiliss par
lapplication. Le fournisseur et le contrleur collaborent en faisant appel des
fonctions via les bibliothques OLE, qui sont installes sur tout systme muni dune
application prenant en charge OLE (Visio, Visual Basic ou Microsoft

Windows

).
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 21
Contrairement un langage de script qui automatise simplement les actions que vous
effectuez dans linterface utilisateur dune application (slection dune commande,
choix dune touche, saisie, etc.), Automation accde aux objets de lapplication.
Un objet intgre des donnes, un comportement, des vnements et une interface qui
vous donne accs ces lments. Chaque objet Visio prsente des proprits
(donnes), des mthodes (comportements) et des vnements grce auxquels vous
pouvez intgrer dans vos programmes les diffrentes fonctionnalits de cet objet.
Les objets Visio se trouvent dans une occurrence de Visio. Un programme VBA
(Microsoft Visual Basic pour Applications) sexcute dans une occurrence de Visio,
puis accde aux objets ncessaires. Un programme externe fonctionne
indpendamment de toute occurrence de Visio. Il lance donc lapplication ou accde
une occurrence de Visio dj en cours. Il accde ensuite aux objets Visio ncessaires.
La plupart des objets du modle conceptuel Visio correspondent aux lments que
vous pouvez afficher et slectionner dans une occurrence de Visio. Par exemple, un
objet Page reprsente une page de dessin et un objet Shape, une forme dans un
dessin. Les formules dune forme sont reprsentes par les objets Cell.
De nombreux chapitres de ce guide sont consacrs lintgration dAutomation dans
une solution Visio. Pour plus dinformations, reportez-vous au chapitre 14,
Automation et le modle dobjet de Visio .
22 CHAP I TRE 1
Exemple de surveillance des vnement s et de calcul dun
t ot al
Pour voir comment une solution accde aux objets Visio laide dAutomation,
prenez lexemple dune solution qui surveille les vnements dclenchs lors de lajout
ou de la suppression de formes dans un dessin. La solution calcule en permanence la
consommation lectrique totale des lments reprsents par les formes afin de
vrifier quelle ne dpasse pas la limite fixe.
Solution surveillant la
consommation lectrique des
lments reprsents par les
formes dun dessin
Lexemple commence par une procdure dinitialisation qui vrifie toutes les formes
dun dessin. La consommation maximale autorise est dfinie par le texte dune
forme, appele Limite, que lutilisateur peut saisir dans cette forme dans le dessin.
La fonction VBA Val convertit le texte en un nombre au format Double qui sera
utilis dans les calculs suivants. La solution calcule en permanence le total dans la
cellule PC dune forme du nom de Courant.
Valeurs cumules
Valeur
Valeur
Valeur
Valeur
Valeur
Valeur
Consommation
lectrique maximale
7,0
Valeur actuelle : 7,20
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 23
Pour chaque forme reprsentant un priphrique consommateur dnergie, la valeur
correspondant cette consommation est enregistre dans une proprit personnalise
appele ConsommationEnergie. Le programme peut y accder via la proprit Cells
dun objet Shape. Le programme effectue une itration de la collection Shapes de
lobjet Page transmis la procdure InitWith et vrifie la consommation de chaque
forme prsentant une proprit ConsommationEnergie. Si la consommation totale
excde la limite dfinie pour le dessin, la solution en informe lutilisateur en donnant
la valeur 2 la cellule Couleur de la section relative au format des caractres de la
forme Limite (Car.Couleur). Le texte de la forme apparat ainsi en rouge.
0pf1oh Exp11c1f
P1vafe W1fhEvehfs LaPage As Page
P1vafe fheL1m1f As 0oub1e
P1vafe fheCuehf As Ce11
Pub11c Sub Th1fW1fh|aPage As Page)
01m 1 As Thfege
Sef LaPage = aPage
fheL1m1f = va1|aPage.Shapes|"L1m1fe").Texf)
Sef fheCuehf = aPage.Shapes|"Couahf").Ce11s|"uf11.PC")
fheCuehf.Pesu1fTu = 0#
Io 1 = 1 To aPage.Shapes.Couhf
W1fh aPage.Shapes|1)
Tf .Ce11Ex1sfs|"Pop.Cohsommaf1ohEheg1e", Ia1se) Theh
fheCuehf.Pesu1f|"") = fheCuehf.Pesu1f|"") +
.Ce11s|"pop.Cohsommaf1ohEheg1e").Pesu1f|"")
Tf fheCuehf.Pesu1f|"") > fheL1m1f Theh
aPage.Shapes|"L1m1fe").Ce11s|"Ca.cou1eu").Pesu1f|"") = 2
Ehd Tf
Ehd Tf
Ehd W1fh
hexf 1
Ehd Sub
24 CHAP I TRE 1
Supposons que lutilisateur ajoute une forme au dessin. Cette action dclenche un
vnement ShapeAdded gr par la procdure dcrite ci-dessous. Tout comme la
procdure dinitialisation de page, elle ajoute au total la valeur indiquant la
consommation de la dernire forme ajoute et vrifie si ce total dpasse la limite
du dessin.
La suppression dune forme dclenche un vnement BeforeShapeDelete. Une
solution ne peut pas annuler la suppression, mais peut nanmoins effectuer les
oprations ncessitant la prsence de la forme avant que cette dernire ne soit
supprime du dessin. La procdure dvnement suivante soustrait du total la valeur
de consommation de la forme supprime afin que le total indiqu soit juste. Si la
suppression de la forme fait repasser le total au-dessous de la limite, le texte de la
forme Limite apparat de nouveau en noir (0).
Pour plus dinformations sur laccs aux formules dune forme via Automation,
reportez-vous au chapitre 17, Automatisation des formules . Pour plus
dinformations sur la gestion des vnements Visio dans une solution, reportez-vous
au chapitre 21, Gestion des vnements dans Visio .
P1vafe Sub fhePageShapeAdded|yva1 Shape As v1s1o.TvShape)
Tf Shape.Ce11Ex1sfs|"Pop.Cohsommaf1ohEheg1e", Ia1se) Theh
fheCuehf.Pesu1f|"") = fheCuehf.Pesu1f|"") +
Shape.Ce11s|"pop.Cohsommaf1ohEheg1e").Pesu1f|"")
Tf fheCuehf.Pesu1f|"") > fheL1m1f Theh
LaPage.Shapes|"L1m1fe").Ce11s|"Ca.cou1eu").Pesu1f|"") = 2
Ehd Tf
Ehd Tf
Ehd Sub
P1vafe Sub fhePageefoeShape0e1efe|yva1 Shape As v1s1o.TvShape)
Tf Shape.Ce11Ex1sfs|"Pop.Cohsommaf1ohEheg1e", Ia1se) Theh
fheCuehf.Pesu1f|"") = fheCuehf.Pesu1f|"") -
Shape.Ce11s|"pop.Cohsommaf1ohEheg1e").Pesu1f|"")
Tf fheCuehf.Pesu1f|"") <= fheL1m1f Theh
LaPage.Shapes|"L1m1fe").Ce11s|"Ca.cou1eu").Pesu1f|"") = 0
Ehd Tf
Ehd Tf
Ehd Sub
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 25
Planif icat ion dune solut ion Visio
Une solution est plus facile intgrer lorsquil sagit dun dessin normalis qui utilise
les lments fournis avec un produit Visio, ainsi que vos formes, gabarits et modles
personnaliss. Les solutions qui comportent des Assistants de dessin (parfois appels
programmes complmentaires) sont galement programmes pour aider lutilisateur
crer des dessins. Si les dessins crer suivent un ensemble strict de rgles, la
solution peut comporter une application utilisant des donnes issues dune autre
source pour gnrer des dessins modifiables par lutilisateur. Si la solution est conue
pour fournir plus que des dessins, elle doit galement permettre une intgration avec
une base de donnes externe et dautres applications externes (du commerce ou
propritaires).
Planif icat ion du processus de dveloppement
Un seul dveloppeur peut souvent crer une solution Visio simple, comportant des
formes personnalises, un modle et du code. Pour les solutions plus complexes,
toutefois, il est parfois ncessaire de recourir une quipe de dveloppeurs,
prsentant chacun des comptences particulires. Par exemple, une quipe de
dveloppeurs peut se composer des personnes suivantes :
Un ingnieur systme rompu la conception de logiciels, connaissant bien
lapplication Visio, son architecture et ses principales fonctions. Lingnieur
systme est responsable des aspects techniques et de la conception dune solution
Visio.
Des dveloppeurs de formes conscients du rle que doit jouer chaque forme dans
la solution, connaissant bien les outils de dessin de Visio et la fentre ShapeSheet

.
Les dveloppeurs de formes doivent avoir de solides connaissances en
mathmatiques et en gomtrie, car la majeure partie de leur travail est consacre
la cration de formules permettant de contrler le comportement des formes.
Des dveloppeurs Automation, spcialistes du langage de programmation utilis
pour dvelopper la solution (Microsoft VBA, Visual Basic ou C++, selon le type
dintgration ncessaire). Ces dveloppeurs doivent possder des connaissances de
base concernant les formes et les formules de Visio, et doivent connatre
parfaitement le modle dobjet Visio.
Des experts du domaine concern par la solution. Ces experts conseilleront
lquipe concernant les normes en vigueur dans le domaine, les processus, lusage
et les exceptions.
26 CHAP I TRE 1
Une fois lquipe forme, le processus de dveloppement peut se drouler de la
manire suivante :
Rencontrez les utilisateurs afin de connatre leurs besoins et didentifier les objets
ncessaires au domaine de la solution.
Aprs concertation avec les utilisateurs, choisissez la procdure suivre pour
effectuer chaque tche. Collectez des exemples de dessins pouvant tre automatiss
ou amliors par la solution. Si le projet est important, vous pouvez envisager de
crer un document recensant ces informations de sorte que dautres utilisateurs et
dveloppeurs puissent les passer en revue et les comprendre.
Dveloppez progressivement la solution et consultez les utilisateurs
chaque tape.
Le dveloppement et lintgration progressifs des fonctions Visio dans une
solution donnent souvent de meilleurs rsultats. En effet, la solution est plus
rapidement mise la disposition de lutilisateur, qui peut faire des commentaires
qui aideront amliorer la solution au cours du dveloppement.
Commencez par dvelopper des formes et par les mettre la disposition des
utilisateurs. Corrigez ces formes en fonction des commentaires des utilisateurs.
Lefficacit dune solution repose sur lutilit et la pertinence des formes.
Par exemple, vous pouvez choisir entre fournir lutilisateur un nombre
important de formes ou prvoir le temps ncessaire la cration de formes
multiples. Certains utilisateurs trouveront plus pratique dutiliser des formes
versatiles dans plusieurs configurations plutt que davoir choisir les formes dans
un gabarit en comportant un certain nombre.
Une fois que les utilisateurs sont satisfaits de lensemble initial de formes,
dveloppez ventuellement des Assistants de dessin ou des programmes
complmentaires pouvant tre utiles llaboration des dessins. Au besoin,
amliorez les formes afin de les rendre plus facilement utilisables.
Un ensemble de dessins normaliss peut suffire aux besoins des utilisateurs. Veillez
ne pas rendre une solution plus complexe que ncessaire. Le fait que lapplication
Visio soit programmable ne vous oblige pas crer des programmes pour vos
solutions.
Enfin, si les formes et les programmes complmentaires de la solution sont conus
pour tre utiliss avec une base de donnes ou avec dautres applications, prenez
cet lment en compte ds le dbut du processus de dveloppement.
La procdure suivre pour cette tape dpend du type de solution que vous
dveloppez. Pour plus dinformations, reportez-vous aux sections Intgration
dune solution Visio et dune base de donnes , page 29 et Choix concernant la
mise en oeuvre dAutomation , page 30.
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 27
Planif icat ion des f ormes et des gabarit s
Le dveloppement dune solution commence par la cration des formes ncessaires.
Les fonctionnalits des formes doivent tre, dans la mesure du possible, dfinies par
des formules. Deux points justifient de commencer par les formes :
Les formes peuvent tre intelligentes. Vous pouvez utiliser les capacits
intrinsques des formes Visio afin de grer une grande partie des fonctionnalits
graphiques sans crire de code.
Les formes sont indpendantes du code qui les contrle. Une fois que vous avez
dvelopp les formes de base utilises par la solution, vous pouvez les modifier
sans avoir recompiler le code, et inversement.
Si le comportement attribuer la forme est prvisible et peut tre dfini laide de
formules (par exemple, un redimensionnement ou une mise lchelle automatique),
intgrez-le dans la forme. Si ce comportement doit pouvoir changer dynamiquement
(par exemple, le texte dune forme ou lorganisation des formes dun dessin peut
varier), grez cet lment dans le programme. Vous pouvez contrler trs prcisment
lapparence et le comportement des formes en dfinissant des formules de forme.
Si vous joignez votre solution un gabarit de formes de base, les utilisateurs peuvent
dans certains cas se passer des outils de dessin de Visio.
Lorsque vous crez des formes de base pour un programme, testez-les dans une
occurrence de Visio en crant manuellement les types de dessin que le programme
sera amen automatiser. Vous vous rendrez ainsi mieux compte de la
programmation faire et des donnes fournir. Vous saurez galement si votre forme
fonctionne comme prvu.
Enfin, noubliez pas que le gabarit qui contient les formes de base constitue llment
principal de linterface utilisateur de la solution :
Veillez ce que les formes de base soient faciles trouver dans le gabarit.
Rpartissez ventuellement les formes de base connexes dans plusieurs gabarits,
surtout si vous les utilisez dans plusieurs solutions.
Pour plus dinformations sur la cration de formes de base et de gabarits,
reportez-vous au chapitre 3, Formes de base, gabarits, modles et documents
Visio . Pour plus dinformations sur la diffusion de gabarits dans une solution Visio,
reportez-vous au chapitre 13, Diffusion de gabarits et de modles .
28 CHAP I TRE 1
Planif icat ion de modles de dessin
Un modle de dessin fournit aux utilisateurs un espace de travail commun. Il facilite
la normalisation en permettant lutilisateur de crer facilement des dessins
normaliss laide de jeux de formes prdfinies.
Un modle de dessin peut comporter des styles, et configurer les pages de dessin
laide dune grille et dun systme de mesure uniformes. Un modle peut crer des
pages de dessin comportant des formes, ou ouvrir un ou plusieurs gabarits pour que
lutilisateur puisse ajouter dautres formes. Un modle peut galement fournir des
dessins comportant leur propre interface utilisateur en incluant des contrles
Microsoft

ActiveX

, tels que des boutons de commande et des zones de texte, des


contrles personnaliss chargs deffectuer des tches particulires et un code VBA
permettant un utilisateur dintervenir dans le dessin via les contrles. Lajout de
modles une solution Visio prsente les avantages suivants :
Si la solution est conue pour crer des dessins Visio, vous pouvez gagner du
temps au dveloppement et lutilisation en stockant le programme sous forme de
macros VBA dans un modle Visio, ou en joignant au programme Visual Basic ou
C/C++ un modle sous forme de fichier autonome.
Lorsquun modle sert crer un document, les styles, les proprits de document,
les macros VBA, les modules et les formulaires utilisateur du modle sont copis
dans le nouveau document. Il nest pas ncessaire de dfinir les proprits de
document ou les styles laide dAutomation, moins que vous ne souhaitiez
quils diffrent de ceux du modle. Il nest pas non plus utile de diffuser un
programme VBA sparment, moins que le code ne soit complexe ou que vous
ne soyez amen le mettre jour ultrieurement.
Si la solution permet de personnaliser linterface utilisateur de Visio, apportez les
modifications ncessaires dans le document du modle plutt que dans
lapplication Visio elle-mme. Ainsi, linterface utilisateur de la solution napparat
que lorsque lutilisateur sen sert, et non lorsquil a recours lapplication Visio
pour dautres tches.
Lutilisation dun modle permet dviter les problmes de conversion lorsquun
programme fait rfrence des styles et quil est utilis dans plusieurs langages.
REMARQUE : le fait de fournir un code VBA dans un modle simplifie les fichiers
diffuser avec une solution. En revanche, la tche de dbogage ou damlioration du code
est complique car chaque document cr partir du modle reoit une copie du code.
Pour plus de flexibilit, vous pouvez tre amen placer le code VBA dans un gabarit ou
dans un autre document joint la solution. Ainsi, les mises jour peuvent tre diffuses
plus facilement. Pour plus dinformations sur la cration de modles, reportez-vous au
chapitre 3, Formes de base, gabarits, modles et documents Visio . Pour plus
dinformations sur la diffusion de modles dans une solution Visio, reportez-vous au
chapitre 13, Diffusion de gabarits et de modles .
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 29
Ut ilisat ion dAut omat ion dans les f ormes et les modles
Une fois que vous avez dvelopp les formes de base et les ventuels modles de la
solution, vous pouvez utiliser Automation pour mettre en oeuvre le reste de la
solution. Les oprations que cela implique dpendent de la fonction de la solution et
de son contexte dexcution. En rgle gnrale, Automation permet deffectuer les
oprations suivantes :
Mettre en oeuvre linterface utilisateur de la solution.
Dans la plupart des programmes autonomes, une bote de dialogue ou un cran
dAssistant informe lutilisateur de la procdure suivre et lui demande de saisir
les informations ncessaires lexcution.
Stocker et rcuprer les donnes.
Les formes peuvent possder des proprits personnalises. Elles peuvent
ventuellement tre configures pour inviter lutilisateur saisir des donnes ou
dfinir des proprits de forme lorsque, par exemple, une forme de base est insre
dans une page de dessin. Toutefois, afin dviter toute modification fortuite des
types de donnes et des donnes, la solution peut stocker les donnes dans une
base de donnes externe et les rcuprer lorsque cela savre ncessaire.
Positionner les formes, les connecter ou dfinir leurs proprits.
Si la solution cre un dessin, elle doit pouvoir dterminer les formes de base
ncessaires et lemplacement o celles-ci doivent tre insres. Elle dfinit
galement le texte des formes, applique les styles et relie les formes. Si la solution
est conue pour lire des dessins ou pour utiliser des formes existantes, elle doit
rechercher les formes, vrifier quelles sont adaptes au programme, et dfinir
leurs proprits et leurs formules.
Noubliez pas quune forme peut possder des formules qui la redimensionnent ou la
rorientent lorsque le programme change son emplacement ou sa taille. Cela vous
vite davoir modifier la forme vous-mme avec la souris dans la fentre de dessin de
Visio. Si vous tes amen crire du code complexe qui modifie les formes,
demandez-vous dabord si ce traitement ne pourrait pas tre effectu par une
formule.
Pour plus dinformations sur la diffusion dune solution Visio utilisant Automation,
reportez-vous au chapitre 25, Distribution dune solution Visio Automation
Int grat ion dune solut ion Visio et dune base de donnes
Lintgration dune solution Visio et dune base de donnes doit tre planifie afin
que les dessins puissent tre synchroniss avec la base de donnes. Le choix de la base
de donnes est essentiel. Vous devez ensuite dterminer les modifications apporter,
ainsi que le mode et le moment de leur application.
30 CHAP I TRE 1
Par exemple, dans la solution de systme de scurit dcrite plus haut dans ce
chapitre, chaque composant (camra, capteur, unit de contrle, etc.) correspond
une pice rfrence dans le catalogue du fabricant. Stockez cette rfrence dans les
proprits personnalises de chaque forme de base afin de faciliter la recherche
dinformations dans le catalogue stock sous forme de base de donnes.
Une fois que les relations unissant la solution la base de donnes sont dfinies,
la solution peut apporter des modifications de lune des manires suivantes :
En grant les vnements Visio qui indiquent le moment o la base de donnes
doit tre mise jour ou synchronise avec le dessin.
En crant un programme externe qui interroge le dessin Visio pour en extraire les
donnes lorsque cela est ncessaire (par exemple, sur demande de lutilisateur).
En stockant toutes les donnes dune solution dans une base de donnes externe et
en utilisant les donnes associes aux formes Visio, telles quune proprit
personnalise, afin daccder aux enregistrements de la base de donnes externe.
LAssistant Base de donnes fourni avec Visio peut dfinir des cellules personnalises
et lier ces cellules aux champs de base de donnes pour les solutions simples ou pour
la mise au point des solutions plus complexes. Vous pouvez utiliser le moteur Jet ou la
bibliothque DAO (data access objects - objets daccs aux donnes) fournie par
Microsoft pour accder aux bases de donnes via ODBC (Open Database
Connectivity). Votre solution Visio peut galement appeler un serveur Automation
qui met jour et synchronise la base de donnes, et permet de mieux contrler son
intgrit.
Pour plus dinformations sur les solutions et les bases de donnes Visio, reportez-vous
au chapitre 20, Intgration de donnes et dune solution Visio .
Choix concernant la mise en oeuvre dAut omat ion
Le type de programme crer dpend de ce que vous souhaitez faire. Vous pouvez
crire une macro VBA dans un document Visio ou une autre application de
contrleur Automation, ou dans un programme autonome en Visual Basic
ou C/C++. Vous pouvez crer un type spcifique de DLL (dynamic-link library)
fonctionnant avec lapplication Visio, appele bibliothque Visio (VSL). Les
utilisateurs peuvent excuter ce programme depuis le bureau Windows ou
lExplorateur Windows, ou directement depuis lapplication Visio, en choisissant une
commande ajoute un menu Visio, en cliquant sur un bouton ajout la barre
doutils, ou mme en double-cliquant ou en cliquant avec le bouton droit sur une
forme du dessin. Vous pouvez galement concevoir le programme pour quil soit
excut automatiquement lors dun vnement particulier, par exemple louverture
ou la cration dun fichier.
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 31
Il existe quatre principales mthodes pour intgrer Automation dans une solution
Visio. Vous pouvez intgrer les lments suivants :
Un excutable autonome, ou fichier EXE, gnralement crit en langage Visual
Basic ou C++, mais qui peut galement utiliser nimporte quel langage prenant en
charge la cration dun contrleur Automation ActiveX.
Un fichier EXE est facile crer. Il peut tre crit dans de nombreux langages et est
garant de fiabilit. Toutefois, un fichier EXE doit tre excut dans un autre
processus de loccurrence de Visio quil contrle et doit tre charg chaque
excution, ce qui peut avoir une incidence sur les performances.
Une bibliothque Visio (VSL). Il sagit dune DLL Windows standard munie dun
point dentre Visio obligatoire et dune extension de nom de fichier .vsl.
Une VSL est beaucoup plus rapide quun fichier EXE car elle est excute dans le
mme processus quune occurrence de Visio. En outre, elle nest charge quune
fois, puis est excute depuis la mmoire. Vous pouvez galement dterminer,
dans le contexte, les cas dans lesquels la VSL est visible. Toutefois, une VSL nest
pas aussi fiable quun fichier EXE. En cas de blocage, loccurrence de Visio se
bloque galement. La VSL doit tre crite en langage C++. Elle nest plus rapide
quun fichier EXE que si son temps de traitement concerne principalement le
contrle de loccurrence de Visio ; si la VSL consacre plus de la moiti de son
temps au contrle dune autre application, il peut tre judicieux de choisir un
programme excut dans le processus de cette autre application.
Macro(s) VBA. VBA est fourni avec les produits Visio et permet dcrire des
macros, et de crer des botes de dialogue ou des modules de classe. Dautres
contrleurs VBA, tels que Microsoft

Word et Microsoft

Excel, permettent
galement de contrler lapplication Visio.
Tout comme les VSL, les macros VBA sont excutes dans le mme processus que
loccurrence de Visio. Leur criture tant plus simple, les programmeurs les
mettent au point plus rapidement. Les macros VBA sont faciles diffuser, ce qui
peut constituer un avantage mais aussi un inconvnient. Chaque dessin contient
une copie du code VBA : les tches de dbogage et dajout de fonctions sont donc
plus difficiles raliser.
Une approche mixte consiste utiliser VBA dans une occurrence de Visio afin de
charger et dexcuter des serveurs Automation (fichiers DLL ou EXE) crs dans
dautres langages.
Cette approche prend en charge lexcution en cours de processus si le serveur
Automation est cr en tant que DLL et prend en charge toute une gamme
darchitectures. Toutefois, cette approche mixte implique une conception plus
soigne du systme.
32 CHAP I TRE 1
Pour plus dinformations sur la programmation de lapplication Visio avec VBA,
reportez-vous aux chapitres 14 25 de ce guide. Pour plus dinformations sur
lutilisation de Visual Basic avec lapplication Visio, reportez-vous au chapitre 26,
Programmation de Visio avec Microsoft Visual Basic
Pour plus dinformations sur la programmation de Visio avec C++ et lcriture de
VSL, reportez-vous au chapitre 27, Programmation de Visio avec C++ .
Sommaire
2
Crat ion de f ormes Visio
Les meilleures solutions Microsoft

Visio

commencent souvent sur la page de dessin,


dans laquelle vous concevez des formes. Vous pouvez dfinir en grande partie le
comportement personnalis ncessaire une solution grce la programmation ;
cependant, vous obtenez plus rapidement de meilleurs rsultats si vous utilisez la
fonctionnalit intgre des formes Visio. Si vous concevez des formes intelligentes,
vous pouvez tablir une solution plus souple ncessitant long terme un codage et
une maintenance moins importants.
Considrez les formes commme des composants que lutilisateur peut employer pour
laborer un diagramme sans effort supplmentaire ou presque de sa part. Chacune
des formes doit, si possible, reprsenter un objet du monde rel ; la principale tche
de lutilisateur consiste choisir la forme partir du gabarit et, pour quil puisse
effectuer un choix correct, cette forme doit reprsenter quelque chose de familier.
Prvoyez autant de fonctions que possible pour la forme (dans la mesure du
raisonnable). Une forme qui a plusieurs fonctions peut tre plus trompeuse et plus
difficile utiliser que plusieurs formes ayant chacune une fonction dfinie.
Par ailleurs, les formes simplifies fonctionnent mieux dans le produit Visio.
Ce chapitre prsente les diffrents moyens dacquisition de formes pour vos solutions.
Vous avez la possibilit de les dessiner vous-mme, mais vous pouvez galement
importer des graphiques issus dautres programmes, convertir des mtafichiers en
formes, analyser les images utiliser comme formes et adapter les formes existantes
vos besoins. Les chapitres suivants dcrivent plus en dtail le contrle des formes par
le biais des formules et dautres techniques.
Anatomie des formes Visio ..................................................................................... 34
Conception de formes.............................................................................................. 39
Importation de formes issues dautres programmes............................................ 44
Ajustement de formes Visio existantes.................................................................. 47
34 CHAP I TRE 2
Anat omie des f ormes Visio
Lanatomie des formes dsigne de manire approximative la gomtrie et linterface
utilisateur grce auxquelles une forme apparat et se comporte dune certaine manire
sur une page de dessin. Le terme de forme peut faire rfrence une ligne, un arc ou
une spline, une srie de segments, plusieurs formes regroupes ou un objet issu
dune autre application. Vous devez savoir si la gomtrie de ces formes diffre
lgrement ou de manire importante car ces diffrences peuvent intervenir sur la
faon dont les utilisateurs travaillent sur les formes. Les quatre lments essentiels
connatre sur lanatomie des formes sont les suivants :
Le type de forme (ferme ou ouverte) car il intervient en premier chef sur son
mode de remplissage.
Le nombre de dimensions (1D ou 2D) car cette indication a un impact de
premire importance sur laspect et le comportement de cette forme.
Le type des poignes, qui sont des lments de linterface utilisateur lis la
gomtrie des formes et qui montrent lutilisateur comment agir sur une forme.
La constitution de la forme en tant que groupe car cette information dtermine,
entre autres, la procdure de modification que doivent suivre les utilisateurs du
groupe et des formes quil contient.
Lorsque vous crez des formes pour une solution, vous devez dfinir leur anatomie
pour fournir aux utilisateurs les indications visuelles dont ils ont besoin pour
interagir avec ces formes. Par exemple, vous pouvez verrouiller le redimensionnement
des formes pour les portes, les fentres et les bureaux (tous les lments de taille
standard) afin que les utilisateurs ne les tirent pas malencontreusement lorsquils
travaillent dessus.
Une seule ligne est une forme, tout
comme la forme de base Visio
reprsentant la table et les chaises
qui regroupe plusieurs formes
simples.
Cette section dfinit les lments des formes qui constituent le point de dpart de la
conception de vos propres formes et de la modification des formes existantes.
CRATI ON DE FORMES VI SI O 35
Formes ouvert es et f ermes
Une forme peut tre constitue de plusieurs segments de trait, darc ou de spline
appels chemins, chacun de ces chemins pouvant tre ouvert ou ferm. Seul un
chemin ferm peut tre rempli avec une couleur ou un motif, et seul un chemin
ouvert peut tre format avec des extrmits de trait.
Le rectangle reprsente quatre
segments de trait dans un chemin
ferm contenant un motif. Les traits
reprsentent des chemins ouverts
auxquels ont t appliques des
extrmits de trait.
Les formes peuvent galement avoir plusieurs chemins. En consquence, vous pouvez
concevoir une forme plusieurs chemins, les uns ouverts et les autres ferms, pour
crer un dcoupage de zones. Prenons en guise dexemple un anneau, dont vous ne
pouvez pas remplir lorifice avec une couleur ou un motif. Vous pouvez galement
crer une forme, comme le symbole de recyclage ci-dessous, qui se compose de
plusieurs chemins.
Le symbole de recyclage est
constitu de quatre chemins : A, B,
C et D. Seul le quatrime chemin, D,
est ferm, comme lindique la
manire dont la couleur remplit les
formes. Vous pouvez crer des
formes similaires en combinant la
gomtrie (Forme > Oprations >
Combinaison).
Si vous avez dj essay sans succs dappliquer un motif de remplissage une forme,
vous avez sans doute t confront une autre consquence de la gomtrie des
chemins : le premier et le dernier sommets dun chemin ouvert peuvent tre un mme
point. Si tel est le cas, la forme semble ferme, mais vous ne pouvez pas lui appliquer
un motif de remplissage ou une couleur. Cependant, vous pouvez fermer ce chemin
en insrant le dernier sommet sur le premier laide de loutil Crayon. Pour plus
dinformations, reportez-vous la section Utilisation des outils de dessin lors de la
cration de formes , page 39.
Pour plus dinformations sur la cration de formes plusieurs chemins,
reportez-vous la section Cration et contrle des groupes , page 115.
B
C
A
D
36 CHAP I TRE 2
Formes 1D ou 2D
Une forme peut tre en une dimension (1D) ou en deux dimensions (2D).
Une forme 1D se comporte comme un trait et affiche des points de fin ; pour
redimensionner la forme, slectionnez-la avec loutil Pointeur, puis dplacez ces
points de fin. Vous pouvez coller les points de fin des formes 1D sur les cts des
formes 2D pour crer des traits de connexion qui restent fixes lorsque les formes sont
dplaces.
Une forme 1D comporte deux points
de fin. Certaines formes 1D
comportent galement dautres
poignes, comme la poigne de
contrle de cet arc.
Une forme 2D possde les mmes proprits quun rectangle et affiche des poignes
de slection ; pour redimensionner la forme, slectionnez-la laide de loutil
Pointeur et faites glisser ces poignes.
Une forme 2D comporte plus de
deux poignes et peut tre ferme
(comme lellipse) ou ouverte
(comme le zigzag).
Vous pouvez transformer les formes 1D en formes 2D et vice-versa. Pour plus
dinformations, reportez-vous la section Conversion des formes 1D et 2D ,
page 159. Pour plus dinformations sur les procdures de contrle de la gomtrie des
formes 2D, reportez-vous au chapitre 5, Contrle de la gomtrie des formes laide
de formules .
Poignes des f ormes
Les formes peuvent tre dotes de diffrentes poignes, qui vous permettent de
modifier leur aspect. Une poigne est un contrle qui apparat sur une forme
slectionne. Les poignes diffrent en fonction du type de forme et de loutil utilis
pour la slectionner. Par exemple, si vous slectionnez une forme laide de loutil
Rotation, vous affichez les poignes de rotation et pouvez faire pivoter la forme.
Le tableau suivant illustre les poignes les plus courantes qui vous permettent de
modifier les formes.
CRATI ON DE FORMES VI SI O 37
Poignes des formes - Prsentation
Nom des
poignes Aspect Comportement
Poignes de
slection
Elles apparaissent lorsque vous
slectionnez une forme 2D l aide de
l outil Pointeur ( . Utilisez les poignes
de slection dangle pour redimensionner
proportionnellement les formes. Utilisez
les poignes de slection latrales pour
redimensionner les cts de la forme.
Points de fin I ls apparaissent lorsque vous
slectionnez une forme 1D l aide de
l outil Pointeur ( La direction de la
forme est reprsente, pour des raisons
de routage, par un point de dbut (A) et
un point de fin (B). Certaines formes 1D
comportent galement des poignes de
slection (C). (Pour plus d informations,
reportez-vous la section Prsentation
des formes 1D et 2D , page 158 du
prsent chapitre.)
Poignes de
rotation
Ces poignes d angle arrondies (A)
apparaissent lorsque vous slectionnez
une forme l aide de l outil Rotation ( ).
L axe (B) indique le centre de la rotation.
Pour faire pivoter une forme, utilisez une
poigne d angle. Pour modifier le centre
de rotation, faites glisser l axe de rotation
vers un nouvel emplacement.
Sommets Ces poignes en forme de losange (A)
apparaissent lorsque vous slectionnez
une forme l aide de l outil Crayon ( ),
Trait ( ), Arc ( ) ou Dessin main
leve ( ). Pour modifier la forme, faites
glisser l un de ses sommets l aide de
l outil utilis lors de sa cration. Le
sommet apparat en magenta pour
indiquer qu il est slectionn. Pour
ajouter ou supprimer des segments,
ajoutez ou supprimez des sommets
l aide de l un des outils dcrits ci-dessus.
Points de
contrle
Ces points apparaissent sur les courbes,
les arcs et les traits dessins main leve
que vous slectionnez l aide de l outil
Crayon. Utilisez les points de contrle (A)
pour modifier la courbure ou la symtrie
d un segment.
Poignes
d excentricit
Elles permettent d ajuster l angle et
l ampleur de l excentricit d un arc
d ellipse. Pour afficher les poignes
d excentricit (A), choisissez un arc.
Slectionnez ensuite l outil Crayon et
cliquez sur le point de contrle au centre.
A B
C
A
B
A
A
A
A
38 CHAP I TRE 2
Vous pouvez ajouter certaines poignes aux formes pour fournir des fonctionnalits
supplmentaires et programmer dautres comportements pour certaines poignes,
comme lindique le tableau suivant.
Formes en groupes
Beaucoup de formes de base Visio sont des groupes. A premire vue, un groupe ne
semble pas forcment trs diffrent dune autre forme. Cependant, les groupes ont des
comportements uniques que vous devez connatre pour pouvoir en crer et anticiper
la manire dont les utilisateurs interagissent avec ces groupes. Lun des avantages-cls
du groupement est que vous pouvez considrer un groupe en tant quobjet unique,
tout en formatant sparment les formes qui le composent.
Vous pouvez regrouper toute combinaison de formes. Les groupes peuvent galement
inclure des repres, dautres groupes et des objets issus dautres programmes.
Certaines formes Visio sont des
groupes (cest--dire des
ensembles de formes regroupes
pour constituer des formes
uniques).
Pour dt erminer si un objet est un groupe :
Slectionnez un objet, puis choisissez Format > Spcial. Si lobjet est un groupe, la
bote de dialogue indique Type : Grouper en dessous du nom de la forme
de base.
Pour plus dinformations sur la gestion des groupes Visio existants, reportez-vous la
section Modification des groupes , page 48Pour plus dinformations sur les
formules de groupe, reportez-vous la section Cration et contrle des groupes ,
page 115.
Informations sur... Section consulter
Comportement de connexion et points de
connexion
Prsentation des formes 1D et 2D ,
page 158.
Contrle de la rotation par le biais des
formules
Contrle du retournement et de la rotation
des formes , page 98.
Formules utilises pour programmer les
poignes de contrle
Flexibilit des formes grce aux poignes
de contrle , page 132.
Poignes de verrouillage et mthodes de
protection des formes
Limitation du comportement d une forme
l aide de verrouillages , page 111.
N
CRATI ON DE FORMES VI SI O 39
Concept ion de f ormes
Pour reprsenter des objets personnaliss propres votre activit ou appliquer vos
propres droits dauteur, vous devez laborer des formes de toutes pices. Vous pouvez
bien sr dessiner ces formes trait par trait ; cependant, pour gagner du temps, vous
pouvez utiliser les techniques dveloppes par les concepteurs de formes de Visio.
Lune des mthodes pour crer des formes personnalises consiste utiliser les outils
de dessin Visio. En outre, Visio inclut des commandes et outils exceptionnels qui
simplifient le processus de cration de formes gomtriques plus complexes.
Par exemple, les commandes Union et Combinaison permettent de crer une forme
partir de plusieurs autres formes, et la commande Fragmentation permet de diviser
les formes en plusieurs petites parties que vous pouvez rorganiser, modifier ou
supprimer.
Cette section rpertorie les outils de dessin et les techniques de dveloppement de
formes de base Visio.
Ut ilisat ion des out ils de dessin lors de la crat ion de f ormes
Pour commencer un dessin, utilisez les outils de dessin Visio dans la barre doutils
Standard. Ces outils ressemblent aux autres outils que vous connaissez, mais ils
comportent de nouvelles fonctionnalits. Loutil Crayon est particulirement puissant
car il vous permet de dessiner aussi bien des traits que des arcs. Ds que vous dplacez
la souris, le moteur Visio calcule rapidement le chemin suivi par le pointeur. Si ce
chemin est droit, loutil Crayon dessine un segment de trait droit. Sil est courb,
il dessine un arc. Au fur et mesure de votre dessin, vous pouvez observer la manire
dont le moteur Visio interprte les mouvements de loutil.
Pour dessiner une forme, utilisez un
ou plusieurs des outils de dessin de
la barre doutils Standard.

CONSEIL : que vous utilisiez loutil Crayon, Trait ou Arc pour crer un trait ou un arc,
le rsultat est le mme. Pour modifier des formes dessines laide de lun de ces outils,
slectionnez un point de fin, un point de contrle ou un sommet, puis faites-le glisser.
40 CHAP I TRE 2
Outils de dessin - Prsentation
Forme dessiner Outil Description
L outil Crayon permet de dessiner aussi bien
des traits que des arcs. Si vous dplacez le
crayon en ligne droite, il dessine un trait. Si
vous dcrivez une courbe, il dessine un arc.
Chaque arc est une partie d un cercle ; sa taille
est fonction de la distance sur laquelle vous
dplacez la souris.
L outil Trait est le meilleur outil pour dessiner
des formes qui se composent uniquement de
lignes droites. Pour limiter un trait un angle de
45 degrs, appuyez sur la touche M aj, puis
faites glisser ce trait tout en maintenant cette
touche enfonce.
L outil Arc permet de dessiner des arcs, qui
reprsentent toujours le quart d une ellipse. La
direction dans laquelle vous dplacez la souris
dtermine le sens de la courbure. Pour dessiner
un quart de cercle, appuyez sur la touche M aj,
puis faites glisser l arc tout en maintenant cette
touche enfonce.
L outil Dessin main leve fonctionne comme
un crayon sur du papier. Slectionnez-le et
faites-le glisser pour dessiner des splines et
des courbes main leve. Pour obtenir des
courbes moins marques, dsactivez l option
de magntisme avant de dessiner.
(Slectionnez O utils > M agntisme et collage,
puis dsactivez M agntisme. Pour afficher les
autres options pour les splines, choisissez
O utils > O ptions, puis cliquez sur l onglet
Dessin.)
L outil Rectangle permet de dessiner des
rectangles et des carrs. Pour dessiner un
carr, appuyez sur la touche M aj, puis faites
glisser le pointeur tout en maintenant cette
touche enfonce.
L outil Ellipse permet de dessiner des ellipses
et des cercles. Pour dessiner un cercle,
appuyez sur la touche M aj, puis faites glisser le
pointeur tout en maintenant cette touche
enfonce.
CRATI ON DE FORMES VI SI O 41
Crat ion de f ormes f ermes
Avant dtre remplie avec une couleur ou un motif, une forme doit tre ferme.
Pour f ermer une f orme :
Dplacez le point de fin du dernier segment cr sur le sommet au dbut du
premier segment, puis relchez le bouton de la souris.
Il est sans doute plus simple de relier le sommet de fermeture si loption de
magntisme est active ( Outils > Magntisme et collage, puis activez Magntisme).
Pour plus dnformations sur lutilisation des formules pour la fermeture des formes,
reportez-vous la section Masquage de la gomtrie dune forme , page 129.
Crat ion de f ormes avec des lment s rcurrent s
Si vous avez besoin dune mme srie de traits ou de formes avec un espacement
identique, vous pouvez utiliser la technique suivante.
Pour reproduire rapidement des lment s de f orme :
1 Slectionnez une forme puis, tout en maintenant la touche Ctrl enfonce, faites
glisser le curseur pour crer la premire copie et la placer lemplacement voulu.
2 Appuyez sur la touche F4 pour crer de nouvelles copies de la forme avec la mme
valeur de dcalage.
Cette technique fonctionne galement pour un groupe de formes slectionnes.
Crat ion de groupes
Lorsque vous devez crer des formes possdant une gomtrie complexe ou incluant
plusieurs styles et formats, vous pouvez crer un groupe. Un groupe combine
plusieurs formes ou autres groupes en une nouvelle forme Visio dont les composants
peuvent nanmoins tre modifis et formats sparment. Crez un groupe si vous
souhaitez dplacer et dimensionner simultanment plusieurs formes, tout en
conservant les attributs de formatage de chacune dentre elles.
Pour crer un groupe :
1 Slectionnez les formes regrouper.
2 Choisissez Forme > Groupes > Grouper.
REMARQUE : si vous voulez crer une forme de base constitue de plusieurs formes, il est
recommand de regrouper les formes au pralable. Si vous ne crez pas de groupe, le
moteur Visio regroupe les formes lorsquun utilisateur insre la forme de base dans un
dessin. Cette tape supplmentaire peut augmenter le temps ncessaire la cration dune
occurrence de la forme de base.
Pour plus dinformations sur le comportement des groupes et les formules,
reportez-vous au chapitre 6, Regroupement et fusion de formes .
42 CHAP I TRE 2
Crat ion de f ormes par f usion
Vous pouvez appliquer la technique de cration de formes simples, puis utiliser lune
des commandes dopration sur les formes pour fusionner ces formes en une forme
unique. A laide des commandes Forme > Oprations, vous pouvez crer des formes
comportant un dcoupage de zones ou des rgions que vous pouvez formater et
remplir. En gnral, il est galement beaucoup plus efficace dutiliser des formes
entires comme point de dpart plutt que dessayer desquisser une forme avec
plusieurs traits et arcs.
Le tableau suivant dcrit les commandes dopration sur les formes et donne des
exemples de leurs rsultats. Pour plus dinformations sur ces oprations, et connatre
les diffrences entre la fusion et le regroupement, reportez-vous la section
Diffrences entre formes regroupes et formes fusionnes , page 114.
Utilisation de diffrentes oprations sur les formes - Rsultats
Commande Rsultat Exemple
Fragmentation Permet de diviser une forme en
fragments plus petits, ou de
crer des formes partir des
lignes d intersection ou des
formes 2D superposes.
Combinaison Permet de crer une forme
partir de celles slectionnes. Si
les formes slectionnes sont
superposes, la zone de
superposition est dcoupe
(supprime), ce qui produit un
effet d emporte-pice.
Union Permet de crer une forme
partir du primtre de deux ou
plusieurs formes superposes.
Soustraction Permet de crer une forme en
tant la zone de superposition
des slections de la slection
principale.
CRATI ON DE FORMES VI SI O 43
I ntersection Permet de crer une forme
partir de la zone de superposition
des formes slectionnes, en
liminant les zones de
non-superposition.
Jonction Permet de crer une forme
partir de segments 1D relis
leur extrmit. Cette commande
permet d assembler chacun de
ces segments en un ou plusieurs
chemins continus, le nombre de
chemins dpendant de la
configuration des formes
slectionnes.
Coupure Permet de fractionner les objets
slectionns leur intersection.
Cette commande permet de
crer une forme pour chacune
des pices. Si, lorsque vous les
fractionnez, les formes
deviennent ouvertes, elles
perdent leur remplissage.
Dcaler Permet de crer un ensemble de
lignes parallles ou de courbes
droite et gauche de la forme
d origine.
Utilisation de diffrentes oprations sur les formes - Rsultats (suite)
Commande Rsultat Exemple
44 CHAP I TRE 2
Import at ion de f ormes issues daut res programmes
Si vous souhaitez simplement crer une forme partir des fichiers graphiques, images
clipart ou croquis sur papier existants, collez une image compatible, importez un
fichier, ou analysez une image et importez le fichier analys. Lorsque vous importez
une image, vous crez un objet graphique Visio. Lorsque vous liez ou incorporez une
image, vous crez un objet OLE (Object Linking and Embedding - Liaison et
incorporation dobjets). Sur la page de dessin, les objets graphiques et OLE
fonctionnent dans lensemble de la mme manire que les autres formes Visio, et vous
pouvez les utiliser pour crer des formes de base.
De nombreux fichiers imports dans les dessins Visio en tant quobjets graphiques ou
OLE sont stocks sous la forme de mtafichiers Windows

, qui est le format dchange


utilis pour stocker des graphiques vectoriels. Les graphiques trams issus des fichiers
BMP et DIB sont stocks sous la forme de bitmaps. Vous pouvez modifier les
mtafichiers et les bitmaps sur la page de dessin Visio pratiquement de la mme
manire que les autres formes. Pour ce faire, dplacez, faites pivoter, redimensionnez
ou ajoutez du texte, des formes gomtriques ou des proprits personnalises. En
outre, vous pouvez crer une forme de base partir dun mtafichier ou dun bitmap.
Cependant, seuls les mtafichiers (pas les bitmaps) peuvent tre convertis en formes
Visio, pour fournir des fonctions de modification supplmentaires.
Import at ion dimages graphiques
La mthode la plus simple pour ajouter des images graphiques un dessin Visio est de
les insrer ou de les importer. Cette opration permet dobtenir un objet graphique au
format mtafichier ou bitmap, en fonction du format de limage dorigine.
Pour import er une image graphique :
Slectionnez Insertion > Image.
Limage est importe en tant que nouvel objet graphique au format mtafichier
(si le graphique dorigine tait un graphique vectoriel) ou au format bitmap
(si le graphique dorigine tait stock dans un fichier BMP ou DIB).
Vous pouvez galement ouvrir les fichiers graphiques directement en utilisant la
commande Fichier > Ouvrir et en choisissant le format appropri dans la liste
droulante Type de fichier.
Pour la plupart des fichiers que vous importez, une bote de dialogue de paramtres
dimportation apparat ; vous pouvez y indiquer la manire dont le fichier import
doit apparatre dans un dessin. Par exemple, si vous importez un fichier au format
PCT, vous pouvez prciser si les dgrads et larrire-plan doivent tre conservs, et la
manire dont les couleurs doivent se traduire.
CRATI ON DE FORMES VI SI O 45
Pour dt erminer si un objet graphique import est un mt af ichier ou un
bit map :
Slectionnez lobjet, puis choisissez Format > Spcial. La bote de dialogue indique
Type : Mtafichier ou Type : Bitmap .
REMARQUE : un mtafichier peut tre compos, entre autres ou uniquement, dun
bitmap. Par exemple, si vous importez un fichier au format JPG, GIF ou TIF dans un
dessin Visio, vous crez un mtafichier contenant un bitmap.
Comme les donnes peuvent subir jusqu deux conversions avant dapparatre dans
le dessin Visio (une lorsque vous les exportez du programme dorigine et une autre
lorsque vous les importez dans le dessin Visio), limage peut tre lgrement
diffrente de celle du programme dorigine.
Les traits de certains graphiques vectoriels, tels que ceux inclus dans les fichiers Adobe
Illustrator (.ai), CorelDRAW! (.cdr), Encapsulated PostScript (.eps) et Micrografx
Designer (.drw) peuvent apparatre irrguliers dans le dessin Visio. Vous pouvez
obtenir de meilleurs rsultats avec ces formats de fichier si vous les convertissez en
formes Visio. Pour plus dinformations, reportez-vous la section Conversion de
mtafichiers imports en formes , page 46.
CONSEIL : vous pouvez importer des fichiers dans plus de 20 formats. Pour obtenir la liste
complte des formats, slectionnez Fichier > Ouvrir ou Insertion > Image, puis droulez
la liste Type de fichier.
Modif icat ion de mt af ichiers et de bit maps import s
Vous pouvez travailler avec des mtafichiers et bitmaps imports, ainsi quavec des
objets OLE, pratiquement de la mme manire quavec des formes Visio. Vous
pouvez notamment ajouter du texte en le saisissant, ou utiliser les outils de dessin
pour faire pivoter et redimensionner les objets. Vous pouvez appliquer un style de
trait pour modifier laspect du contour dun objet. Si cet objet contient des espaces
vides, par exemple un arrire-plan, vous pouvez galement leur appliquer un style,
une couleur ou un motif de remplissage.
Vous pouvez dfinir des proprits supplmentaires pour les bitmaps via la fentre
ShapeSheet

pour contrler la luminosit, le contraste et dautres attributs. Pour


accder ces proprits, slectionnez un bitmap import, choisissez Fentre >
Afficher la feuille ShapeSheet, puis recherchez la section Proprits d'image. Pour plus
dinformations sur chacune des cellules, slectionnez une cellule, puis appuyez sur la
touche F1.
46 CHAP I TRE 2
Conversion de mt af ichiers import s en f ormes
Vous pouvez convertir un objet graphique au format mtafichier en une forme ou en
un groupe de formes Visio que vous pouvez formater. Convertissez un mtafichier
lorsque vous voulez modifier les objets qui le composent (des formes par exemple),
appliquer une couleur et des motifs de remplissage, ou crer des dpendances entre
les formes laide de formules. En principe, vous convertissez un mtafichier en
groupe pour pouvoir le dplacer en tant quunit ; cependant, si vous souhaitez
effectuer une autre opration, convertissez-le directement en formes.
REMARQUE : si un mtafichier a pour composant un bitmap, vous ne pouvez pas le
convertir. Les bitmaps ne peuvent pas tre convertis en formes gomtriques Visio car le
moteur Visio ne peut pas diffrencier, dans un bitmap, les traits, le texte et les autres
lments.
Pour convert ir un mt af ichier en groupe Visio :
Slectionnez un mtafichier, puis choisissez Forme > Groupes > Convertir
en groupe.
Pour convert ir un mt af ichier en f ormes Visio :
Slectionnez un mtafichier, puis choisissez Forme > Groupes > Dissocier.
Pour reconvert ir une f orme en mt af ichier :
1 Slectionnez une forme, puis appuyez sur la squence de touches Ctrl+C pour la
copier.
2 Cliquez sur Edition > Collage spcial, puis choisissez Image (Mtafichier
amlior).
Conversion de bibliot hques de symboles CAO en f ormes
Selon le produit Visio dont vous disposez, vous pouvez convertir des bibliothques de
symboles des dessins CAO en formes de base Visio stockes dans un gabarit. Une
bibliothque de symboles est constitue de plusieurs fichiers de symbole (en gnral
des fichiers DWG). Les produits Visio incluant la commande de conversion des
bibliothques CAO peuvent convertir chaque fichier de symbole en une seule forme
de base. Lorsque vous convertissez simultanment plusieurs fichiers de symboles,
toutes les formes de base sont places sur le mme gabarit.
Pour convert ir une bibliot hque de symboles au f ormat Visio :
1 Slectionnez Fichier > Ouvrir, puis choisissez le modle de convertisseur CAO
(_dwgcnvt.vst) dans le dossier Visio\Solutions\Visio Extras.
Ce modle est livr avec Microsoft

Visio

2000, Technical Edition, et Microsoft


Visio

2000, Enterprise Edition.


2 Choisissez Outils > Macros > ThisDocument > Convertir les bibliothques CAO.
CRATI ON DE FORMES VI SI O 47
3 Dans la bote de dialogue de conversion de bibliothque CAO, appuyez sur la
touche Ctrl, puis, tout en la maintenant enfonce, slectionnez les fichiers DWG
convertir.
4 Cliquez sur Ouvrir.
Le bloc dans chacun des fichiers DWG slectionns est converti en une seule forme
de base et plac sur un nouveau gabarit. Chaque forme de base porte le nom du
fichier DWG correspondant.
5 Pour enregistrer le gabarit, cliquez avec le bouton droit sur sa barre de titre, puis
slectionnez Enregistrer sous. Dans la bote de dialogue Enregistrer le fichier sous,
attribuez un nom au fichier du gabarit, puis cliquez sur Enregistrer.
Ajust ement de f ormes Visio exist ant es
Vous navez pas besoin de crer des formes de toutes pices. En ralit, il est souvent
plus simple et plus rapide de rechercher une forme Visio existante qui vous convient,
puis de la modifier.
La modification des formes et groupes existants est tout un art. Cette section vous
donne des conseils sur la modification des objets. Pour plus dinformations sur
lutilisation des outils mentionns, consultez laide en ligne fournie avec Visio. Pour
plus dinformations sur la procdure de comparaison de la reprsentation dune
forme sur une page de dessin avec la reprsentation ShapeSheet

, reportez-vous la
section Examen dune forme dans la fentre ShapeSheet , page 70.
Modif icat ion des f ormes
Pour modifier la structure gomtrique de la plupart des formes, slectionnez-les
laide de loutil Crayon ( ), puis faites glisser le pointeur, ajoutez ou supprimez des
sommets. Pour modifier les courbures, faites glisser un point de contrle ou les
poignes dexcentricit dun point.
Lune des mthodes de
modification dune forme consiste
faire glisser un sommet (A) laide
de loutil Crayon.
Pour ajouter un segment, cliquez
avec loutil Crayon (A) sur lendroit
o vous souhaitez ajouter le
segment, tout en maintenant la
touche Ctrl enfonce. Insrez
ensuite, avec ce mme outil, le
nouveau sommet lemplacement
choisi.
A
A
48 CHAP I TRE 2
Pour quune forme comporte moins de segments, supprimez les segments inutiles.
Pour supprimer un segment,
slectionnez un sommet laide de
loutil Crayon (A), puis appuyez sur
la touche Suppr. Le segment auquel
est associ le sommet est alors
supprim. La forme des autres
segments est modifie en
consquence.
La manire dont le moteur Visio redessine la forme aprs la suppression dun sommet
dpend de la position du sommet (au dbut ou la fin dune forme ouverte), de
lordre de cration des segments et de la nature du segment suivant le sommet
supprimer (trait ou arc). Aprs la suppression de segments, vous devrez peut-tre
ajuster la forme ; pour ce faire, faites glisser les sommets et points de contrle en
fonction des besoins.
Pour modifier la courbure dun arc
ou dune courbe dessine main
leve, faites glisser un point de
contrle (A) jusqu ce que le
segment ait laspect souhait.
Modif icat ion des groupes
Vous pouvez examiner les groupes individuellement pour observer leur
fonctionnement et savoir comment les modifier. Bien quun groupe soit considr
comme une forme, il nest techniquement pas stock de la mme manire que les
autres formes. Un groupe peut inclure des repres et des objets issus dautres
applications, ainsi que des formes.
Un groupe peut contenir du texte et des formes gomtriques, indpendamment des
formes qui le composent. Un ensemble de formules spcifique est appliqu chacun
des objets dun groupe, et au groupe lui-mme ; par consquent, lorsque vous dissociez
des formes, les formules appliques au groupe sont perdues. Cependant, si vous
dissociez un groupe contenant du texte ou des formes gomtriques, le moteur Visio
convertit ce texte ou ces formes en une nouvelle forme.
REMARQUE : si vous convertissez un dessin Visio 2000 contenant des groupes dans un
format dune version Visio prcdente, le texte ou les formes gomtriques associs aux
groupes (et non les formes quils contiennent) sont perdus.
Vous pouvez modifier un groupe et les formes quil contient directement sur la page de
dessin. Cependant, pour viter de modifier un comportement de groupe particulier,
ouvrez le groupe dans la fentre de groupe.
A A
A
CRATI ON DE FORMES VI SI O 49
Pour ouvrir un groupe dans la f ent re de groupe :
Slectionnez un groupe, puis choisissez Edition > Ouvrir Grouper. (Si vous avez
attribu un nom au groupe laide de la commande Format > Spcial, le nom du
groupe suit la commande Ouvrir ; sinon, la commande indique Ouvrir Grouper.)
Vous pouvez modifier un groupe
dans la fentre de groupe pour
pouvoir travailler sur chacune des
formes qui le composent. Les
modifications effectues dans
cette fentre sont
automatiquement rpercutes dans
la fentre de dessin.
A Ouvrez un groupe dans la fentre de groupe pour modifier les formes quil contient tout en
conservant les dpendances de formules entre ces formes.
B Les formes apparaissent dans la fentre de groupe comme si elles taient indpendantes, et non
regroupes.
C Si vous dplacez une forme en dehors de la page dans la fentre de groupe, elle est place en
dehors du rectangle de slection du groupe.
CONSEIL : une fois les modifications effectues dans la fentre de groupe, vous devrez
peut-tre rajuster la largeur et la hauteur du groupe de telle sorte que son rectangle de
slection englobe prcisment toutes les formes du groupe. Pour ce faire, slectionnez un
groupe, puis choisissez Forme > Oprations > M. jour rect. slection. Pour plus
dinformations, reportez-vous la section Accrochage de formes une grille laide des
rectangles de slection , page 240.
Pour plus dinformations sur les options de comportement des groupes, notamment
sur la possibilit de placer des formes sur un groupe pour les y ajouter (le
transformant ainsi en cible de dplacement ), reportez-vous la section
Modification dun groupe , page 116.
A
B
C
50 CHAP I TRE 2
Dissociation des groupes
Dissociez un groupe pour annuler lassociation entre les formes quil contient et
travailler sur chacune de ces formes. Le processus de dissociation supprime la feuille
de calcul ShapeSheet du groupe. Si vous dissociez une occurrence dune forme de
base, la forme nhrite pas des caractristiques de la forme de base stockes dans le
gabarit du fichier de dessin.
Pour dissocier les f ormes :
1 Choisissez un groupe.
2 Slectionnez Forme > Groupes > Dissocier.
Droits dauteur sur les formes
Toute forme cre la suite dune modification dune forme Visio conserve le
copyright Visio. Si vous diffusez une forme de base protge par ce copyright, les
destinataires doivent disposer dune licence pour pouvoir utiliser un gabarit
contenant la forme de base dorigine.
Si vous souhaitez diffuser une forme sans restriction de copyright, vous devez crer
intgralement la forme. Lorsque vous crez des formes de cette manire, vous pouvez
leur appliquer votre propre copyright, avant ou aprs avoir cr une forme de base
partir de la forme.
Pour ajout er des droit s daut eur une f orme (ou dt erminer si une f orme
exist ant e est prot ge par un copyright ) :
Slectionnez une forme, puis choisissez Format > Spcial.
IMPORTANT : le champ relatif au copyright ne peut tre complt quune seule fois. Avant
dajouter un copyright, effectuez une copie de sauvegarde de la forme en cas dventuelles
erreurs de frappe.
Sommaire
3
Formes de base, gabarit s, modles
et document s Visio
Si vous envisagez dlaborer une solution de dessin normalis comportant des formes
que vous avez vous-mme cres ou une application personnalise intgrant la
fonction Microsoft

Visio

dans un systme plus vaste, vous constaterez que les


formes de base, les gabarits, les modles et les documents sont les composants
essentiels de la plupart des solutions Visio. Lorsque vous crez une solution, vous
devez savoir comment utiliser au mieux ces composants en fonction de vos besoins.
Vous pouvez diffuser les formes que vous dveloppez en tant que formes de base
rutilisables dans un gabarit. Un gabarit fonctionne comme une bibliothque
logicielle dans laquelle vous regroupez les formes que vous souhaitez rutiliser
ultrieurement. Vous pouvez galement crer un modle qui ouvre certains gabarits et
dtermine les paramtres de page, les informations de calque, les styles, les formes, les
lments prdfinis, tels que les blocs de titre, et les macros. Grce aux modles, il est
plus facile de transmettre des solutions personnalises aux utilisateurs. Les documents
Visio que vous crez contiennent tous les mmes informations. Leur affichage dpend
de lextension que vous utilisez.
Ce chapitre prsente ces lments et donne des conseils qui vous permettront de
rendre vos solutions aussi efficaces que possible.
Cration de formes de base et de gabarits ............................................................ 52
Cration de modles................................................................................................ 56
Ouverture et enregistrement de documents Visio ................................................ 60
52 CHAP I TRE 3
Crat ion de f ormes de base et de gabarit s
Une forme de base est une forme, un groupe ou un objet dune autre application,
enregistr dans un gabarit pouvant tre ouvert dans dautres dessins. Crez une forme
sur la page de dessin, puis faites-la glisser dans un gabarit pour crer une forme de
base, ou utilisez les commandes de la fentre de gabarit. Les formes de base sont cres
afin de permettre lutilisateur de crer des dessins sans le moindre trac manuel.
Pour rutiliser ces formes de base, enregistrez-les dans un gabarit autonome sous la
forme dun fichier .vss. Tout fichier Visio peut tre enregistr sous ce format.
Par dfaut, un gabarit autonome est ouvert en lecture seule dans lapplication Visio.
Pour que le gabarit ou ses formes de base puissent tre utiliss, le gabarit doit tre
modifiable. Sauf indication contraire, le terme gabarit dans ce guide dsigne un
gabarit autonome. Le gabarit contient les formes ncessaires la cration dun dessin :
il constitue lun des lments principaux de linterface utilisateur. Son efficacit
dpend de lorganisation, du comportement et des performances des formes.
Lorsquun utilisateur insre dans la page de dessin une forme de base dun gabarit, le
moteur Visio cre une copie de cette forme dans le gabarit de document du dessin et
cre une occurrence de la forme sur la page de dessin. Un fichier de dessin comporte
toujours un gabarit de document contenant des copies des formes de base utilises
dans le dessin, mme si les formes correspondantes sont ensuite supprimes de la
page de dessin. Une occurrence est lie la copie de la forme de base dans le gabarit
du document et hrite du comportement et de lapparence de la forme de base.
Gabarits dun fichier de dessin Visio
A Lorsque vous ouvrez un modle, le fichier du gabarit autonome est gnralement ouvert en
lecture seule dans une fentre ancre.
B Pour afficher le gabarit de document dune page de dessin, slectionnez Fentre > Afficher le
gabarit de document.
A
B
FORMES DE BASE, GABARI TS, MODL ES ET DOCUMENTS VI SI O 53
Crat ion dun gabarit
Pour crer un gabarit, vous pouvez ouvrir un nouveau fichier vide en tant que gabarit.
Comme la page de dessin du nouveau fichier est vide, sa taille reste peu importante.
Tant que vous navez pas ajout de formes de base au gabarit, le fichier contient
uniquement les styles par dfaut.
Pour crer un f ichier de gabarit vide avec accs en crit ure :
Slectionnez Fichier > Ouvrir un gabarit > Nouveau gabarit.
Pour crer un gabarit partir dun gabarit existant, vous pouvez ajouter de nouvelles
formes de base un gabarit existant ou modifier celles qui sy trouvent, puis
enregistrer dans un nouveau fichier le gabarit ainsi corrig.
Pour ouvrir un gabarit avec accs en crit ure :
1 Slectionnez Fichier > Ouvrir un gabarit > Ouvrir un gabarit.
2 Slectionnez le fichier de gabarit modifier.
3 Dans la bote de dialogue Ouvrir un gabarit, slectionnez Original dans la zone
Ouvrir, puis cliquez sur Ouvrir. Vous pouvez galement cliquer avec le bouton
droit sur la barre de titre dun gabarit ouvert, puis choisir Modifier dans le menu
contextuel.
Lorsquun gabarit est modifiable, un astrisque rouge apparat dans le coin
suprieur gauche de licne dans la barre de titre.
REMARQUE : les gabarits, les formes de base, les modles et le code source fournis avec
Visio sont protgs par un copyright dtenu par Visio Corporation. Ils sont protgs par la
loi sur les copyrights des Etats-Unis, ainsi que par diverses lgislations internationales.
Toute diffusion dune forme de base faisant lobjet dun copyright et fournie avec Visio est
interdite, sauf si le destinataire dtient dj une copie avec licence dun produit Visio
comportant cette forme de base. Cette interdiction sapplique aux formes que vous crez
partir de formes de base faisant lobjet dun copyright.
Pour protger par un copyright vos propres formes, choisissez Format > Spcial, puis
saisissez les informations de copyright dans le champ Copyright.
Vous pouvez crer rapidement un gabarit avec des formes de base en enregistrant le
gabarit de document dun fichier de dessin en tant que fichier de gabarit avec
lextension .vss. Le gabarit ainsi obtenu contient toutes les formes de base utilises lors
de la session de dessin, y compris celles dont les occurrences ont depuis t
supprimes de la page de dessin. Vous pouvez tre amen modifier le gabarit de
document et supprimer le contenu de la page de dessin avant de lenregistrer en tant
que nouveau fichier de gabarit.
54 CHAP I TRE 3
Pour crer un gabarit part ir du gabarit de document dun dessin :
1 Choisissez Fentre > Afficher le gabarit de document pour afficher ou modifier les
formes de base avant de les enregistrer.
2 Choisissez Fichier > Enregistrer sous.
3 Dans la zone Type de, choisissez Gabarit (*.vss). Entrez le nom et lemplacement
du fichier, puis cliquez sur Enregistrer.
Crat ion de f ormes de base dans des gabarit s
Tout comme vous crez une forme en insrant une forme de base dans un dessin,
vous pouvez crer une forme de base en insrant une forme ou un groupe dans un
gabarit. Avant tout, le gabarit doit tre modifiable (un astrisque rouge doit
apparatre sur licne dans sa barre de titre). Pour quun gabarit soit modifiable,
ouvrez-le en tant quoriginal ou cliquez avec le bouton droit sur la barre de titre du
gabarit, puis choisissez Modifier.
Vous pouvez crer une forme de base partir dun objet coll ou import depuis un
autre programme vers lapplication Visio. Vous pouvez galement crer des formes de
base en ajoutant un gabarit des formes de base vierges.
Pour crer une f orme de base part ir dune f orme dun dessin :
1 Dans la fentre de dessin, affichez la page contenant la forme utiliser en tant que
forme de base.
2 Vrifiez que la fentre de dessin est active, puis faites glisser la forme de cette
fentre vers la fentre de gabarit. Vous pouvez galement maintenir la touche Ctrl
enfonce et faire glisser une copie de la forme. Si le gabarit est ouvert en lecture
seule, un message apparat : vous pouvez paramtrer dynamiquement le gabarit
sur ltat Lire/Ecrire.
Dans la fentre de gabarit apparaissent le nom et licne par dfaut de la forme
de base.
3 Pour enregistrer les modifications apportes au fichier de gabarit, cliquez avec le
bouton droit sur la barre de titre du gabarit et choisissez Enregistrer.
Si vous crez un gabarit, entrez son nom. Dans la zone Type de fichier,
slectionnez Gabarit. Pour empcher toute modification fortuite du gabarit lors de
sa prochaine ouverture, slectionnez Lecture seule dans la zone Enregistrer.
Cliquez sur OK.
Pour crer une f orme de base vierge :
1 Si le gabarit auquel vous souhaitez ajouter la forme de base nest pas modifiable,
cliquez avec le bouton droit sur la barre de titre du gabarit, puis choisissez
Modifier.
2 Cliquez avec le bouton droit dans la fentre de gabarit, puis choisissez Nouvelle
forme de base.
FORMES DE BASE, GABARI TS, MODL ES ET DOCUMENTS VI SI O 55
3 Dans la bote de dialogue Nouvelle forme de base, compltez le champ Nom en
saisissant le nom de la forme de base, puis en cliquant sur OK.
Une forme de base vierge est cre au bas du gabarit et indique par une icne
barre. Modifiez la forme de base et son icne laide des commandes du menu
Forme de base ou du menu contextuel de cette forme.
Pour plus dinformations sur les autres options de la bote de dialogue Nouvelle
forme de base, cliquez sur le bouton ? dans la bote de dialogue.
Modif icat ion des f ormes de base dans les gabarit s
Lorsque vous ouvrez un gabarit avec accs en criture, vous pouvez modifier les
formes de base en ouvrant la fentre de dessin de la forme comme lindique la figure
suivante. Pour quun gabarit soit modifiable, vous pouvez galement cliquer avec le
bouton droit sur la barre de titre du gabarit et choisir Modifier. Pour dfinir les
attributs des formes de base et des icnes, cliquez sur la forme avec le bouton droit et
choisissez une commande dans le menu contextuel.
La fentre de dessin de la forme de
base affiche la page de dessin
dune forme de base.
A Lastrisque rouge de licne dans la barre de titre du gabarit indique que le gabarit est
modifiable.
B Vous pouvez ajouter un gabarit une forme de base vierge, puis modifier cette dernire et son
icne.
C Vous pouvez faire un dessin sur la page de dessin dune forme de base et la modifier comme sil
sagissait de la page de dessin dun document.
D Vous pouvez renommer rapidement une forme de base en cliquant deux fois sur son texte.
B
C
A
D
56 CHAP I TRE 3
Pour modif ier une f orme de base :
1 Dans la fentre de gabarit, cliquez avec le bouton droit sur la forme de base
modifier, puis choisissez Modifier la forme de base dans le menu contextuel.
La fentre de dessin de la forme de base qui apparat contient la page de dessin
associe la forme de base.
2 Lorsque vous avez fini de modifier la forme de base, fermez sa fentre de dessin.
Un message apparat et vous invite mettre jour la forme de base. Cliquez sur
Oui. Les modifications que vous avez apportes sont galement rpercutes sur
licne de la forme de base, moins que loption de mise jour manuelle ne soit
coche dans la bote de dialogue Proprits de la forme de base de la forme de base.
Crat ion de modles
En rgle gnrale, pour crer un modle, vous ouvrez un nouveau fichier de dessin ou
un fichier existant, vous dfinissez les options souhaites, vous ouvrez les gabarits
ncessaires, puis vous enregistrez le fichier en tant que modle. La page de dessin dun
fichier de modle Visio est gnralement vierge, mais vous pouvez choisir dinsrer
des formes dans la page de dessin, telles quun bloc de titre ou le logo dune socit.
Le modle peut galement comporter plusieurs pages de dessin.
Crat ion dun modle
Vous pouvez enregistrer un fichier Visio en tant que modle. Les modles peuvent
comporter les lments suivants :
La liste despaces de travail identifiant un ou plusieurs gabarits, ouverte lorsque
vous ouvrez un nouveau fichier de dessin avec le modle.
Une ou plusieurs pages de dessin avec des arrire-plans. Chaque page contient un
dessin que vous pouvez redimensionner.
Des macros Microsoft

Visual Basic

pour Applications (VBA).


Des paramtres dimpression.
Des styles de ligne, de texte et de remplissage.
Des options de magntisme, de collage et de calque.
Une palette de couleurs.
La taille et la position des fentres.
FORMES DE BASE, GABARI TS, MODL ES ET DOCUMENTS VI SI O 57
Pour crer un modle :
1 Ouvrez le fichier de dessin qui doit servir de rfrence au modle. Vous pouvez
galement ouvrir un nouveau fichier de dessin.
2 Ouvrez le ou les fichiers de gabarit ouvrir avec le modle.
Ouvrez chaque fichier de gabarit en lecture seule. Si vous ouvrez le fichier de
gabarit en tant quoriginal, il est enregistr sous cette forme dans la liste des
espaces de travail du modle.
3 Activez la fentre de dessin, puis modifiez ou dfinissez les options et les
paramtres inclure dans le modle.
Par exemple, vous pouvez dfinir les styles inclure, indiquer les options
daffichage de page et slectionner une chelle de dessin.
4 Si une page de dessin doit contenir des lments standard, choisissez son
apparence. Vous pouvez insrer dautres pages en tant que pages de premier plan
ou darrire-plan.
5 Choisissez Fichier > Proprits. Dans la bote de dialogue Proprits, saisissez des
informations sur le modle et cliquez sur OK.
Le texte saisi dans la zone Description apparat lorsque vous slectionnez le modle
dans la bote de dialogue Ouvrir ou Parcourir les modles (choisissez Fichier >
Nouveau > Choisir le type de dessin, puis cliquez sur le bouton Parcourir les
modles).
6 Choisissez Fichier > Enregistrer sous.
Dans la zone Enregistrer, cochez la case Espace de travail. Dans la liste Type de
fichier, slectionnez Modle (*.vst). Dans la zone Nom du fichier, saisissez le nom
du modle, puis cliquez sur OK.
En rgle gnrale, le moteur Visio ouvre les gabarits dun modle dans des fentres
ancres en lecture seule. Toutefois, un modle peut ouvrir certains fichiers de gabarit
ancrs et dautres flottants, certains en lecture seule et dautres en tant quoriginal.
La liste des espaces de travail dun modle stocke le nom des fichiers de gabarit
ouvrir, ainsi que le type, la taille et la position de la fentre dans laquelle ils doivent
apparatre. Ces paramtres daffichage correspondent leur apparence au moment de
lenregistrement du modle.
REMARQUE : si vous crez un modle pour des dessins mis lchelle, lchelle de la page
est dfinie par la page de dessin du modle. Lchelle de la forme de base est dtermine
par celle de la forme. Pour viter tout comportement inattendu, il est prfrable dutiliser
une mme chelle ou une chelle proche pour les formes de base et les pages de dessin.
Pour plus dinformations, reportez-vous au chapitre 12, Formes mises lchelle et
dessins cots .
58 CHAP I TRE 3
En rgle gnrale, lorsque vous
ouvrez un fichier en tant que
modle (.vst), vous ouvrez au moins
deux documents, un fichier de
gabarit et un fichier de dessin
contenant les lments indiqus.
A Un ou plusieurs gabarits autonomes selon les indications de la liste despaces de travail
du modle
B Les dfinitions de style et les couleurs utilises dans le fichier de gabarit qui doivent
correspondre celles du dessin
C La liste des espaces de travail du modle qui rpertorie tous les fichiers et toutes les fentres
ouvrir
D Le dessin dune ou de plusieurs pages, contenant les dfinitions de style, la palette de couleurs
et le gabarit de document
A propos des pages, des arrire-plans et des calques
Lorsque vous crez un modle Visio, vous devez dcider de la manire dont les
informations que vous allez fournir vont tre organises. Lapplication Visio fournit
des outils daffichage et dorganisation, tels que des pages, des arrire-plans et des
calques pour organiser laffichage des lments ; vous pouvez utiliser ces outils afin
que vos solutions soient plus efficaces.
FORMES DE BASE, GABARI TS, MODL ES ET DOCUMENTS VI SI O 59
A propos des pages et des arrire-plans
Les modles et les documents peuvent contenir plusieurs pages de dessin.
Chaque page peut tre associe une ou plusieurs pages darrire-plan. Les pages
darrire-plan se trouvent larrire des pages de dessin. Elles contiennent
gnralement les formes devant apparatre sur plusieurs pages de dessin. Vous pouvez
utiliser les arrire-plans pour crer des calques dinformations visuels. Lorsque vous
associez un arrire-plan un autre arrire-plan, il figure derrire larrire-plan
dorigine et derrire la page de dessin.
Les formes figurant sur les pages darrire-plan ne peuvent pas tre modifies partir
de la page de premier plan. Pour modifier les lments de la page darrire-plan, vous
devez dabord atteindre cette dernire. Lorsque vous dveloppez une solution, vous
devez slectionner les formes placer la fois sur les pages de premier plan et
darrire-plan, et choisir si vos modles de document doivent contenir des
arrire-plans.
Les arrire-plans et les pages
fonctionnent la manire de
feuilles de papier transparent
empiles les unes sur les autres.
Lorsque vous associez un
arrire-plan (C) un autre
arrire-plan (B), il apparat derrire
larrire-plan dorigine et derrire la
page de dessin (A) ; la page de
dessin apparat toujours sur le
dessus.
A propos des calques
Vous pouvez utiliser des calques pour organiser les formes de base et les formes en
catgories nommes dans les modles et les dessins.
Dans dautres programmes graphiques, le terme calques dsigne souvent lordre
dempilement (du premier plan larrire-plan) des objets sur la page. Dans Visio,
les calques organisent les formes apparentes en catgories nommes. Lappartenance
dune forme un calque na aucune incidence sur sa position dans lordre
dempilement.
Vous pouvez masquer ou afficher les calques, les imprimer ou non, ou protger les
calques contre toute modification. Les formes peuvent tre associes plusieurs
calques. Les informations de calque dune forme sont indpendantes de lordre
dempilement et mme de son appartenance au groupe. En outre, chaque page dun
document peut possder son propre ensemble de calques. Lorsque vous crez des
formes de base, vous pouvez les associer des calques. Lorsque les utilisateurs crent
des occurrences de ces formes, elles sont automatiquement associes ces calques.
Texas
B
C
A
60 CHAP I TRE 3
Les formes peuvent appartenir
plusieurs calques. Dans cet
exemple, les formes lac et boussole
appartiennent aux calques de rues
(A), dlments gographiques (B)
et de routes (C).
Ouvert ure et enregist rement de document s Visio
Tous les fichiers Visio prsentent le mme format. Toutefois, lextension de fichier
du document Visio dtermine le mode douverture et denregistrement des
modifications. Un document Visio peut tre un dessin (.vsd), un gabarit (.vss), un
modle (.vst) ou un espace de travail (.vsw). Le moteur Visio utilise lextension du
nom de fichier afin de dterminer les lments afficher lors de louverture du
document. Par exemple, vous pouvez enregistrer un fichier de dessin (.vsd) en tant
que modle (.vst) que vous pourrez ensuite ouvrir et utiliser en tant que modle.
Composant s dun document Visio
Chaque document Visio contient les lments suivants :
Au moins une page de dessin.
Un gabarit de document contenant des copies des formes de base utilises sur la
page de dessin (ou dans le cas dun fichier .vss, un gabarit nomm affichant la
forme de base).
La liste des espaces de travail qui identifie toutes les fentres et tous les fichiers
ouvrir avec le fichier en cours.
La liste des styles dfinis dans le document, comprenant au moins les quatre styles
Visio par dfaut (Sans style, Aucun, Normal et Txt. seulmt).
Une palette de couleurs comportant 24 pastilles de couleur modifiables par
lutilisateur et jusqu 232 couleurs supplmentaires dfinies par les formules RVB
(rouge, vert, bleu) ou TSL (teinte, saturation, luminosit) dans le document.
Un projet VBA (Microsoft Visual Basic pour Applications) muni du module de
classe par dfaut (vide) appel ThisDocument.
Une feuille de document pouvant stocker les donnes personnalises.
FORMES DE BASE, GABARI TS, MODL ES ET DOCUMENTS VI SI O 61
La page de dessin dun document peut galement contenir des formes, dont les styles
et les couleurs dpendent des lments stocks dans le document, ainsi que dautres
projets VBA comprenant des modules, des modules de classe et des formes utilisateur.
Pour plus dinformations sur lutilisation de VBA dans lapplication Visio,
reportez-vous au chapitre 15, Programmation dans Visio avec Microsoft VBA .
Ouvert ure dun f ichier Visio
Vous pouvez ouvrir un fichier Visio en tant que document original avec accs en
lecture/criture, en tant que document original avec accs en lecture seule ou en tant
que copie du document original. Lorsque vous choisissez Fichier > Ouvrir, ces
options apparaissent dans la bote de dialogue douverture.
Le moteur Visio utilise lextension du nom de fichier du document pour dterminer
les fentres activer. Par exemple, lorsque vous ouvrez un fichier de gabarit, sa fentre
de dessin est ferme : seul son gabarit de document apparat. Lorsque vous ouvrez un
fichier de dessin, la fentre du gabarit de document est ferme : seule la page de dessin
apparat. Vous pouvez afficher les fentres fermes par dfaut pour un fichier Visio
donn :
Pour afficher la fentre de dessin dun fichier de gabarit (.vss), choisissez Fentre >
Afficher la page de dessin.
Pour afficher le gabarit de document dun fichier, choisissez Fentre > Afficher le
gabarit de document.
Le tableau suivant indique le mode daffichage par dfaut des diffrents types de
fichier en fonction de lextension.
Ouverture des diffrents types de fichier
Fichier Type de document Elments affichs par dfaut
.vsd Dessin O uvre toutes les fentres et tous les fichiers rpertoris
dans l espace de travail si celui-ci a t enregistr avec le
fichier. Dans le cas contraire, le moteur Visio cre une
fentre de dessin et affiche la page qui tait ouverte lors
du dernier enregistrement du fichier.
.vss Gabarit O uvre le gabarit en lecture seule (dans une fentre ancre
si la fentre de dessin est active). Si aucune fentre de
dessin n est active, le moteur Visio cre une fentre de
gabarit et affiche le gabarit du fichier.
.vst M odle O uvre une copie sans titre du dessin dans une fentre de
dessin, et ouvre toutes les fentres et tous les fichiers
rpertoris dans l espace de travail.
.vsw Espace de travail O uvre dans les fentres appropries tous les fichiers
rpertoris dans l espace de travail.
62 CHAP I TRE 3
Choix du t ype de f ichier adapt vot re solut ion
Vous pouvez slectionner le type de fichier Visio qui vous permettra de travailler plus
efficacement. Voici quelques conseils concernant lenregistrement de votre travail :
Enregistrez le gabarit de document dun fichier en tant que fichier de gabarit (.vss)
afin de crer un gabarit autonome regroupant les formes que vous utilisez
frquemment.
Si vous ouvrez plusieurs fichiers de dessin (.vsd) simultanment, vous pouvez
enregistrer lagencement de toutes les fentres ouvertes dans un fichier despace de
travail (.vsw). Vous pouvez ensuite ouvrir le fichier despace de travail afin
douvrir toutes les fentres de dessin dans le mme ordre. (Lorsque vous cochez la
case Espace de travail dans la bote de dialogue Enregistrer le fichier sous, vous
enregistrez uniquement les descriptions des fentres ouvertes dans la liste des
espaces de travail du fichier en cours denregistrement.)
Pour enregistrer votre fichier en tant quespace de travail, appuyez sur Alt+F12,
entrez le nom du fichier despace de travail, choisissez le dossier dans lequel vous
souhaitez lenregistrer, puis cliquez sur Enregistrer.
REMARQUE : avant denregistrer vos fichiers dans un espace de travail, enregistrez vos
dessins en tant que fichiers de dessin (.vsd).
Si vous enregistrez des fichiers de gabarit et de modle qui doivent tre utiliss
conjointement, vrifiez que les paramtres de page, les styles et les couleurs de
leurs pages de dessin sont compatibles. Pour plus dinformations, reportez-vous
au chapitre 10, Gestion des styles, des formats et des couleurs .
Pour que le document que vous crez puisse tre consult mais pas modifi par les
autres utilisateurs, enregistrez le fichier en lecture seule. Pour ce faire, cochez la
case Lecture seule dans la bote de dialogue Enregistrer le fichier sous.
Les utilisateurs peuvent ouvrir et modifier une copie dun fichier en lecture seule,
mais ils ne peuvent apporter aucune modification loriginal. Une fois que vous
avez enregistr un fichier en lecture seule, vous devez lenregistrer sous un autre
nom via la commande Enregistrer sous pour quil puisse nouveau tre modifi.
Laide en ligne de Visio contient des procdures permettant denregistrer diffrents
types de fichier et despace de travail. Pour plus dinformations, recherchez le terme
enregistrement dans laide en ligne.
Sommaire
4
Formules Visio
En tant que dveloppeur de formes, vous avez besoin dun moyen de contrle trs
prcis pour lapparence et le fonctionnement des formes cres. Vous pouvez
modifier le fonctionnement par dfaut dune forme et amliorer ses possibilits en
modifiant ses formules. De nombreux autres objets Microsoft

Visio

(par exemple,
les pages, les documents, les formes de base, les repres et les styles) sont galement
dots de formules modifiables.
Ce chapitre prsente les termes et les concepts concernant les formules Visio. Tout
dabord, il dcrit le mode daffichage des formes et des autres objets Visio dans la
fentre ShapeSheet

, ainsi que les diverses sections de cette fentre et les lments sur
lesquels porte leur contrle. Il prsente ensuite les composants dune formule Visio
(fonctions, oprateurs, rfrences de cellule et units de mesure) et indique comment
modifier les formules dans la fentre ShapeSheet. Il fournit galement des
informations gnrales concernant la conception des formules : comment les formes
hritent des formules, quand ajouter des cellules dfinies par lutilisateur, comment
paramtrer les formules pour empcher les utilisateurs de les modifier dans une
fentre de dessin et comment contrler les calculs. Enfin, il offre des indications qui
permettent de dcider quand utiliser Automation pour ajouter des formules
une solution.
Fentre ShapeSheet................................................................................................. 64
Elments des formules Visio................................................................................... 72
Conception de formules Visio................................................................................. 80
Ajout de fonctionnalits aux formules Visio laide dAutomation..................... 86
64 CHAP I TRE 4
Fent re ShapeSheet
Un objet Visio est stock en interne en tant quensemble de formules. Par exemple,
lorsque vous affichez une forme dans une fentre de dessin, vous en voyez le rendu
graphique et son fonctionnement en fonction de ses formules. Lorsque vous affichez
cette mme forme dans la fentre ShapeSheet

, vous visualisez les formules


sous-jacentes qui dterminent lapparence et le fonctionnement de la forme sur la
page de dessin. Ces deux fentres affichent chacune la mme forme, mais sous un
angle diffrent.
Dans une fentre de dessin, certaines des modifications effectues sur un objet ont
une incidence sur ses formules. Par exemple, lorsque vous faites glisser une forme
laide de loutil Pointeur, Visio rvalue les formules qui dfinissent le centre de
rotation, ou axe, de la forme sur la page de dessin car ces formules dterminent
lemplacement de la forme sur la page. Une fentre ShapeSheet permet nanmoins de
contrler avec une grande prcision lapparence et le fonctionnement de lobjet en en
modifiant les formules. Que vous modifiiez un objet dans la fentre de dessin ou dans
la fentre ShapeSheet, ces changements sont automatiquement sauvegards lors de
lenregistrement du document Visio contenant lobjet.
Af f ichage de la f ent re ShapeSheet
La plupart des objets Visio (formes, groupes, repres, points de repre, pages,
documents, styles, objets lis ou incorpors provenant dautres applications) sont
dots de formules sous-jacentes que vous pouvez modifier pour changer le
fonctionnement de lobjet. Pour changer les formules dun objet, vous devez
commencer par afficher la fentre ShapeSheet associe lobjet.
Parties dune forme dans une
fentre ShapeSheet
A Dans la fentre ShapeSheet, la barre de menus comporte les commandes permettant de
travailler sur les formules de lobjet.
B Vous pouvez modifier la formule dans la cellule slectionne ou dans la barre de formule.
C Chaque section ShapeSheet reprsente un ensemble de formules associes.
A
B
C
FORMUL ES VI SI O 65
Pour af f icher la f ent re ShapeSheet associe un objet de la page de
dessin :
1 Slectionnez un objet dans la fentre de dessin.
Pour slectionner une forme dans un groupe ( condition que ses paramtres de
fonctionnement le permettent), slectionnez le groupe, puis la forme. Pour plus
dinformations sur les groupes, reportez-vous au chapitre 6, Regroupement et
fusion de formes .
2 Choisissez Fentre > Afficher la feuille ShapeSheet ou cliquez sur le bouton
Afficher la feuille ShapeSheet ( ) de la barre doutils Dveloppeur.
Pour afficher la barre doutils Dveloppeur, choisissez Affichage > Barres d'outils,
puis cochez loption Dveloppeur.
CONSEIL : pour ajouter la commande Afficher la feuille ShapeSheet aux menus
contextuels des formes (ces menus apparaissent lorsque vous cliquez avec le bouton droit
sur une forme), choisissez Outils > Options, cliquez sur longlet Options avances, puis
cochez loption Excuter sous le mode dveloppeur. Cette option ajoute galement le
sous-menu Programmes complmentaires au menu Outils.
Les formules des pages de dessin, des styles, des documents Visio et des formes de base
des gabarits sont galement modifiables.
Pour af f icher la f ent re ShapeSheet associe une page, un st yle ou
document :
1 Choisissez Affichage > Fentres > Drawing Explorer.
Fentre Drawing Explorer
2 Cliquez sur un dossier pour louvrir ou le fermer.
3 Dans la fentre Drawing Explorer

, cliquez avec le bouton droit sur un document,


une page ou un style, puis choisissez Afficher la feuille ShapeSheet dans le menu
contextuel.
66 CHAP I TRE 4
CONSEIL : vous pouvez galement afficher la fentre ShapeSheet associe une page soit
en choisissant Fentre > Afficher la feuille ShapeSheet lorsquaucun lment de cette page
nest slectionn, soit en cliquant sur le bouton Afficher la feuille ShapeSheet ( ) de la
barre doutils Dveloppeur.
Pour af f icher la f ent re ShapeSheet associe une f orme de base dun
gabarit :
1 Si la forme de base est dans un gabarit autonome, choisissez Fichier > Ouvrir un
Gabarit > Ouvrir un gabarit et slectionnez le fichier de gabarit contenant cette
forme de base. Vrifiez que loption Original ou Copie est slectionne dans la
bote de dialogue Ouvrir un gabarit.
Si la forme de base est dans le gabarit dun document Visio ouvert, choisissez
Fentre > Afficher le gabarit de document.
2 Dans la fentre des gabarits de Visio, cliquez avec le bouton droit sur la forme de
base et choisissez Modifier la forme de base dans le menu contextuel.
Vous pouvez galement afficher une fentre de dessin des formes de base en
cliquant avec le bouton droit sur une forme de base dans la fentre Drawing
Explorer et en choisissant Modifier la forme de base dans le menu contextuel.
3 Dans la fentre de dessin des formes de base, alors quaucun lment nest
slectionn, choisissez Fentre > Afficher la feuille ShapeSheet.
Dans longlet Options avances de la bote de dialogue accessible via Outils >
Options, si loption mode Excuter sous le mode dveloppeur est coche, vous
pouvez galement effectuer les oprations suivantes :
Cliquez avec le bouton droit dans la fentre de dessin des formes de base et
choisissez Afficher la feuille ShapeSheet dans le menu contextuel.
Cliquez sur le bouton Afficher la feuille ShapeSheet ( ) de la barre doutils
Dveloppeur.
Af f ichage des sect ions de la f ent re ShapeSheet
La fentre ShapeSheet est compose de sections avec des cellules libelles contenant
les formules qui dfinissent les lments associs lapparence et au fonctionnement
de lobjet. Visio naffiche pas automatiquement toutes les sections possibles dune
fentre ShapeSheet. Certaines sont masques pour conomiser lespace daffichage ;
dautres sont prsentes uniquement si elles sont ncessaires pour lobjet. Par exemple,
pour crer une commande et lajouter au menu contextuel dune forme, vous devez
ajouter une section Actions la forme laide de la commande Insertion > Section de
la fentre ShapeSheet ou via Automation. (Pour plus dinformations sur lajout de
sections via Automation, reportez-vous au chapitre 17, Automatisation des
formules .
FORMUL ES VI SI O 67
Pour af f icher ou masquer les sect ions de la f ent re ShapeSheet :
1 Cliquez sur la barre de titre de la fentre ShapeSheet, puis choisissez Affichage >
Sections.
2 Dans la bote de dialogue Sections, cochez les sections afficher ou dslectionnez
celles masquer, puis cliquez sur OK.
Si une section apparat en gris, cela signifie quelle nest pas disponible car elle
nexiste pas pour lobjet.
Pour ajout er des sect ions dans la f ent re ShapeSheet :
1 Choisissez Insertion > Section.
2 Dans la bote de dialogue Insrer une section, cochez les sections ajouter lobjet,
puis cliquez sur OK.
Les sections apparaissent dans la fentre ShapeSheet dans un ordre fixe (et non
au-dessus ou au-dessous de la section affiche). Faites dfiler la fentre ShapeSheet
pour rechercher les sections qui viennent dy tre insres.
Les sections Gomtrie fonctionnent diffremment des autres types de section : un
objet peut tre dot de plusieurs sections du type Gomtrie, alors quil ne peut en
possder quune pour chacun des autres types. Dans la bote de dialogue Insrer
une section, slectionnez Gomtrie pour ajouter une section Gomtrie vierge
comprenant des lignes DplacerVers et TraitVers ; slectionnez Ellipse ou Ligne
infinie pour ajouter une section Gomtrie comprenant une ligne Ellipse ou Ligne
Infinie, respectivement. Pour plus dinformations sur les lignes Gomtrie,
reportez-vous au chapitre 5, Contrle de la gomtrie des formes laide
de formules .
CONSEIL : vous pouvez agrandir ou rduire une section de la fentre ShapeSheet en
cliquant sur le nom de cette section.
Sect ions ShapeSheet : prsent at ion et objet de leur cont rle
Chaque section ShapeSheet contrle un aspect dun objet Visio. En tant que
dveloppeur de formes, vous devez savoir de quelles sections dpend un
fonctionnement pour pouvoir le modifier.
Cette partie de chapitre rpertorie toutes les sections ShapeSheet disponibles,
accompagnes dune brve description de leur action. Pour plus dinformations sur
les cellules dune section ShapeSheet, effectuez une recherche laide des mots
sections dans des feuilles Shapesheet dans laide en ligne Rfrence du dveloppeur
fournie avec Visio.
68 CHAP I TRE 4
Sections ShapeSheet
Section Elments dfinis
Actions Noms des commandes personnalises rpertoris dans le menu
contextuel de l objet et les actions de ces commandes.
Alignement Alignement de l objet en fonction du repre ou du point de repre
auquel il est coll.
Appartenance au
calque
Calques auxquels l objet est attribu.
Calques Calques de l objet et leurs proprits.
Caractres Attributs de formatage pour le texte de l objet : police, couleur,
style de texte, casse, position en fonction de la ligne de base, taille
en points, etc.
Cellules
personnalises
Cellules nommes permettant de saisir des formules et des
constantes mentionnes dans d autres cellules et outils
complmentaires. Contrairement aux cellules M ontage, les
cellules dfinies par l utilisateur sont transportables . Par
exemple, si une forme faisant rfrence une cellule dfinie par
l utilisateur dans une page est copie sur une autre page ne
comportant pas la mme cellule dfinie par l utilisateur, cette
cellule est alors ajoute dans la page. Si la page possde dj
cette cellule dfinie par l utilisateur, la forme y fait simplement
rfrence pour utiliser sa valeur.
Champs de texte Formules personnalises insres dans un texte l aide de la
commande I nsrer un champ.
Contrles Coordonnes x et y, et comportement des poignes de contrle
de l objet.
Divers Proprits qui contrlent d autres attributs, tels que l apparence
de l objet lorsqu il est slectionn ou dplac.
Evnements Formules indiquant le dclencheur d un vnement, tel que le
double-clic sur une forme.
Format de bloc de
texte
Alignement et marges du texte dans un bloc de texte.
Format de
remplissage
Attributs de formatage du remplissage de l objet et de son ombre
porte : motif, couleurs de premier et d arrire-plan, etc.
Format de trait Attributs de formatage des lignes : motif, paisseur et couleur ;
ornement des extrmits de trait (par exemple, une pointe de
flche) ; format des ornements ; rayon du cercle dans lequel la
ligne est inscrite, style des extrmits de ligne (rond ou carr), etc.
Gomtrie Coordonnes des sommets des lignes et des arcs constituant les
proprits gomtriques de l objet. Si cet objet possde plusieurs
chemins, il est dot d une section Gomtrie pour chacun
d entre eux.
I nfos sur le collage Formules gnres pour une forme 1D lorsque cette dernire est
colle d autres objets.
I nfos sur l' image
externe
Largeur, hauteur et dcalage l intrieur des bordures de l objet
provenant d une autre application et insr dans un dessin Visio.
Liens hypertexte Liens entre l objet et une destination, telle qu une autre page de
dessin, un autre fichier ou un site Web.
FORMUL ES VI SI O 69
M ise en page Attributs de page qui contrlent la prsentation automatique des
formes et le routage des liens dynamiques : apparence par dfaut
et fonctionnement des formes et des liens dynamiques, etc.
M ise en page des
formes
Attributs de positionnement et de routage : possibilit pour un lien
de traverser une forme ou style qu un lien doit adopter lorsqu il en
croise un autre.
M ontage Zone de travail rserve aux formules intermdiaires mentionnes
dans d autres cellules.
Paragraphe Attributs de formatage des paragraphes : retraits, espacement
entre les lignes et alignement horizontal des paragraphes.
Points de connexion Points de connexion de l objet.
Points de fin 1D Coordonnes x et y des points de dbut et de fin d une forme 1D.
Proprits de doc Attributs de document, tels que les paramtres d aperu avant
impression ou le format des sorties.
Proprits de
groupe
Attributs de comportement, de slection et d affichage des
groupes : modes de slection et d affichage, fonctionnement du
texte, de l attraction et du dplacement, etc.
Proprits de la
page
Attributs tels que l chelle de dessin, le format de la page et le
dcalage des ombres portes.
Proprits de style Attributs en fonction de l lment auquel le style est appliqu
(formatage de remplissage, de trait ou de texte).
Proprits d' image Attributs de bitmap, tels que l intensit (gamma), la luminosit et
le contraste de l image.
Proprits
personnalises
Donnes associes l objet (lments dfinis par l utilisateur).
Protection Etat des verrouillages paramtrs l aide de la commande
Protection et des verrouillages supplmentaires pouvant tre
dfinis uniquement dans la fentre ShapeSheet.
Rgles et grille Paramtres de la grille et des rgles de la page : densit, origine et
espacement.
Tabulations Alignement et positionnement des taquets de tabulation.
Transformation de la
forme
I nformations de positionnement gnrales : largeur, hauteur,
angle et centre de rotation (axe) ; retournement et fonctionnement
de l objet lorsque ce dernier est redimensionn au sein d un
groupe.
Transformation du
texte
I nformations de positionnement d un bloc de texte.
Sections ShapeSheet (suite)
Section Elments dfinis
70 CHAP I TRE 4
Examen dune f orme dans la f ent re ShapeSheet
La meilleure faon dtudier les formules Visio et la fentre ShapeSheet est dafficher
une forme dans la fentre de dessin et dans la fentre ShapeSheet, cte cte. Cette
technique est pratique pour isoler des formes de base afin dexaminer lincidence
des formules personnalises sur leur fonctionnement. Vous pouvez galement essayer
de modifier les formules par dfaut pour observer les effets sur la forme dans la
fentre de dessin.
Pour examiner une f orme dans la f ent re ShapeSheet :
1 Slectionnez une forme dans la fentre de dessin.
2 Choisissez Fentre > Afficher la feuille ShapeSheet pour afficher la fentre
ShapeSheet.
3 Choisissez Fentre > Mosaque pour disposer les fentres ShapeSheet et de dessin
cte cte.
Examen dune forme dans la
fentre ShapeSheet
A Lorsque vous slectionnez certaines lignes ou cellules de la fentre ShapeSheet, le sommet
correspondant est mis en surbrillance dans la fentre de dessin.
Effectuez vos propres essais en commenant par dessiner une forme simple constitue
de segments de droite, telle quun rectangle ou un autre polygone, et affichez la
fentre ShapeSheet en suivant la procdure indique prcdemment. Dans la fentre
ShapeSheet, testez les suggestions ci-dessous et observez leur incidence sur la forme
dans la fentre de dessin :
Modifiez les valeurs des cellules AxeX et AxeY de la section Transformation de la
forme. La forme change de place sur la page de dessin.
Modifiez les valeurs des paramtres Largeur, Hauteur ou Angle. La forme est
rduite ou agrandie, ou pivote en fonction de ces valeurs.
Cliquez sur lintitul dune ligne Gomtrie pour slectionner cette dernire. Dans
la fentre de dessin, une poigne noire apparat sur le sommet correspondant.
A
FORMUL ES VI SI O 71
Slectionnez une ligne Gomtrie et choisissez Edition > Supprimer la ligne.
Le sommet correspondant est remplac par un segment de droite.
Slectionnez une ligne Gomtrie et choisissez Insrer > Ligne ou Insrer > Ligne
aprs. Saisissez vos propres valeurs dans les cellules de la ligne insre. Un sommet
apparat sur la forme en fonction des coordonnes indiques.
CONSEIL : si des valeurs plutt que des formules apparaissent dans les cellules de la fentre
ShapeSheet (ce qui est souvent le cas avec les formes de base fournies avec les produits
Visio), choisissez Affichage > Formules pour afficher les formules.
Vous pouvez afficher les sections qui ne sont pas visibles ou masquer celles qui ne vous
sont pas utiles. Pour plus dinformations, reportez-vous la section Affichage des
sections de la fentre ShapeSheet , page 66.
Lorsque vous modifiez une forme, certaines formules sont affiches en noir et dautres en
bleu. Cela indique que la formule est hrite ou locale. Pour plus dinformations,
reportez-vous la section Hritage des formules dune forme , page 80.
Dans la fentre de dessin, vous pouvez modifier la forme laide des outils de dessin et
des commandes Visio pour observer lincidence de ces changements sur les formules
de la forme. Testez les suggestions ci-dessous :
Dplacez la forme laide de loutil Pointeur. Les formules AxeX et AxeY de la
forme sont modifies pour reflter sa nouvelle position sur la page de dessin.
Faites glisser les poignes de slection pour redimensionner la forme. Les formules
Largeur et Hauteur de la forme sont modifies pour reflter son nouveau format.
A laide de loutil Crayon, slectionnez un sommet et supprimez-le, ou ajoutez-en
un et dplacez-le. Observez les incidences sur la section Gomtrie de la forme.
Changez le format de remplissage ou de trait de la forme. Les formules des sections
Format de remplissage ou Format de trait de la forme sont modifies.
Choisissez Format > Protection et cochez des options de la bote de dialogue qui
apparat. Les valeurs des cellules correspondantes dans la section Protection de la
forme passent de 0 1. Dans la fentre ShapeSheet, remplacez la valeur 1 des
cellules Protection par 0 et observez les effets sur les poignes de verrouillage de la
forme dans la fentre de dessin. (Vous pouvez galement saisir TRUE ou FALSE au
lieu de 1 ou 0 dans les cellules Protection, mais les cellules affichent toujours
1 ou 0.)
Pour obtenir une brve prsentation des outils de dessin Visio, reportez-vous au
chapitre 2, Cration de formes Visio . Pour obtenir des informations sur les
sections Transformation de la forme et Gomtrie, reportez-vous au chapitre 5,
Contrle de la gomtrie des formes laide de formules . Pour obtenir des
informations de rfrence sur toutes les sections ou cellules ShapeSheet,
reportez-vous laide en ligne Rfrence du dveloppeur (accessible via ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio.
72 CHAP I TRE 4
Elment s des f ormules Visio
La cl pour contrler les actions appliques aux formes consiste rdiger les formules
qui dfinissent le comportement souhait. Une formule est une expression qui peut
comporter des constantes, des fonctions, des oprateurs et des rfrences de cellule.
Visio excute une formule pour obtenir un rsultat quil convertit ensuite dans lunit
dfinie pour la cellule qui contient la formule. Certaines formules ne sont quune
simple constante, mais toutes sont soumises ce processus de traitement et de
conversion. Dans la fentre ShapeSheet

, vous pouvez afficher le contenu dune


cellule, que ce soit des valeurs ou des formules, en slectionnant la commande
correspondante dans le menu Affichage.
REMARQUE : lorsque vous travaillez avec Automation, il vous suffit dafficher les formules
des formes et de les configurer. Pour plus dinformations, reportez-vous au chapitre 17,
Automatisation des formules .
Saisie et modif icat ion des f ormules dans la f ent re
ShapeSheet
Modifiez la formule dune cellule pour changer le mode de calcul de la valeur de cette
cellule et, par consquent, lun des comportements de la forme. Par exemple, la cellule
Hauteur de la section Transformation de la forme comporte une formule que vous
pouvez modifier pour changer la hauteur de la forme. Vous pouvez saisir et modifier
les formules dans la fentre ShapeSheet de la mme manire que dans un tableur.
Visio considre tout lment de la cellule (y compris une constante numrique, une
chane ou une rfrence de cellule) comme une formule. Contrairement aux cellules
dun tableur, la plupart des cellules Visio requirent un rsultat dun type particulier
tel quune dimension (par consquent, tous les lments que vous saisissez dans ces
cellules impliquent une unit de mesure, telle que des pouces ou des centimtres).
Le moteur Visio convertit automatiquement le rsultat naturel dune formule pour
quil corresponde au type dfini pour la cellule contenant la formule. Par exemple, la
cellule RetournementX de la section Transformation de la forme requiert un rsultat
de type boolen (TRUE ou FALSE). Cest pourquoi toutes les formules de la cellule
RetournementX ayant pour rsultat un nombre positif prennent la valeur TRUE et
celles qui sont gales zro, la valeur FALSE. Pour plus dinformations, reportez-vous
la section Units de mesure des formules Visio , page 78.
FORMUL ES VI SI O 73
Pour saisir une formule, slectionnez une cellule, et saisissez les donnes dans celle-ci
ou dans la barre de formule, illustre dans la figure suivante.
Saisie dune formule dans la
fentre ShapeSheet
A Slectionnez une cellule, saisissez ou modifiez la formule, et appuyez sur Entre.
B Cliquez sur le bouton Annuler pour annuler les modifications apportes la formule.
Pour plus dinformations sur la saisie et ldition des formules, ou sur lutilisation de
la barre de formule, effectuez une recherche laide des mots formules ou barre
de formule dans laide en ligne Rfrence du dveloppeur (accessible via ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio.
CONSEIL : cliquez avec le bouton droit sur une cellule ShapeSheet pour afficher le menu
contextuel qui rpertorie les commandes permettant de modifier cette cellule.
Fonct ions et oprat eurs des f ormules Visio
Si vous avez dj cr des formules dans un tableur, vous avez certainement t amen
utiliser des fonctions et des oprateurs similaires ceux disponibles pour les
formules Visio. Cette section prsente brivement les fonctions et les oprateurs Visio,
ainsi que leur mode dutilisation.
Fonctions
Une fonction effectue une tche bien dfinie. La plupart des fonctions acceptent un
nombre fixe darguments en entre, mme si certaines nen acceptent aucun ; dautres
acceptent un nombre variable darguments et dautres encore acceptent des
arguments facultatifs. Bien que le type et le nombre darguments dpendent de la
fonction, toutes les fonctions respectent la mme syntaxe gnrale :
FONCTION(argument1, argument2, ... argumentN)
La plupart des fonctions disponibles pour les formules Visio ressemblent celles
utilises dans les tableurs : mathmatiques (SOMME ou RACINE), trigonomtriques
(SIN ou COS) ou logiques (SI ou NON). De nombreuses autres fonctions sont
propres Visio, telles que PROTECTION, PESANTEUR ou RUNADDON.
A
B
74 CHAP I TRE 4
Pour plus dinformations sur les fonctions, reportez-vous laide en ligne Rfrence
du dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec
Visio.
REMARQUE : certaines fonctions apparaissent dans les formules gnres par Visio, mais
ne sont pas rpertories dans la bote de dialogue Insrer une fonction ni dcrites dans
laide en ligne Rfrence du dveloppeur. Ces fonctions commencent par un caractre de
soulignement (par exemple, _ELLIPSE_THETA) ; elles sont rserves une utilisation
interne et ne doivent pas tre utilises dans dautres formules.
Oprateurs
Un oprateur effectue une opration en associant gnralement deux oprandes pour
gnrer un rsultat.
La plupart des oprateurs sont de type arithmtique (addition, soustraction,
multiplication, etc.) ou logique (suprieur , infrieur ou gal ). Lun dentre eux,
loprateur de concatnation, est part : il combine deux chanes pour nen obtenir
quune.
Un oprande peut tre une constante (une valeur) ou une expression (pouvant
ventuellement contenir une ou plusieurs fonctions) qui donne une valeur unique.
Dans une formule Visio (comme dans tout tableur), un oprande peut galement tre
une rfrence de cellule.
Lorsquune formule contient plusieurs oprateurs, ces derniers sont excuts dans un
ordre prdfini (parfois appel leur ordre de priorit). Par exemple, loprateur de
multiplication ( * ) est calcul avant loprateur daddition ( + ). Prenez lexpression
ci-dessous :
4 + 5 * 6
Comme la multiplication a un ordre de priorit suprieur celui de laddition, 5 * 6
est calcul en premier, ce qui fait 30, puis 4 est ajout 30 pour obtenir un rsultat
gal 34.
Vous pouvez modifier cet ordre de calcul en regroupant les expressions entre
parenthses. Par exemple :
( 4 + 5 ) * 6
Comme 4 + 5 est mis entre parenthses, cette expression est calcule en premier pour
donner 9. Ensuite, la multiplication 9 * 6 est calcule pour donner un rsultat gal
54.
Dans le cas dexpressions entre parenthses imbriques, Visio commence par
lexpression entre parenthses qui a le plus haut degr dimbrication et termine par les
parenthses extrieures.
FORMUL ES VI SI O 75
Pour obtenir le tableau des oprateurs et de leur ordre de priorit dans les formules
Visio, effectuez une recherche laide des mots ordre dvaluation dans laide en
ligne Rfrence du dveloppeur fournie avec Visio.
Rf rences de cellule ShapeSheet
Vous pouvez crer des relations dinterdpendance au sein des formules Visio laide
de rfrences de cellule. Les rfrences de cellule permettent en effet de calculer une
valeur pour une cellule en fonction de la valeur dune autre cellule. Par exemple, la
cellule Largeur dune forme peut contenir une formule qui calcule la largeur de la
forme partir de la valeur de la cellule Hauteur ; de cette manire, lorsque lutilisateur
tire la forme vers le haut, la largeur de cette forme est modifie de manire
proportionnelle.
Une formule peut faire rfrence toute autre cellule dun document, mme sil est
plus courant et plus pratique de faire rfrence aux cellules situes sur la mme page
(par exemple, une cellule dans la mme forme ou dans une autre forme au sein du
mme groupe).
REMARQUE : si vous envisagez de localiser une solution pour les marchs internationaux,
vous prfrerez peut-tre utiliser des noms universels dans les formules. Dans Microsoft


Visio

2000, tous les objets auxquels vous pouvez attribuer un nom (par exemple, aux
formes ou aux lignes dans une section Cellules personnalises) peuvent en fait accepter
deux noms : un nom local et un nom universel. Lutilisateur voit le nom local qui doit tre
traduit si la solution est localise. Le nom universel est (dans la plupart des cas)
transparent pour lutilisateur ; il na pas besoin dtre traduit et ne peut tre attribu qu
laide dAutomation.
Vous pouvez saisir les noms universels dans les formules de la fentre ShapeSheet ou les
paramtrer avec Automation, mais une fois que la formule est entre, elle est affiche avec
les noms locaux dans la fentre ShapeSheet. Pour obtenir des informations sur
lutilisation des noms universels dans une solution, reportez-vous au chapitre 25,
Distribution dune solution Visio Automation et laide en ligne Rfrence du
dveloppeur fournie avec Visio.
76 CHAP I TRE 4
Rfrences aux cellules situes dans la mme forme
Une rfrence une cellule situe dans la mme forme doit indiquer uniquement le
nom de cette cellule, tel que Hauteur. Si la cellule est situe dans une section avec des
lignes indexes, la section et lindex de ligne font partie du nom de la cellule.
Par exemple, lexpression ci-dessous fait rfrence la cellule situe dans la colonne X
et la ligne 5 de la section Points de connexion :
CONSEIL : pour faire rapidement rfrence une autre cellule de la mme forme,
positionnez le point dinsertion sur la barre de formule, puis cliquez sur la cellule
laquelle vous souhaitez faire rfrence. Visio insre le nom de cette cellule au point
dinsertion.
Rfrences des cellules situes dans dautres formes ou conteneurs
Pour crer une rfrence une cellule situe dans un autre conteneur (forme, page,
forme de base, document ou style), vous devez insrer un prfixe qui identifie ce
conteneur. Par exemple, une rfrence une cellule situe dans une autre forme doit
inclure le nom ou lID de la forme conteneur, suivi dun point dexclamation, puis le
nom de la cellule, comme lindique lexemple ci-dessous :
Cette rfrence mentionne la cellule Largeur de la section Transformation de la forme
de la forme nomme Chaise de bureau.
La rfrence peut comprendre lID de la forme, si cette dernire ne comporte pas de
nom, ou si vous souhaitez utiliser un autre nom. Par exemple, la rfrence suivante
indique la cellule Largeur de la section Transformation de la forme de la forme dont
lID est 2. Cette opration est recommande car lutilisation de noms limite la porte
aux conteneurs (par exemple, deux groupes peuvent chacun contenir une forme
portant le mme nom), tandis que Feuille.ID est unique. Par exemple :
CONSEIL : un objet sur une page de dessin comporte toujours un ID, quil ait un nom
descriptif ou non. Visio attribue cet ID la cration de lobjet. LID ne change pas, sauf si
vous dplacez lobjet vers une autre page ou un autre document. Pour afficher lID dun
objet ou pour donner un nom descriptif, choisissez Format > Spcial.
Cohhecf1ohs.XS
Cha1se de bueau!Lageu
Ieu111e.2!Lageu
FORMUL ES VI SI O 77
Une rfrence une cellule situe dans la page de dessin requiert le nom LaPage suivi
dun point dexclamation et le nom de la cellule. (Dans une forme de base, une
rfrence LaPage mentionne lobjet qui dfinit les proprits globales de la forme de
base, telles que sa taille globale et son chelle de dessin.) Par exemple, lexpression
suivante fait rfrence la cellule EchellePage de la page de dessin :
Rgles concernant les rf rences de cellule dans les f ormules
Le tableau ci-dessous rcapitule les rgles relatives aux rfrences de cellule dans les
formules.
LaPage!Eche11ePage
Rcapitulatif de la syntaxe des rfrences de cellule
Cellule Syntaxe de la rfrence la cellule Exemple
Dans le mme
objet
NomDeCe11u1e Largeur
Dans une
section
Gomtrie
Ceometrie.IndexLigneNomDeCo1onne Ceometriey1.X1
Dans un autre
objet nomm du
mme conteneur
NomDeForme!NomDeCe11u1e Ltoi1e!Ang1e
Dans un autre
objet de mme
nom du mme
conteneur
NomDeForme.ID!NomDeCe11u1e Lxecutive.2!hauteur
Dans tout objet
de la page
feui11e.ID!NomDeCe11u1e feui11e.8!Remp1PremP1an
Dans une
colonne
nomme avec
lignes indexes
NomdeSection.NomDeCo1onne|IndexLigne] Char.Font|8]
Dans une
colonne sans
nom avec lignes
indexes
NomdeSection.IndexLigneNomDeCo1onne Montage.A5
Dans une ligne
nomme
NomdeSection.Rowname uti1.Point de fuite
Sur la feuille de
la page
LaPage!ReferenceDeCe11u1e LaPage!LargeurPage
Une cellule dans
la feuille de la
page d une autre
page du
document
Pages|NomDePage]!ReferenceDeCe11u1e Pages|Page-8]!Lche11eDessin
78 CHAP I TRE 4
Unit s de mesure des f ormules Visio
Visio calcule les rsultats dune formule de diffrentes manires, en fonction de la
cellule dans laquelle elle a t saisie :
En gnral, les cellules reprsentant la position dune forme, une dimension ou un
angle requirent une paire nombre/unit qui consiste en lassociation dun nombre
et de lunit de mesure ncessaire pour interprter ce nombre. Par exemple, une
formule dans la cellule Largeur peut donner comme rsultat 5, signifiant 5 pouces
ou 5 centimtres, en fonction de lunit de mesure en vigueur dans le dessin.
Dautres cellules ne sont pas dotes dunit de mesure intrinsque et donnent
comme rsultat une chane, une expression vrai ou faux, ou un index, en fonction
de la nature de la cellule. Par exemple, la formule =5 dans la cellule
RemplPremPlan signifie la couleur 5 de la palette des couleurs du dessin, alors que
=5 dans la cellule VerrLargeur signifie TRUE (seul zro signifie FALSE) et
verrouille la largeur de la forme.
Pour optimiser les rsultats, indiquez toujours une unit de mesure dans les formules,
plutt que de compter sur Visio. Si vous nassociez pas dunit de mesure un nom-
bre, ce dernier est dfini laide de lunit interne paramtre pour la cellule, que ce
soit une unit de page, de dessin ou dangle :
Les units de page mesurent les dimensions sur la page dimpression, y compris les
tailles de police. Les units de page sont gnralement utilises pour lpaisseur des
traits et les tailles de police qui ne sont pas mises lchelle par rapport au dessin.
Les units de dessin indiquent les mesures relles : une piscine de 50 mtres (units
de dessin) peut tre reprsente par une longueur de 10 cm (units de page) sur le
papier. Par exemple, si vous saisissez la formule =50 dans la cellule Largeur qui
attend une paire nombre/unit en unit de dessin, Visio fournit lunit de dessin
par dfaut dfinie pour la page et calcule la formule en fonction de cette unit.
Les units dangle mesurent les distances angulaires, telles que la rotation dune
forme en degrs ou en radians.
Visio utilise par dfaut les pouces pour mesurer les distances, les radians pour les
angles et les jours pour les dures.
Dans une feuille
de formes de
base
Masters|NomFormeBase]!ReferenceCe11u1e Masters|Porte]!
feui11e.5.Largeur
Dans une feuille
de style
Sty1es!NomDuSty1e!ReferenceDeCe11u1e Sty1es!Lien!Cou1eurTrait
Dans une feuille
de document
LeDoc!ReferenceDeCe11u1e LeDoc!FormatSortie
Rcapitulatif de la syntaxe des rfrences de cellule (suite)
Cellule Syntaxe de la rfrence la cellule Exemple
FORMUL ES VI SI O 79
Unit s mult idimensionnelles
Une formule Visio qui multiplie ou divise des units dimensionnelles gnre un
rsultat en units multidimensionnelles pouvant tre stock dans certaines cellules.
Par exemple, si une forme fait 5 pieds de large et 10 pieds de haut en units de dessin,
la formule = Largeur * Hauteur donne comme rsultat 50 pi^2 (50 pieds carrs). Les
cellules pouvant stocker des rsultats multidimensionnels sont les suivantes :
La cellule Valeur de la ligne Proprit personnalise ou Cellules personnalises.
Les cellules A, B, C et D de la ligne Montage.
La fonction FORMAT permet dafficher des units multidimensionnelles laide
dabrviations telles que po.
2
. Pour plus dinformations, effectuez une recherche sur le
mot FORMAT dans laide en ligne Rfrence du dveloppeur fournie avec Visio.
Noubliez pas que la plupart des multiplications visent associer une valeur dote
dunit une valeur qui nen a pas. Si un tel calcul multiplie deux valeurs avec unit,
le rsultat multidimensionnel peut tre erron. Par exemple, si une cellule de couleur
telle que RemplPremPlan est paramtre sur le produit de deux cellules Gomtrie, le
rsultat est une erreur #DIM car les cellules Gomtrie sont toujours dotes dune
unit, alors que la cellule RemplPremPlan ne peut pas contenir de valeur
multidimensionnelle.
REMARQUE : dans les versions des produits Visio antrieures Visio 2000, les formules
dans lesquelles des valeurs dimensionnelles sont multiplies ou divises risquaient de
gnrer des rsultats incorrects. Prenons lexemple de la formule =1 cm * 1cm convertie
en 0,394 po. * 0,394 po. En multipliant uniquement les constantes et non les units, cette
formule donnait comme rsultat 0,155 po. Si vous convertissiez le rsultat en centimtres
en le multipliant par 2,54 cm./po., vous obteniez un rsultat incorrect de 0,394 cm. au
lieu de 1 cm.^2 (centimtres carrs). Pour bnficier des units multidimensionnelles de
la version Visio 2000, vous devez donc modifier les solutions existantes que vous aviez
mises en oeuvre pour pallier ce dysfonctionnement.
Indicat ion des unit s de mesure
Comme de nombreux dessins reprsentent des objets physiques, vous pouvez
indiquer les units de mesure des systmes imprial ou mtrique, exprimer les angles
dun arc en radians, en degrs dcimaux, ou en degrs, minutes et secondes. Vous
pouvez galement utiliser des mesures typographiques standard telles que les picas, les
points, les cicros et les didots.
80 CHAP I TRE 4
Pour optimiser les rsultats, indiquez toujours une unit de mesure lorsque vous
saisissez une formule dans une cellule qui attend une valeur dimensionnelle, comme
les exemples du tableau ci-dessous lindiquent.
Lindication explicite des units facilite lidentification des paires nombre/unit dans
les calculs ; cela permet dviter de diviser par mgarde une paire nombre/unit par
une autre ou dassocier des units incompatibles, telles que des angles ajouts des
longueurs. Par ailleurs, lindication dune unit de mesure facilite la localisation des
formules dans le cadre dune utilisation internationale.
Pour plus dinformations sur les units de mesure des formules Visio, reportez-vous
laide en ligne Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
Concept ion de f ormules Visio
La conception de formules Visio adquates va au-del dune syntaxe simplement
correcte. Un dveloppeur de formes doit comprendre do proviennent les formules
par dfaut dune forme, les avantages et les inconvnients de stocker des formules
dans certaines cellules, comment empcher la modification involontaire des formules
personnalises et comment contrler le recalcul dune formule pour optimiser les
performances.
Hrit age des f ormules dune f orme
Lorsque vous ouvrez une fentre ShapeSheet

, la formule figurant dans une cellule


peut tre hrite dune forme de base ou dun style. Plutt que deffectuer une copie
en local de toutes les formules dune forme, loccurrence dune forme de base hrite
des formules de cette forme de base et des styles qui lui sont appliqus.
Ce comportement prsente deux avantages : il permet, dune part, de rpercuter sur
toutes les occurrences les modifications effectues sur les formules ou sur la dfinition
du style dune forme de base, et, dautre part, de rduire le volume des fichiers Visio
car les formules hrites sont stockes une seule fois dans la forme de base, et non
dans chaque occurrence.
Exemples de paires nombre/unit
Valide Non valide
5 po. 5
Largeur + 0, 5 po. Largeur + 0, 5
7 po. * 1, 5 7 * 1, 5
DEG(M O DULE(Angle, 360 deg.)) M O DULE(Angle, 360 deg.)
FORMUL ES VI SI O 81
Lorsque vous saisissez une formule dans une cellule de ce type, vous crasez la
formule hrite avec la formule locale. La cellule qui contient la formule locale
nhrite plus sa formule de la forme de base, les modifications effectues sur la
formule de la forme de base ne sont pas rpercutes sur la cellule dans loccurrence, et
la forme occupe un espace de stockage plus important dans le document. Les styles
sont une exception : lorsque vous appliquez un style, de nouvelles formules sont
toujours inscrites dans les cellules ShapeSheet correspondantes, moins que vous
noptiez pour la conservation des substitutions locales. Pour plus dinformations,
reportez-vous au chapitre 10, Gestion des styles, des formats et des couleurs .
La couleur du texte dune formule indique si cette formule est locale ou hrite.
Si le texte dune cellule est noir, la formule est hrite ; sil est bleu, la formule est
locale. Que vous modifiiez la formule dans la fentre ShapeSheet ou dans la forme
elle-mme (par exemple, en la redimensionnant dans la fentre de dessin), la formule
change.
Pour restaurer une formule hrite dans une cellule, supprimez la formule locale.
Visio la remplace par la formule correspondante de la forme de base.
REMARQUE : dans les versions prcdentes du produit Visio, les formules Gomtrie
taient toujours locales. Dans Visio 2000, elles sont hrites de formes de base.
Cela signifie que toutes les modifications locales effectues sur les proprits gomtriques
dune forme crent une copie de la formule hrite et supposent un espace de stockage plus
important. Pour conserver des documents Visio de taille rduite, modifiez les formules
hrites dans la forme de base, dans le gabarit du document, pour que les formes puissent
encore hriter de la forme de base. Les solutions qui utilisent Automation pour modifier
les formules Gomtrie des formes doivent tre reconues pour fonctionner de la mme
manire.
Formules des sect ions Cellules personnalises et Mont age
La plupart des sections ShapeSheet ont une fonctionnalit prdfinie : leurs cellules
contrlent des comportements ou des attributs de forme dtermins. Cependant,
vous pouvez tre amen simplifier une formule avec des calculs intermdiaires, ou
stocker des valeurs utilises par dautres formules ou des programmes
complmentaires. Vous pouvez stocker des formules et des valeurs de ce type dans la
section Cellules personnalises ou Montage dun objet. Pour ajouter ces sections dans
la fentre ShapeSheet, choisissez Insertion > Section, puis cochez la section ajouter.
82 CHAP I TRE 4
Les cellules des sections Cellules personnalises et Montage ne contrlent pas des
comportements ou des attributs de forme particuliers ; de cette manire, vous pouvez
indiffremment insrer des formules dans lune et/ou lautre de ces sections.
Cependant, dans certains cas, il est plus judicieux de privilgier lune des mthodes :
Comme une cellule dfinie par lutilisateur peut stocker un nom descriptif, elle
reprsente lemplacement le plus appropri pour stocker des constantes et des
valeurs auxquelles dautres formules font rfrence ; une rfrence un nom
descriptif facilite en effet la comprhension des formules.
La section Montage comporte des cellules X et Y, conues pour contenir une paire
nombre/unit en unit de dessin. Ces cellules sont les emplacements appropris
pour stocker des formules dans lesquelles des coordonnes de forme entrent
en jeu.
REMARQUE : si vous accdez aux cellules dune forme laide dAutomation, insrez les
formules dans des cellules dfinies par lutilisateur plutt que dans des cellules de la
section Montage. Tous les programmes peuvent crire dans une cellule Montage, et par
consquent craser les formules qui y sont stockes. Ce fonctionnement est plus
improbable dans une cellule portant un nom unique.
Section Cellules personnalises
Vous pouvez ajouter une cellule dont vous indiquez le nom et la valeur dans la section
Cellules personnalises. Une cellule dfinie par lutilisateur peut contenir tous les
types de formule, tels quune constante mentionne dans dautres formules ou un
calcul utilis par un programme complmentaire. Par exemple, une forme de base
peut faire rfrence une cellule dfinie par lutilisateur dans une page. Lorsquune
occurrence de cette forme de base est cre, elle fait rfrence la cellule dfinie par
lutilisateur de la page sur laquelle elle est situe si cette page contient dj cette cellule
dfinie par lutilisateur. Dans le cas contraire, elle est copie de la forme de base.
(Ce fonctionnement est galement vrai pour les cellules dfinies par lutilisateur dans
des documents.) Cette fonctionnalit rend les cellules dfinies par lutilisateur
hautement portables car le dveloppeur de formes nest pas oblig de vrifier que
toutes les destinations possibles comportent cette cellule dfinie par lutilisateur (si la
forme requiert ce type de cellule, cette dernire sera forcment prsente).
Le nom que vous attribuez une cellule dfinie par lutilisateur doit tre unique au
sein dune mme section. Pour faire rfrence la valeur dune cellule dfinie par
lutilisateur situe dans la mme forme, utilisez la syntaxe Util.nom (par exemple,
Util.Constante).
FORMUL ES VI SI O 83
Pour faire rfrence une cellule dfinie par lutilisateur situe dans une autre forme,
une autre page ou un autre document, faites prcder Util.nom de lemplacement
adquat. Par exemple :
CONSEIL : certaines cellules, notamment Util.Message et Action.Message, ont t conues
pour contenir par dfaut des chanes. Lorsque vous saisissez des donnes dans ces cellules
dune fentre ShapeSheet, Visio met automatiquement le texte entre guillemets. Dbutez
la formule avec un signe gal (=) pour que Visio la traite en tant que formule. Visio ne
met pas automatiquement le texte entre guillemets si vous dfinissez les formules de lune
de ces cellules laide dAutomation.
Section Montage
La section Montage est compose de six colonnes intitules X, Y, A, B, C et D.
Les cellules des colonnes X et Y utilisent les units de mesure du dessin : insrez des
calculs incluant des dimensions ou des coordonnes de forme dans ces cellules.
Les cellules des colonnes A D ne comprenant pas dunit intrinsque, elles sont
adaptes tout type de rsultats. Pour faire rfrence des cellules de la section
Montage, indiquez le nom de la section, ainsi que le libell de la colonne et de la ligne
(par exemple, Montage.A1).
Comme leur nom lindique, les cellules Montage sont plus appropries pour les
calculs intermdiaires locaux dune forme et non pour ceux concerns par
Automation). Outre le fait que les cellules Montage ne peuvent pas tre nommes de
manire aussi explicite que les cellules dfinies par lutilisateur, elles nont pas non
plus un aussi fort degr de transportabilit. Si une forme fait rfrence une cellule
Montage sur une page ou un document, et que vous souhaitiez copier cette forme vers
une autre page ou un autre document, la formule de rfrence choue et indique
lerreur #REF car la formule Montage de la page ou du document source nest pas
copie vers la destination.
Ieu111e.2!uf11.Cohsfahfe
LaPage!uf11.Cohsfahfe
Le0oc!uf11.Cohsfahfe
84 CHAP I TRE 4
Prot ect ion des f ormules
La fonction PROTECTION est la seule faon dempcher la modification des
formules dans des cellules ShapeSheet. PROTECTION protge la totalit dune
formule dans une cellule ; elle ne peut pas protger quune partie de formule.
Les actions effectues dans la fentre de dessin ne peuvent pas craser les formules
protges par la fonction PROTECTION. La syntaxe de la fonction PROTECTION
est la suivante :
expression tant la formule protger. Il nexiste aucune diffrence entre lexcution
dune formule protge par la fonction PROTECTION et celle dune formule non
protge.
Lorsque vous dplacez, redimensionnez, regroupez ou dissociez des formes, Visio
crit ces modifications dans les cellules ShapeSheet et peut ainsi craser des formules
personnalises. Les cellules le plus couramment affectes par ces actions sont Largeur,
Hauteur, AxeX et AxeY de la section Transformation de la forme. Par exemple, pour
empcher le retournement dune forme, saisissez la formule suivante :
Une mme action dans la fentre de dessin peut avoir une incidence sur plusieurs
cellules ShapeSheet. Vous devez protger les formules dans chacune de ces cellules si
vous souhaitez empcher la modification involontaire de la forme. Bien sr, si un
utilisateur supprime une section ShapeSheet, toutes les formules qui y sont stockes,
y compris celles qui sont protges, sont supprimes.
Cont rle du recalcul des f ormules
Par dfaut, une formule qui fait rfrence une autre cellule est de nouveau calcule
lorsque la cellule rfrence est modifie. Par exemple, si une formule fait rfrence
la cellule AxeX de la forme et que cette dernire soit dplace sur la page, la formule
est recalcule car AxeX a t modifi. Gnralement, ce comportement vous
conviendra parfaitement ; les formules Visio en retirent la majeure partie de leur
puissance et de leur adaptabilit.
Certains recalculs peuvent sembler tre la consquence de phnomnes de cause
effet, mais de nombreux facteurs ont une incidence sur lordre dans lequel les
formules sont recalcules. Les formules doivent tre conues pour ne pas dpendre
dun ordre de recalcul dtermin.
PP0TECTT0h|expess1oh)
PefouhemehfX = PP0TECTT0h|IALSE)
PefouhemehfY = PP0TECTT0h|IALSE)
FORMUL ES VI SI O 85
Tous les recalculs ne sont pas ncessaires. Par exemple, la fonction DEFF, fonction
puissante qui peut, dans une formule, dfinir la formule dune autre cellule, na pas
besoin dtre recalcule jusqu ce que la condition qui la dclenche se produise ;
cependant, si cette formule fait rfrence des cellules souvent modifies, elle peut
tre frquemment recalcule inutilement. Le recalcul prend du temps et a une
incidence sur les performances des formes.
Pour viter les recalculs inutiles et pour amliorer les performances dune solution,
insrez les rfrences aux cellules dans lune des fonctions suivantes :
GETREF(rfrence de cellule) permet dinclure dans une formule une rfrence
une autre cellule, sans recalculer cette formule en cas de modification de la valeur
de la cellule.
GETVAL(rfrence de cellule) permet dutiliser dans une formule la valeur dune
autre cellule.
Le principal avantage de GETREF rside dans le fait que la rfrence la cellule cible
na pas besoin dtre mise entre guillemets. Dans les versions prcdentes de Visio,
la rfrence une cellule cible utilise dans une fonction DEFF devait tre mise entre
guillemets, ce qui impliquait la ncessit de convertir la formule pour les solutions
localises.
GETREF et GETVAL permettent toutes les deux une formule de suivre la rfrence
une cellule si elle est modifie (par exemple, si les lignes prcdentes sont supprimes
ou si la cellule elle-mme est supprime) ; cependant, la formule de rfrence nest pas
recalcule lorsque la cellule de rfrence est modifie.
Par exemple, la formule suivante est recalcule lorsque la valeur de Largeur est
modifie, et non lorsque AxeX et AxeY changent de valeur :
La formule suivante est recalcule lorsque la cellule contenant la formule DEFF est
dclenche (par exemple, par un utilisateur choisissant une action dans un menu
contextuel), et non lorsque AxeX est modifi :
= CETvAL|AxeX) + CETvAL|AxeY) + Lageu
= 0EII|CETPEI|AxeX) 7)
86 CHAP I TRE 4
Ajout de f onct ionnalit s aux f ormules Visio laide dAut omat ion
Lune des principales questions lorsque vous dveloppez une solution Visio est la
suivante : est-il ncessaire de faire appel Automation ? Les formules Visio peuvent
tre extrmement puissantes, mais plus les formules sont complexes, plus il est
difficile de les concevoir et de les tester.
Vous pouvez tre amen ajouter des fonctionnalits une solution laide
dAutomation si :
Les formules utilisent de nombreuses expressions DEFF pour simuler un flux de
contrle (instructions if-else et switch-case, ou des boucles). DEFF est la fonction
la plus adquate pour une initialisation ou une configuration unique, et non pour
dfinir une machine dtat.
Les formules dpendent de lordre de recalcul permettant dobtenir des rsultats
corrects. Mais, pour optimiser les performances, les formules sont recalcules
lorsque cela est ncessaire et lordre nest donc pas garanti. Les formules qui
dpendent du recalcul pralable dautres formules peuvent gnrer des rsultats
incohrents.
Les formules gnrent des rsultats incohrents sans raison apparente. En effet, les
formules complexes peuvent dpendre deffets secondaires (qui seront grs dans
les versions ultrieures de Visio) et entraner larrt du fonctionnement des
formules. Par exemple, les formules ne doivent pas tre fondes sur une chane de
rfrences circulaires pour excuter une boucle un certain nombre de fois.
Pour obtenir une prsentation du mode de sparation des fonctionnalits entre les
formules Visio et Automation, reportez-vous au chapitre 1, Prsentation du manuel
Developing Visio Solutions . Pour obtenir une prsentation dAutomation dans Visio,
reportez-vous au chapitre 14, Automation et le modle dobjet de Visio .
Sommaire
5
Cont rle de la gomt rie des
f ormes laide de f ormules
Lorsque vous crez une forme, vous devez dcider de son comportement aprs une
action de lutilisateur. Le plus souvent, cette raction consiste en un
redimensionnement ou en un repositionnement. Lapplication Microsoft

Visio


enregistre lemplacement de chaque sommet dans lespace de coordonnes de la
forme. Ces sommets, ainsi que les chemins qui les connectent, dfinissent la gomtrie
de la forme. Lorsque vous crivez des formules visant contrler la gomtrie des
formes, vous dterminez lapparence dune forme et son comportement face aux
diffrentes actions de lutilisateur.
Ce chapitre dfinit la gomtrie des formes et indique la manire dont vous pouvez
tirer, rduire, retourner et faire pivoter les formes. Il explique galement la manire
dont vous pouvez contrler les courbes des formes. Vous y trouverez aussi des
suggestions qui vous permettront doptimiser la gomtrie des formes et dutiliser des
verrouillages afin de limiter les types daction applicables une forme.
Gomtrie des formes ............................................................................................. 88
Contrle de ltirement et de la rduction des formes ......................................... 94
Contrle du retournement et de la rotation des formes....................................... 98
Contrle des courbes des formes...........................................................................103
Optimisation de la gomtrie dune forme............................................................110
Limitation du comportement dune forme laide de verrouillages ...................111
88 CHAP I TRE 5
Gomt rie des f ormes
La plupart des logiciels de dessin reposent sur une gomtrie en deux dimensions.
Lorsque vous dessinez un objet, le programme lenregistre sous la forme dun
ensemble demplacements horizontaux et verticaux. Ces emplacements, appels
sommets dans lapplication Visio, sont mesurs partir dun point dorigine sur la
page et sont connects par des segments de traits, comme si vous dessiniez lobjet sur
du papier millimtr.
Un chemin est un ensemble de segments de traits ou de courbes qui connectent les
sommets dune forme. Dans la plupart des cas, chaque chemin correspond une
section Gomtrie que vous pouvez afficher dans une fentre ShapeSheet

ou
laquelle vous pouvez accder via Automation. Chaque sommet dfinissant un chemin
correspond une ligne de la section Gomtrie. Un chemin peut tre ferm ou ouvert,
et chaque forme peut possder plusieurs chemins (et donc plusieurs sections
Gomtrie) ; pour plus dinformations, reportez-vous au chapitre 6, Regroupement
et fusion de formes .
Un chemin est un ensemble de
segments de traits ou de courbes
qui connectent les sommets dune
forme.
A la diffrence des autres logiciels de dessin, lapplication Visio permet de contrler
lemplacement dun sommet par le biais de formules. Au lieu denregistrer
simplement la nouvelle position dune forme qui vient dtre dplace ou
redimensionne, lapplication Visio permet de calculer un sommet par rapport aux
autres sommets ou aux autres formes, ou au contraire de dfinir une position fixe sur
la page. Les formules permettent en outre de faire adopter aux formes des
comportements complexes.
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 89
Lillustration suivante prsente un exemple simple. Dans le rectangle situ gauche, la
largeur et la hauteur sont indpendantes lune de lautre. La modification de lune na
aucune incidence sur lautre. En revanche, dans le rectangle situ droite, la hauteur
est calcule laide dune formule qui fait rfrence la largeur. Toute modification
de la largeur de la forme entrane un nouveau calcul de la formule de la hauteur : la
hauteur de la forme subit une modification.
Lorsque vous crez une formule
pour une forme, lapplication Visio
recalcule les sommets sur la base
de votre formule.
Descript ion de f ormes dans un syst me de coordonnes
Parmi les formules essentielles figurent celles qui permettent de contrler la taille ou
la position dune forme. Chacun des sommets dune forme est enregistr sous la
forme dun couple de coordonnes x, y. Lorsque vous dplacez ou redimensionnez la
forme, lapplication Visio enregistre les modifications apportes ses sommets et
redessine la forme en lui appliquant les nouveaux paramtres de position et de taille.
Pour dplacer, retourner, faire pivoter ou redimensionner une forme Visio laide de
formules, vous devez dcrire la forme en fournissant un systme de coordonnes.
Lapplication Visio utilise divers systmes de coordonnes pour dcrire une forme.
Selon le rle que va jouer la forme, vous pouvez tre amen utiliser trois systmes de
coordonnes :
Coordonnes locales La largeur et la hauteur dune forme dfinissent les deux axes
de coordonnes locales. Lorigine correspond langle infrieur gauche du plan
largeur/hauteur de la forme. Langle suprieur droit prsente les coordonnes
(Largeur, Hauteur). La section Gomtrie utilise des formules pour dcrire les
coordonnes locales des sommets pour les chemins qui composent une forme. En
modifiant ces formules, vous pouvez contrler lapparence dune forme, quel que soit
son emplacement sur la page de dessin.
Coordonnes sur la page Lemplacement dune forme ou dun groupe sur la page de
dessin est indique par les coordonnes sur la page dont lorigine correspond langle
infrieur gauche de la page. Les coordonnes de ce type apparaissent sur la rgle dans
lunit de mesure indique dans la bote de dialogue Mise en page.
A Largeur = 1
B Hauteur = 1
C Largeur = 3
D Hauteur = Largeur * 0,5
90 CHAP I TRE 5
Coordonnes parent Lapplication Visio identifie galement la position dun objet par
rapport son parent. En ce qui concerne les formes situes sur une page de dessin, les
coordonnes parent sont identiques aux coordonnes sur la page. En revanche, si une
forme se trouve dans un groupe, son parent est le groupe, et non la page. Les
coordonnes parent correspondent donc aux coordonnes locales du groupe. Dans ce
cas, lorigine du systme de coordonnes parent correspond langle infrieur gauche
du plan largeur/hauteur du groupe.
Lapplication Visio utilise diffrents
systmes de coordonnes pour
identifier les sommets et la position
des formes.
A Plan largeur/hauteur
B Coordonnes locales
C Coordonnes sur la page
CONSEIL : vous ne pouvez pas modifier lorigine du systme de coordonnes sur la page.
En revanche, vous pouvez modifier le point zro des coordonnes affiches sur les rgles en
maintenant la touche Ctrl enfonce et en faisant glisser la barre lintersection de deux
rgles. Le dplacement du point zro na aucune incidence sur le systme de coordonnes
sur la page, mais il peut servir mesurer la distance sparant deux formes.
Reprsent at ion de la gomt rie dune f orme laide de
f ormules
Lapplication Visio indique la largeur, la hauteur et la position dune forme laide de
formules dans la section Transformation de la forme qui utilise le systme de
coordonnes parent. Visio exprime la valeur de chaque sommet dune forme sous la
forme dune fraction de la largeur/hauteur dans la section Gomtrie. Lorsque vous
dplacez, redimensionnez ou faites pivoter une forme, Visio crit de nouvelles
formules dans la section Transformation de la forme, puis recalcule les formules des
sommets dans la section Gomtrie.
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 91
Lexemple suivant prsente un rectangle accompagn de ses sections Transformation
de la forme et Gomtrie.
Rectangle accompagn de ses
sections Transformation de la
forme et Gomtrie
Dans cet exemple, la cellule Largeur du rectangle contient la valeur = 3 po. et deux de
ses cellules Gomtrie comportent la formule = Largeur*1. Si la forme est tire sur la
page de dessin, la valeur de la cellule Largeur augmente, ce qui modifie la valeur des
coordonnes locales indiques dans la section Gomtrie. La formule Gomtrie,
toutefois, demeure = Largeur*1. Les formules Gomtrie qui reprsentent les
sommets de la forme sont toutes des coordonnes locales, exprimes dans les
units de largeur et hauteur de la forme.
REMARQUE : les types de ligne de gomtrie indiquent la manire dont un segment de
chemin doit tre dessin. Dans lexemple prcdent, les types de ligne DplacerVers et
TraitVers correspondent des segments de droite. Supposons que vous ayez indiquer
une personne de tracer un rectangle sur une feuille de papier. Vous lui donneriez
certainement lexplication suivante : Placez votre stylo sur les coordonnes 0, 0, puis
tirez un trait vers les coordonnes 3, 0... , etc.
Les types de ligne qui dcrivent des courbes (surtout les courbes dessines laide de loutil
Dessin main leve) sont plus complexes que ceux correspondant des droites. Certains
types de ligne peuvent reprsenter plusieurs sommets en une seule ligne. Pour plus
dinformations sur les types de ligne Gomtrie, reportez-vous la section Gomtrie de
laide en ligne ShapeSheet (accessible via ? (Aide) > Rfrence du dveloppeur, puis
slectionnez loption de rfrence de ShapeSheet) de votre produit Visio.
92 CHAP I TRE 5
Reprsent at ion de la posit ion dune f orme sur une page
La position dune forme sur la page est indique par son axe (ou centre de rotation).
Lapplication Visio utilise deux ensembles de coordonnes dans la section
Transformation de la forme afin de stocker lemplacement de laxe dune forme :
Les cellules AxeX et AxeY stockent les donnes x et y de laxe en fonction de son
parent, qui peut tre le groupe ou la page. Les coordonnes AxeX et AxeY sont
donc exprimes dans les coordonnes parent. Elles indiquent la position de la
forme par rapport son parent. Si la forme est dplace, les valeurs AxeX et AxeY
changent.
Les cellules AxeLocX et AxeLocY stockent les donnes dx et de y par rapport la
forme. Les valeurs AxeLocX et AxeLocY sont donc exprimes dans les
coordonnes locales. AxeLocX et AxeLocY reprsentent le point de rotation de la
forme lorsque vous la faites pivoter. Tout comme les formules Gomtrie de la
forme, AxeLocX et AxeLocY sont des formules qui font rfrence la largeur et la
hauteur de la forme. Le dplacement de la forme nentrane aucune modification
des formules AxeLocX et AxeLocY.
Laxe dcrit la position dune forme
dans les coordonnes locales et les
coordonnes parent.
A Les coordonnes locales de laxe dcrivent ce point (Largeur * 0,5, Hauteur * 0,5).
B Les coordonnes parent de laxe dfinissent ce point.
Pour comprendre le fonctionnement de laxe, imaginez que vous placez une fiche
cartonne de 3 x 5 po. sur une feuille de papier et que vous les perforez laide dune
aiguille. Vous pouvez dcrire lemplacement de la carte sur le papier par rapport aux
trous de laiguille.
Laxe fonctionne de cette manire dans lapplication Visio. Les coordonnes locales
de laxe (le trou dans la carte) sont (AxeLocX, AxeLocY). Les coordonnes parent
(le trou dans le papier) sont (AxeX, AxeY). Si vous fixez la carte un autre endroit du
papier (ce qui quivaut dplacer une forme sur une page), le trou de la carte ne
change pas de place. Cela nentrane donc aucune modification des coordonnes
locales de laxe. Toutefois, une nouvelle perforation apparat sur le papier, car les
coordonnes parent de laxe ont t modifies.
A
B
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 93
Dplacement dune forme laide de formules
Lorsque vous dplacez une forme sur une page laide de la souris, lapplication Visio
met jour les valeurs AxeX et AxeY en fonction de la nouvelle position de la forme sur
la page. Pour dplacer une forme par le biais de formules, dfinissez les valeurs AxeX
et AxeY. Par exemple, pour dplacer la flche dun pouce vers le haut dans la figure
suivante, vous pouvez utiliser cette formule :
Vous pouvez galement lier la position de la flche la largeur de la page laide dune
formule du type suivant :
Par dfaut, laxe est au centre de la forme que lapplication Visio exprime sous la
forme de formules utilisant les coordonnes locales (Largeur*0,5, Hauteur*0,5).
Vous pouvez dplacer laxe dune forme de lune des manires suivantes :
En crivant de nouvelles formules dans les cellules AxeLocX et AxeLocY.
En choisissant loption Pos. axe dans la bote de dialogue Taille et position.
Vous pouvez afficher cette bote de dialogue en choisissant Affichage > Fentres >
Taille et position ou Affichage > Taille et position dans le menu contextuel de la
forme (qui apparat lorsque vous cliquez dessus avec le bouton droit).
En faisant glisser laxe avec loutil de rotation dans la fentre de dessin.
Si vous dplacez laxe avec loutil de rotation dans la fentre de dessin, les valeurs AxeX
et AxeY sont modifies pour que la position de la forme sur la page ne change pas.
La section Transformation de la
forme contient les coordonnes
locales et les coordonnes parent
de laxe.
A Coordonnes parent de laxe
B Coordonnes locales de laxe
Les valeurs des cellules AxeX et AxeY correspondent aux valeurs indiques par les
options X et Y de la bote de dialogue Taille et position. Pour modifier les valeurs
AxeX et AxeY, changez les valeurs X et Y dans cette bote de dialogue.
AxeY = 1,S po.
AxeX = LaPage!LageuPage - S po.
B
A
94 CHAP I TRE 5
Mesure visant empcher les ut ilisat eurs de dplacer une
f orme
Lorsquun utilisateur dplace ou tire une forme, lapplication Visio crit de nouvelles
valeurs dans la section Transformation de la forme et crase les formules des cellules
concernes, y compris celles des cellules AxeX et AxeY.
Pour empcher les utilisateurs de dplacer une forme, vous pouvez utiliser la fonction
PROTECTION afin de protger ses formules AxeX et AxeY. Si vous protgez les
formules AxeX, les utilisateurs ne peuvent pas dplacer la forme lhorizontale.
Si vous protgez les formules AxeY, tout dplacement vertical est impossible. (Bien
sr, si vous protgez les formules AxeX et AxeY, tout dplacement est impossible.)
Par exemple, pour protger les formules de lillustration prcdente, procdez ainsi :
CONSEIL : vous pouvez dfinir les cellules VerrPivoter, VerrDplacX et VerrDplacY de
manire empcher les utilisateurs de faire pivoter ou de dplacer la forme, et protger les
autres formules de manire ce quaucune autre action utilisateur ne soit possible. Pour
plus dinformations sur les verrouillages et sur la fonction PROTECTION, reportez-vous
la section Limitation du comportement dune forme laide de verrouillages , la
page 111 de ce chapitre.
Cont rle de lt irement et de la rduct ion des f ormes
Vous pouvez utiliser des formules afin de contrler la rduction ou lagrandissement
dune forme en raction certaines actions des utilisateurs Visio. Gnralement, les
utilisateurs redimensionnent une forme en dplaant ses poignes de slection, mais
ils peuvent galement modifier les sommets dune forme laide de loutil Crayon.
Vous pouvez crer une forme utilisant plusieurs rgles dtirement, selon que
lutilisateur fait glisser une poigne de redimensionnement de largeur ou de hauteur.
Lune des mthodes possibles consiste utiliser une formule calcule sur la base de la
hauteur qui, comme son nom lindique, conserve le rapport hauteur/largeur dune
forme en dfinissant sa largeur par rapport sa hauteur. Pour que cette formule ne
sapplique qu une partie de la forme, vous pouvez placer une formule calcule sur la
base de la hauteur dans les cellules Gomtrie correspondant la partie souhaite.
Pour plus dinformations sur lutilisation de formules calcules sur la base de la
hauteur avec une forme 1D, reportez-vous au chapitre 8, Liaison des formes :
formes 1D et collage .
AxeY = PP0TECTT0h|1,S po.)
AxeX = PP0TECTT0h|LaPage!LageuPage - S po.)
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 95
Exemple de f ormules calcules sur la base de la haut eur
Dans lexemple suivant, une flche est dessine laide de loutil Trait. Cet exemple
illustre lutilisation de formules pour contrler la rduction ou lagrandissement de la
flche. Par dfaut, le programme applique la flche des formules qui dfinissent un
redimensionnement proportionnel en cas dtirement horizontal ou vertical.
Le redimensionnement de la flche
dorigine modifie les proportions de
la forme.
A Flche dorigine utilisant les formules par dfaut
B Flche aprs redimensionnement de la largeur
C Flche aprs redimensionnement de la hauteur
Lorsque vous utilisez les formules par dfaut, les flches de diffrentes longueurs
prsentent des pointes de diffrentes tailles, ce qui entraine un affichage cohrent.
Au moment dutiliser cette flche dans un dessin, vous prfrerez probablement que
le corps de la flche stire et se rduise horizontalement, mais que la taille de la pointe
reste inchange. En revanche, si la forme est tire la verticale, vous prfrerez
probablement que la pointe de la flche soit redimensionne en consquence.
Comme la largeur de la pointe de flche est proportionnelle sa hauteur, une formule
calcule sur base de la hauteur peut dcrire la base de la pointe de flche (trait
connectant les sommets 3, 4, 6 et 7 dans la figure suivante) sous la forme dune
fraction de la hauteur de la forme.
Chaque sommet correspond une
ligne de la section Gomtrie.
A Toutes les ordonnes (y) sont par dfaut des multiples de la hauteur.
B Toutes les abscisses (x) sont par dfaut des multiples de la largeur.
C Hauteur * 0,5
D Hauteur * 0,5
A B C
96 CHAP I TRE 5
Le sommet 5 se place exactement gale distance du haut et du bas de la forme.
Sa coordonne y peut donc tre calcule par la formule Hauteur * 0,5. Si la distance
sur laxe x sparant le sommet 5 de la base de la pointe de flche est dfinie par
rapport la hauteur, la pointe de flche est redimensionne proportionnellement
lorsque la forme est tire la verticale, mais ne change pas lorsque cet tirement est
effectu lhorizontale.
La formule qui produit ce comportement permet de conserver la taille de la base de la
pointe de flche, qui est gale la largeur de la forme moins la distance sparant le
sommet 5 de la base, soit :
La coordonne x de chaque sommet de la base de la pointe de flche (sommets 3, 4, 6
et 7) doit tre calcule laide de cette formule. Pour des raisons defficacit, la
formule peut tre place uniquement dans la cellule du sommet 3 : les autres cellules
font ensuite rfrence cette valeur. La coordonne y du sommet 3 correspond la
cellule X3 de la section Gomtrie1.
Sommets et formules dcrivant la
gomtrie de la flche
A Tous les points de la base de la pointe de flche prsentent la mme coordonne x :
Largeur - Hauteur * 0,5.
B La base de la pointe de flche est dfinie par une fraction de la hauteur.
C Hauteur
D Hauteur * 0,75
E Hauteur * 0,5
F Hauteur * 0,25
G Largeur
= Lageu - haufeu " 0,S
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 97
Lillustration suivante prsente la nouvelle gomtrie de la flche aprs
redimensionnement.
Nouvelle gomtrie de la flche
Opt imisat ion de lexemple de f lche
Les formules calcules sur la base de la hauteur de la section Exemple de formules
calcules sur la base de la hauteur , page 95, produisent le comportement souhait et
fonctionnent correctement. Toutefois, comme la flche est symtrique, vous pouvez
ensuite affiner les formules personnalises laide de rfrences de cellule afin de
rduire le nombre de calculs. La forme est ainsi plus facile personnaliser.
Par exemple, les cellules Gomtrie1.Y1 et Gomtrie1.Y7 contiennent toutes les deux la
mme formule :
Cette formule peut galement prendre la forme suivante :
La cellule Gomtrie1.Y2 contient dj la formule = Hauteur * 0,25. Il vous suffit donc
de faire rfrence cette cellule dans une partie de la formule au lieu de rpter
lensemble de la formule. La formule de Gomtrie1.Y1 et de Gomtrie1.Y7
devient donc :
Dsormais, la flche ncessite uniquement deux formules personnalises
(= Hauteur * 0,5 et = Hauteur * 0,25) pour calculer les sommets. Vous pouvez
galement modifier lapparence de la flche en ne changeant quune formule
(= Hauteur * 0,25).
= haufeu " 0,7S
= haufeu - haufeu " 0,2S
= haufeu - Comf1e1.Y2
98 CHAP I TRE 5
Cont rle du ret ournement et de la rot at ion des f ormes
Lors de la cration des formes, vous pouvez dcider de laisser aux utilisateurs la
possibilit de les retourner ou de les faire pivoter.
Lorsque vous crez une forme, vous devez connatre ds le dpart la manire dont les
utilisateurs vont la retourner ou la faire pivoter, puis crer le comportement
correspondant. La section Transformation de la forme enregistre lorientation dune
forme par rapport son parent. Lorsquun utilisateur retourne ou fait pivoter une
forme, sa section Transformation de la forme prend en compte la transformation qui
a rellement lieu.
Consquences du ret ournement dune f orme
Lorsquune forme est retourne, la valeur de la cellule RetournementX ou
RetournementY devient TRUE. Les coordonnes parent de lorigine de la forme
changent, mais lemplacement de laxe de la forme ne change pas par rapport aux
coordonnes locales ou aux coordonnes parent. Dans la figure suivante, la forme est
pivote afin que vous puissiez constater linteraction qui existe entre les cellules
RetournementX et RetournementY.
Les coordonnes locales dune
forme aprs retournement (valeurs
RetournementX et RetournementY)
ont chang.
A RetournementX = FALSE, RetournementY = FALSE, Angle = 30 deg.
B RetournementX = FALSE, RetournementY = TRUE, Angle = 30 deg.
C RetournementX = TRUE, RetournementY = FALSE, Angle = 30 deg.
D RetournementX = TRUE, RetournementY = TRUE, Angle = 30 deg.
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 99
Si vous crez des formes pouvant tre retournes, vous devez connatre les diffrents
comportements rsultant de chaque mthode employe. Pour retourner une forme,
les utilisateurs peuvent effectuer les oprations suivantes :
Choisir la commande Retournement vertical ou Retournement horizontal dans la
barre doutils Action ou dans le menu Forme.
Dfinir la valeur de la cellule RetournementX ou RetournementY dans la section
Transformation de la forme.
Selon la mthode employe par lutilisateur pour retourner une forme, deux
transformations peuvent avoir lieu :
Lorsque lutilisateur choisit la commande Retournement horizontal de la barre
doutils Action ou du menu Forme, la forme est retourne autour dun trait
vertical sur la page qui passe par laxe de la forme du systme de coordonnes.
La valeur de la cellule RetournementX bascule entre TRUE et FALSE. Si la forme
subit une rotation, la valeur de la cellule Angle devient angle, ce qui entrane une
transformation de la forme, comme le montre la figure suivante.
Lorsque lutilisateur modifie les valeurs de la cellule RetournementX dans la
section Transformation de la forme, et que la valeur de la cellule RetournementX
est paramtre sur TRUE, la forme est retourne lhorizontale par une inversion
de la direction de laxe de la coordonne locale x. La valeur de la cellule Angle nest
pas modifie.
La commande Retournement
horizontal retourne et fait pivoter la
forme.
A Forme dorigine
B Consquence de lutilisation de la commande Retournement horizontal
C Consquence du paramtrage de RetournementX sur TRUE
D Systme de coordonnes sur la page
Lutilisation de la commande Retournement vertical de la barre doutils Action ou du
menu Forme permet dactiver/de dsactiver la valeur de la cellule RetournementY et
de paramtrer la valeur de la cellule Angle sur angle.
100 CHAP I TRE 5
Consquence de la rot at ion dune f orme
Pour faire pivoter une forme, lutilisateur peut faire glisser une poigne de forme avec
loutil Rotation ou utiliser la fentre Taille et position qui comporte un champ Angle
modifiable. (Pour afficher la fentre Taille et position, choisissez Affichage >
Fentres > Taille et position.) Lorsquune forme est pivote, la valeur de sa cellule
Angle dcrit la rotation du systme de coordonnes locales de la forme par rapport au
systme de coordonnes parent.
Une forme pivote autour de son axe : les coordonnes parent de lorigine dune forme
changent paralllement la rotation, mais lemplacement de laxe ne change pas par
rapport aux coordonnes locales ou parent.
REMARQUE : si loption de rotation de page est active, lutilisateur peut faire pivoter la
page de dessin en faisant glisser son angle avec loutil Rotation. Les formes existantes et les
repres peuvent apparatre pivots : en ralit, ils conservent leur position et leur angle par
rapport lorigine de la page. La rotation dune page na aucune incidence sur la page lors
de limpression. Elle ne modifie pas non plus lapparence des rgles et de la grille de la
fentre de dessin.
Loption de rotation de page est active par dfaut dans certains produits Visio. Pour
activer (ou dsactiver) loption de rotation de page, choisissez Outils > Options, cliquez
sur longlet Dessin, puis slectionnez (ou dslectionnez) la case cocher Activer la
rotation des pages.
Une page naffiche pas de section de transformation dans la fentre ShapeSheet

. Vous ne
pouvez donc ni afficher, ni modifier sa cellule Angle comme vous le feriez sil sagissait
dune forme. Toutefois, vous pouvez y accder laide de la proprit PageSheet
dAutomation. Pour plus dinformations sur laccs aux formules par le biais
dAutomation, reportez-vous au chapitre 17, Automatisation des formules .
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 101
Crat ion de f ormes pouvant t re ret ournes et pivot es
Pour que les utilisateurs puissent retourner et faire pivoter une forme, vous devez
la concevoir de manire ce quelle puisse avoir plusieurs angles et orientations. Par
exemple, vous pouvez modifier la manire dont une forme est retourne ou pivote
en dplaant son axe local. Dans la figure suivante, lorsquun utilisateur retourne le
symbole du transistor la verticale, la position de la broche horizontale reste
identique. Lorsque la forme est retourne lhorizontale, la position de la broche
verticale reste identique. Ce comportement permet de positionner correctement les
diffrents transistors dun schma lectrique.
Forme de transistor sans
retournement, aprs retournement
vertical et aprs retournement
horizontal
A Laxe local est align sur les broches verticales et horizontale.
B La broche horizontale ne bouge pas.
C La broche verticale ne bouge pas.
Vous pouvez utiliser loutil Rotation pour dplacer laxe de la forme. Les valeurs AxeX
et AxeY changent. Les formules AxeLocX et AxeLocY changent galement pour
compenser le mouvement de laxe de manire ce que la forme ne bouge pas sur la
page. Vous pouvez galement dplacer laxe en ne changeant que les formules des
cellules AxeLocX et AxeLocY. Vous modifiez ainsi la relation existant entre laxe local
et laxe parent, si bien que la forme est galement dplace sur la page de dessin.
Par exemple, la forme de transistor dcale laxe local par le biais des formules
suivantes :
AxeLocX = Lageu " 0,7S
AxeLocY = haufeu " 0,S
A
B
C
102 CHAP I TRE 5
Certaines formes, telles que le symbole du transistor de lillustration suivante, sont
frquemment pivotes selon un angle multiple de 90 degrs. Lorsque vous crez une
forme de ce type, le rectangle de slection concide avec la grille, et son axe et les
points de connexion se trouvent sur les points de la grille ; la forme est aligne plus
rapidement que dans le cas dune rotation ou dun retournement manuel.
Symbole de transistor destin
tre pivot selon un angle multiple
de 90 degrs
A Le rectangle de slection est un multiple de la grille et laxe se trouve galement sur un point de
la grille.
B Lorsque vous faites pivoter la forme, les points de connexion se trouvent toujours sur les lignes
de la grille.
Pour plus dinformations sur lutilisation des rectangles de slection et de la grille,
reportez-vous au chapitre 11, Rorganisation des formes dun dessin .
Mesure permet t ant dempcher t out ret ournement ou t out e
rot at ion des f ormes
Vous pouvez empcher les utilisateurs de faire pivoter une forme en protgeant la
formule de la cellule Angle :
La forme peut toujours tre retourne, mais toute utilisation de loutil Rotation ou
des commandes Forme > Pivoter est impossible moins que les utilisateurs ne
modifient la formule Angle de la fentre ShapeSheet. Cette technique est simple mais
elle nest pas conseille. Elle peut en effet prter confusion car les poignes de
rotation continuent dapparatre tant que loutil Rotation est actif, de mme que les
commandes Pivoter restent accessibles alors quelles ne sont daucune utilit.
Il est donc prfrable de verrouiller la forme afin dempcher toute rotation en
cochant la case Rotation dans la bote de dialogue Protection (choisissez Format >
Protection) ou en paramtrant la cellule VerrPivoter (dans la section Protection) sur
une valeur non nulle. Lorsque loutil Rotation est actif, des cadenas apparaissent sur
les poignes de rotation de la forme et indiquent donc clairement aux utilisateurs
quelles ne sont pas disponibles lorsque vous protgez la valeur de la cellule Angle.
Ahg1e = PP0TECTT0h|0 deg.)
B
A
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 103
Toutefois, malgr ce verrouillage, la forme peut toujours tre pivote par le biais des
commandes Retournement vertical et Retournement horizontal. Pour empcher tout
retournement dune forme, protgez les formules des cellules RetournementX et
RetournementY :
La bote de dialogue Protection ne fournit aucune option quivalente.
Cont rle des courbes des f ormes
Pour crer une forme aux angles arrondis, vous pouvez appliquer le style
correspondant ou crer un arc. Ce choix dtermine la manire dont la forme est
redimensionne. La figure suivante illustre les rsultats obtenus avec chaque mthode.
Mode de redimensionnement des
formes selon le type dangle utilis
A Ltirement du rectangle aux angles arrondis na aucune incidence sur la courbure de ses
angles.
B Les arcs de cercle peuvent dformer la forme lorsque celle-ci est redimensionne.
C Les arcs dellipse sont redimensionns et lisss en mme temps que la forme. Cependant,
les angles obtenus risquent de ne pas rpondre vos attentes.
Si vous dessinez une forme laide de loutil Crayon, Trait, Arc ou Rectangle, vous
pouvez connecter les segments de droite avec un segment darc dellipse. Lorsque
vous tirez une forme, les sommets de dbut et de fin dune courbe sont gnralement
dplacs proportionnellement. Lutilisation de segments darc cet effet permet de
mieux contrler la forme, car les segments darc ne dpendent pas du style de trait ou
dangle, et les arcs peuvent tre contrls par des formules.
PefouhemehfX = PP0TECTT0h|IALSE)
PefouhemehfY = PP0TECTT0h|IALSE)
A
B C
104 CHAP I TRE 5
Vous pouvez modifier lexcentricit dun arc dellipse afin de conserver son aspect
liss. Un arc de cercle tente dinsrer un cercle entre les sommets de dbut et de fin, ce
qui peut entraner lapparition dune dformation entre une courbe et un trait. Pour
viter ce problme, vous pouvez contrler la courbure de larc par le biais de
formules. Si vous utilisez cette mthode pour crer une forme angles arrondis, la
gamme prdfinie des angles permet un redimensionnement liss.
Ut ilisat ion des st yles dangle arrondi
Lorsque vous utilisez la commande Coins du menu Format, vous appliquez un style
arrondi aux angles dun trait. Vous pouvez crer la forme partir de segments de
droite plutt que dutiliser un ensemble de traits et darcs. Le style dangle ne modifie
pas la gomtrie de la forme, mais uniquement son mode daffichage lcran.
Polygone (A) format avec des
coins arrondis (B), puis
redimensionn (C)
Mme si le redimensionnement dune forme prsentant un style dangle arrondi
se droule selon vos attentes, lutilisation dun autre style de trait spcifiant dautres
attributs dangle (ou aucun attribut) peut nanmoins craser le style dangle arrondi.
Vous pouvez donc tre amen protger le formatage dune forme en paramtrant
sa cellule VerrFormat sur TRUE ou en protgeant la formule de la cellule
Arrondissement dans sa section Format. Pour plus dinformations sur les styles,
reportez-vous au chapitre 10, Gestion des styles, des formats et des couleurs .
Prsent at ion des arcs
Un arc de cercle est une partie dun cercle. Un arc dellipse est une partie dune ellipse.
Un arc dellipse peut sembler circulaire, car un cercle nest quun type spcial dellipse.
Les arcs dessins laide de loutil Arc correspondent toujours un quart dellipse, et
ceux dessins par le biais de loutil Crayon sont une partie dun cercle. Toutefois, ces
deux types darc sont reprsents dans la section Gomtrie en tant quarcs dellipse,
dfinis par les lignes ArcElliptiqueVers. Pour obtenir un vritable arc de cercle, vous
devez paramtrer son type de ligne sur ArcVers dans sa section Gomtrie.
A B C
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 105
Arcs de cercle
Dans un arc de cercle, lampleur de larc correspond la distance entre le point central
de la corde et le point central de larc, comme lindique la figure suivante.
Arc de cercle
La valeur de la courbure est positive si larc est dessin dans le sens inverse des
aiguilles dune montre ; dans le cas contraire, elle est ngative. Le point de contrle
dun arc slectionn se trouve au point central, cest--dire le long de la bissectrice
perpendiculaire de la corde. Si vous tentez de dplacer le point de contrle avec loutil
Crayon, le point se dplace librement mais il reprend toujours sa position le long de la
bissectrice perpendiculaire.
Lorsque vous redimensionnez un arc de cercle, vous modifiez le rayon du cercle dont
fait partie larc. Larc peut tre plat ou bomb, ce qui correspond au comportement de
redimensionnement normal dun cercle. Cependant, ce comportement nest peut-tre
pas adapt vos souhaits. (Pour obtenir un redimensionnement proportionnel, vous
devez utiliser un arc dellipse suivant les indications qui figurent plus loin dans
cette section.)
Redimensionnement dun arc de
cercle
A Lorsque le point de contrle est dplac, la valeur de courbure de larc change.
Par dfaut, tous les arcs crs avec les outils de dessin Visio sont des arcs dellipse.
Pour crer un arc de cercle, vous devez modifier le type de ligne dans la section
Gomtrie.
A Cordes
B Points de contrle
C Courbures
A
B
C
A
A
106 CHAP I TRE 5
Pour crer un arc de cercle :
1 Slectionnez une forme et choisissez Fentre > Afficher la feuille ShapeSheet.
2 Dans la section Gomtrie, slectionnez la ligne TraitVers ou ArcElliptiqueVers
convertir en arc de cercle.
3 Choisissez Edition > Modifier le type de ligne.
4 Slectionnez ArcVers, puis cliquez sur OK.
Le tableau suivant indique la signification des cellules dune ligne ArcVers.
* Les cellules X et Y de la ligne prcdente dans la section Gomtrie dterminent le point de dpart de l arc.
Arcs dellipse
Lorsquun arc dellipse est tir, son excentricit change en fonction de ltirement, si
bien que larc conserve une courbe lisse. Lexcentricit contrle le niveau dasymtrie
de larc.
Arc dellipse
A Axe majeur
B Axe mineur
C Point de contrle
D Angle
Lexcentricit dun arc rsulte de la division de son axe majeur par son axe mineur.
Reprsentation dun arc de cercle dans la section Gomtrie
Ligne Cellule Valeur
Ligne prcdant
la ligne ArcVers*
X Coordonne x du point de dpart
Y Coordonne y du point de dpart
ArcVers X Coordonne x du point de fin
Y Coordonne y du point de fin
A Taille de la courbure de l arc
A
B
C
D
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 107
Vous serez probablement plus souvent amen utiliser un arc dellipse quun arc de
cercle. En effet, la nature intrinsque de larc de cercle limite ses possibilits de
redimensionnement.
REMARQUE : dans les versions antrieures de Visio, une ellipse tait reprsente par deux
lignes ArcElliptiqueVers. Dans Microsoft

Visio

2000, une ellipse est reprsente par une


seule ligne Ellipse.
Pour crer un arc dellipse, procdez de lune des manires suivant es :
Dessinez un arc laide de loutil Crayon ou Arc.
Dans la section Gomtrie, paramtrez sur ArcElliptiqueVers le type de la ligne
TraitVers ou ArcVers convertir en arc dellipse.
Dans la page de dessin, utilisez loutil Crayon pour faire glisser le point de contrle
dune droite. Le trait se transforme ainsi en un arc dellipse.
La gomtrie dun arc dellipse est dcrite dans la ligne ArcElliptiqueVers, comme
lindique le tableau suivant.
* Les cellules X et Y de la ligne prcdente dans la section Gomtrie dterminent le point de dpart de l arc
d ellipse.
Vous pouvez dplacer le point de contrle dun arc dellipse afin de modifier son
excentricit. Une excentricit de 1 correspond un arc de cercle, tandis quune valeur
suprieure ou infrieure 1 correspond un arc plus ou moins excentrique. Par
exemple, dans une ellipse dune largeur de 2 cm et dune hauteur d1 cm, chaque arc
dellipse prsente une excentricit de 2. Dans une ellipse dune largeur d1 cm et dune
hauteur de 2 cm, chaque arc dellipse prsente une excentricit de .
Reprsentation dun arc dellipse dans la section Gomtrie
Ligne Cellule Valeur
Ligne prcdant ArcElliptiqueVers* X Coordonne x du point de dpart
Y Coordonne y du point de dpart
ArcElliptiqueVers X Position x du point de fin
Y Position y du point de fin
A Position x du point de contrle
B Position y du point de contrle
C Angle de l arc
D Excentricit de l arc
108 CHAP I TRE 5
Pour modif ier lexcent ricit dun arc dellipse :
Slectionnez loutil Crayon, puis en maintenant la touche Ctrl enfonce, faites
glisser le point de contrle de manire afficher les poignes dexcentricit que
vous pouvez tirer ou faire pivoter.
Lorsque vous dplacez les poignes dexcentricit dun arc, Visio gnre des formules
dans les cellules C et D de la ligne ArcElliptiqueVers ; ces formules enregistrent
lorientation et la forme actuelles de larc dellipse. Si vous tirez une forme prsentant
des arcs dellipse, Visio modifie au besoin lexcentricit et langle des arcs, de manire
ce que le redimensionnement des arcs soit cohrent avec le reste de la forme.
Conversion des segment s de t rait et darc
Vous pouvez convertir un trait ou un arc dellipse en segment darc de cercle en
modifiant le type de la ligne correspondante dans la section Gomtrie. Vous pouvez
galement modifier les segments de trait et darc laide de divers outils de dessin.
Pour changer un t rait ou un arc dellipse en un arc de cercle dans la f ent re
ShapeSheet :
Cliquez avec le bouton droit sur la ligne TraitVers ou ArcElliptiqueVers dans la
section Gomtrie qui correspond au segment modifier. Dans le menu
contextuel, choisissez loption de modification du type de ligne, puis ArcVers.
Vous pouvez galement slectionner la ligne, puis choisir Edition > Modifier le
type de ligne et enfin cliquer sur ArcVers.
Pour changer un t rait en un arc dellipse sur la page de dessin :
Slectionnez loutil Crayon, pointez sur le point de contrle du segment de trait,
puis faites glisser votre souris de manire former un arc.
Pour changer un arc dellipse ou de cercle en une droit e sur la page de
dessin :
Slectionnez loutil Crayon, pointez sur le point de contrle de larc, puis faites
glisser votre souris jusqu ce que larc se prsente sous la forme dune droite.
REMARQUE : le changement de type de ligne peut modifier le plan largeur/hauteur dune
forme et craser les formules de conservation des proportions ou celles calcules sur la base
de la hauteur. Cest pourquoi vous pouvez tre amen paramtrer VerrCalcLH sur
TRUE dans la section Protection avant de modifier le type dune ligne.
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 109
Formules darc ut iles
Vous pouvez contrler le comportement de redimensionnement des arcs de cercle
laide de formules qui calculent la courbure et le rayon de larc.
Calcul de la courbure partir du rayon et de langle
Si vous connaissez le rayon dun arc et langle sous-tendu par ArcVers, vous pouvez
calculer la courbure laide de lquation suivante :
|Arc| = rayon * (1 - COS(angle/2))
Si la courbure est nulle, larc se prsente sous la forme dune droite. Vous pouvez
utiliser cette quation pour nimporte quelle forme, ouverte ou ferme, afin de crer
des angles arrondis prsentant un angle donn, comme lindique la figure suivante.
Lutilisation darcs de cercle prsente lavantage de permettre un redimensionnement
liss des angles. Par exemple, si vous savez que le rayon est de 2 pouces et langle de
45 degrs, sur la ligne ArcVers de la section Gomtrie, saisissez la formule suivante :
Utilisation dun segment darc de
cercle pour un angle arrondi
A Angle de 90
B Rayon
Dans une forme telle quun rectangle, dans laquelle la valeur de langle ne change pas
(90 degrs), vous pouvez rsumer une partie de la formule une constante. Si langle
est toujours de 90 degrs, (1COS(angle/2)) = 0,2929, vous pouvez saisir la formule
suivante :
Lutilisation de cette constante permet dacclrer le traitement mais limite les
possibilits si vous dcidez ensuite de changer langle. Pour plus dinformations sur la
cration dangles arrondis, reportez-vous la section Utilisation des styles dangle
arrondi , page 104.
Comf1eh.Ah = 2 po. " |1 - C0S|4S deg. /2))
Comf1eh.Ah = ayoh " 0,2929
A
B
110 CHAP I TRE 5
Calcul du rayon partir de la courbure
Si vous connaissez la courbure dun arc, vous pouvez calculer son rayon. Pour ce faire,
recherchez lampleur de la corde, cest--dire la distance sparant le point de dpart et
le point de fin de larc. Dans la formule suivante, les coordonnes X1, Y1 reprsentent
le point de dpart de larc, et les coordonnes X2, Y2 le point de fin. La longueur de la
corde est donc la suivante :
LongueurCorde = RACINE( (Y2 Y1) ^2 + (X2 - X1)^2 )
Le rayon est le suivant :
rayon = (4 * Arc
2
+ Corde
2
) / (8 * Arc)
Opt imisat ion de la gomt rie dune f orme
Les formes gomtrie simple donnent de meilleurs rsultats que les formes
gomtrie complexe. Une forme dont la section Gomtrie comporte peu de lignes
permet dobtenir un rendu plus rapide quune forme en comportant un grand
nombre. De mme, une forme comportant une seule section Gomtrie permettra
dobtenir un rendu plus rapide quune forme en comportant plusieurs. Si vous navez
pas besoin de contrler les sommets dune forme laide de formules, pensez
simplifier sa gomtrie. Voici quelques suggestions de simplification.
Plutt que de crer une forme plusieurs chemins, ignorez certains segments dans
un chemin unique en convertissant les lignes TraitVers en DplacerVers. La
section Gomtrie dune forme commence toujours par une ligne DplacerVers,
mais aprs le premier segment, elle peut comporter autant de lignes de ce type que
ncessaire.
Regroupez plusieurs segments de trait dans une seule ligne PolyligneVers. Les
cellules X et Y de cette ligne dfinissent les coordonnes x,y du point de fin ;
toutefois, une seule formule POLYLIGNE dfinit lensemble des sommets entre le
point de dpart et le point de fin de la forme.
Toute forme comportant plus de trois ou quatre segments donne de meilleurs
rsultats quune ligne PolyligneVers. Toutefois, il est plus facile de considrer la
gomtrie dune forme comme une srie de lignes TraitVers dans une section
Gomtrie plutt que comme une srie darguments dans une fonction. Vous
pouvez convertir une ligne PolyligneVers en plusieurs lignes TraitVers en cliquant
avec le bouton droit sur la ligne dans la section Gomtrie et en choisissant
Dvelopper la ligne.
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 111
Une formule POLYLIGNE peut contenir des rfrences de cellule ou des
expressions. Ds quun utilisateur modifie la forme laide de loutil Crayon, Visio
rgnre la formule, en remplaant les rfrences de cellule et les expressions par
des constantes. Pour viter ce remplacement, verrouillez la forme afin de la
protger contre toute modification.
Visio 2000 cre automatiquement des lignes PolyligneVers lors de limportation de
fichiers DWG. Pour plus dinformations sur les lignes PolyligneVers et sur les
formules POLYLIGNE, reportez-vous laide en ligne Rfrence du dveloppeur
(accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
REMARQUE : loutil Dessin main leve cre dsormais des NURBS (nonuniform
rational B-splines). Dans les anciennes versions des produits Visio, loutil Dessin main
leve crait des splines. Pour des raisons de compatibilit en amont, Visio 2000 prend
donc en charge les lignes de type spline.
Limit at ion du comport ement dune f orme laide de verrouillages
La plupart des actions de la page de dessin modifient les formules dune forme et
peuvent ainsi avoir une incidence sur son comportement et ses formules
personnalises. Vous pouvez dfinir des contraintes pour le comportement dune
forme, appeles verrous, qui protgent la page de dessin contre certaines actions.
Prenez lexemple dun piano queue. Il existe diffrents formats de pianos.
Cependant, ils ont tous une caractristique commune : les cordes les plus courtes sont
toujours sur votre droite lorsque vous faites face au clavier. Pour prserver cette
caractristique, vous pouvez verrouiller la forme dun piano queue afin dempcher
tout retournement horizontal. Un utilisateur peut toujours faire pivoter la forme du
piano (comme sil poussait un vrai piano travers une pice) mais il ne peut pas la
retourner.
Lune des mthodes les plus simples de protection des formes consiste dfinir les
cellules de verrouillage dans la section Protection de la fentre ShapeSheet

. Certaines
cellules de cette section correspondent aux options de la bote de dialogue accessible
via Format > Protection ; dautres ne peuvent tre dfinies que dans la fentre
ShapeSheet. Pour plus dinformations sur les cellules de la section Protection,
reportez-vous laide en ligne Rfrence du dveloppeur (choisissez ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio.
112 CHAP I TRE 5
La dfinition de verrouillages permet dviter toute modification fortuite dune
forme. Par exemple, si vos formes reprsentent des lments dont les dimensions sont
standard, par exemple du matriel de construction, vous pouvez verrouiller leurs
poignes de redimensionnement car les utilisateurs ne doivent pas tre en mesure
dtirer les formes dans toutes les directions. Lorsquun verrouillage est dfini, un
cadenas apparat la place de certaines poignes de slection sur la forme, ce qui
indique que la fonction correspondante ne peut pas tre modifie.
Le paramtrage de verrouillages se
traduit par des informations
visuelles. Les cadenas (A) indiquent
que vous ne pouvez pas
redimensionner la forme.
Pour verrouiller une fonction, paramtrez sur un nombre non nul la cellule
approprie dans la section Protection. Pour dverrouiller une fonction, saisissez 0
dans la cellule.
Le fait de dfinir des verrouillages na aucune incidence sur les commandes actives et
nempche pas la modification des autres formules. Par exemple, si vous verrouillez la
largeur et la hauteur dune forme appartenant un groupe, puis que vous modifiiez
lchelle du groupe, la largeur et la hauteur de la forme peuvent changer. Si vous
dfinissez un verrouillage, ce verrouillage ne porte que sur la modification de lchelle
de la forme laide de la souris. Pour plus dinformations sur le contrle des actions
autorises sur les groupes, reportez-vous au chapitre 6, Regroupement et fusion de
formes .
REMARQUE : vous pouvez galement utiliser la fonction PROTECTION de vos formules
personnalises afin dempcher leur crasement par un utilisateur ou par le programme
Visio. La fonction PROTECTION et les verrouillages de protection protgent vos formes
de deux manires diffrentes et complmentaires. La fonction PROTECTION empche
toute modification des formules mais autorise lexcution dactions utilisateur. En
revanche, si vous dfinissez des verrouillages dans la section Protection, les actions
utilisateur sont impossibles, mais les formules de cellule ne sont pas protges.
Par exemple, si vous paramtrez la formule Largeur dune forme sur = PROTECTION
(5 picas), les utilisateurs peuvent faire glisser les poignes de slection latrales de la forme
afin de ltirer, mais la forme retrouve sa largeur initiale ds que Visio recalcule sa
formule Largeur. En revanche, si vous paramtrez la cellule VerrLargeur sur TRUE (1),
les utilisateurs ne peuvent pas faire glisser les poignes de slection latrales.
Pour plus dinformations sur la fonction PROTECTION, reportez-vous la section
Conception de formules Visio , page 80.
A
Sommaire
6
Regroupement et f usion de f ormes
Vous pouvez regrouper ou fusionner des formes afin de crer des formes gomtrie
complexe, ou de contrler le comportement de plusieurs formes. La mthode choisie
dtermine le mode dutilisation des formes et les rsultats obtenus.
Ce chapitre prsente les principaux lments qui distinguent les formes regroupes
des formes fusionnes. Il indique galement la manire dont vous pouvez crer des
groupes et des formes fusionnes, ou contrler le comportement de formes
fusionnes ou de groupes par le biais de formules ShapeSheet

.
Diffrences entre formes regroupes et formes fusionnes.............................. 114
Cration et contrle des groupes.......................................................................... 115
Contrle du comportement des groupes............................................................. 118
Protection du formatage des formes figurant dans des groupes ...................... 126
Cration et contrle des formes fusionnes........................................................ 126
114 CHAP I TRE 6
Dif f rences ent re f ormes regroupes et f ormes f usionnes
Les formes regroupes et fusionnes nont pas le mme comportement. Cette
diffrence doit guider votre choix entre formes regroupes et formes fusionnes.
Contexte dutilisation des groupes
Cration dune forme complexe contenant plusieurs blocs de texte, ou prsentant
plusieurs styles ou formats
Conservation des formules personnalises pour chacune des formes composant
le groupe
Mise la disposition des utilisateurs de fonctions de slection et de modification
des formes dans une forme complexe
Contexte dutilisation des formes fusionnes
Regroupement de formes en une seule forme dont la fusion ne peut pas tre
annule par lutilisateur
Cration dune forme rpondant plus rapidement quun groupe aux actions des
utilisateurs
Cration dune forme comportant des sections Gomtrie qui peuvent tre
masques ou affiches selon certains critres
Cration dune forme dont le remplissage peut contenir des zones transparentes
Caractristiques des groupes
Un groupe peut tre dissoci. Vous obtenez ainsi de nouveau des formes
indpendantes.
Un groupe permet de dplacer ou de redimensionner plusieurs formes
simultanment, tout en conservant leurs attributs de formatage propres, y compris
les formules personnalises.
Vous pouvez appliquer divers styles et formats de texte aux formes du groupe.
Les formes dun groupe peuvent tre slectionnes, puis directement dplaces ou
redimensionnes.
Chaque forme conserve sa propre feuille de calcul ShapeSheet, mais le groupe
possde galement sa propre feuille de calcul ShapeSheet.
Caractristiques des formes fusionnes
Une forme fusionne peut tre reprsente par une seule interface ShapeSheet
contenant plusieurs sections Gomtrie.
Une forme fusionne crase les formules personnalises des formes.
Une forme fusionne se limite un seul bloc de texte et un seul jeu dattributs de
formatage.
REGROUP EMENT ET FUSI ON DE FORMES 115
Crat ion et cont rle des groupes
Vous pouvez tre amen crer un groupe lorsque vous disposez de plusieurs formes
que vous souhaitez dplacer et redimensionner simultanment, tout en conservant
leurs attributs de formatage propres et leurs divers blocs de texte. Lorsque vous
regroupez des lments, une nouvelle feuille de calcul ShapeSheet

est cre pour le


groupe. Chaque membre du groupe conserve sa propre feuille de calcul ShapeSheet et
le groupe devient le systme de coordonnes parent de chaque lment initial. En
outre, les formules des formes du groupe, telles que les valeurs Point de fin 1D ou
Transformation de la forme, sont modifies afin de faire rfrence au groupe et non
plus la page.
Les groupes peuvent contenir des
formes prsentant divers attributs
de formatage.
Regroupement et dissociat ion de f ormes
Il peut tre judicieux de regrouper des formes avant dajouter des points de connexion
ou de dfinir des formules personnalises, car ces lments doivent gnralement faire
rfrence au groupe pour fonctionner correctement.
Pour crer un groupe, slectionnez des formes, puis choisissez Forme > Groupes >
Grouper pour regrouper plusieurs formes ou plusieurs groupes dans une nouvelle
forme Microsoft

Visio

dont les composants peuvent nanmoins tre modifis et


formats sparment.
Pour dissocier un groupe, slectionnez-le, puis choisissez Forme > Groupes >
Dissocier.
116 CHAP I TRE 6
Modif icat ion dun groupe
Les utilisateurs peuvent ajouter des formes un groupe ou en supprimer. Dans
certains cas, il est prfrable de pouvoir modifier un groupe. Dans dautres, selon la
solution que vous dveloppez, une modification peut empcher les formes de
fonctionner correctement. Vous pouvez interdire toute modification dun groupe en
paramtrant la cellule VerrGroupe sur TRUE dans la section Protection de la feuille
de calcul ShapeSheet du groupe.
Les utilisateurs peuvent ajouter des lments aux groupes non verrouills de deux
manires :
En dsignant le groupe dans lequel les formes seront insres et en indiquant les
formes ajouter un groupe laide de la souris, puis en faisant glisser la forme et
en linsrant dans le groupe. Pour choisir le groupe dans lequel les formes vont tre
insres, slectionnez Accepter les formes insres dans la section Comportement
des groupes de la bote de dialogue Comportement, ou saisissez TRUE dans la
cellule CibleADposer de la section Proprits de groupe dans la feuille du groupe.
Pour identifier la forme ajouter un groupe laide de la souris, slectionnez
Ajouter la forme aux groupes l'insertion dans la section Divers de la bote de
dialogue Comportement, ou saisissez TRUE dans la cellule SourceDpt de la
section Divers dans la feuille de la forme.
En choisissant Forme > Groupes > Ajouter au groupe lorsque le groupe et les
formes qui vous souhaitez y ajouter sont slectionns.
Pour supprimer une forme dun groupe, les utilisateurs peuvent slectionner la
forme, puis choisir Forme > Groupes > Enlever du groupe. Lorsque vous slectionnez
une forme et que vous la supprimez, elle disparat galement du groupe.
Incidence du regroupement de f ormes sur leurs f ormules
Lorsque vous ajoutez une forme un groupe, le systme de coordonnes parent
correspondant change et passe du systme de coordonnes de la page celui du
groupe. Lorsque vous dissociez des formes ou que vous supprimez la dernire forme
dun groupe, le groupe nest plus le parent. La feuille de calcul ShapeSheet du groupe
est supprime. Les formules faisant rfrence aux coordonnes parent changent
lorsque vous regroupez ou dissociez la forme ; les formules personnalises que vous
dfinissez pour une forme risquent dtre supprimes.
REGROUP EMENT ET FUSI ON DE FORMES 117
Le tableau suivant indique les cellules auxquelles sont appliques de nouvelles
formules lorsque vous regroupez et dissociez des formes.
Lorsque vous regroupez des formes connectes dautres formes, les connexions sont
conserves, sauf si une forme na pas (ou plus, la suite du regroupement) le mme
parent que le repre auquel elle est connecte. Si une forme est colle un repre et
que vous ajoutiez un groupe la forme et non le repre, la connexion de la forme au
repre est interrompue. La situation inverse se vrifie galement : si vous ajoutez un
repre un groupe, sans ajouter les formes colles ce repre, les connexions reliant
ces formes aux repres sont interrompues. Si vous incluez les formes et le repre
auquel elles sont colles, le moteur Visio conserve les connexions.
Type de modification subie par les formules aprs regroupement ou dissociation
dune forme
Section Cellule Consquence
Transformation
de la forme
Largeur, Hauteur Aprs le regroupement, les formules font
rfrence au groupe pour dfinir la taille de la
forme par rapport celle du groupe. Aprs la
dissociation, les formules font rfrence la
largeur et la hauteur du nouveau parent, ou ne
changent pas si le nouveau parent est une page.
Les formules protges par la fonction
PRO TECTI O N ne subissent aucune modification.
Transformation
de la forme
AxeX, AxeY Les formules calculent les coordonnes d axe sur
la base du systme de coordonnes du groupe ou
du nouveau parent. Aprs le regroupement, les
formules dfinissent l emplacement de l axe par
rapport la largeur et la hauteur du groupe.
Points de fin 1D DpartX,
DpartY, FinX,
FinY
Les formules calculent les coordonnes des
points de dpart et de fin sur la base du systme
de coordonnes du parent. Aprs le
regroupement, les formules dfinissent la position
des points de fin par rapport la largeur et la
hauteur du groupe.
Alignement [toutes les
cellules]
Aprs le regroupement, les formules calculent la
position du repre d alignement sur la base des
coordonnes du groupe ou du nouveau parent.
118 CHAP I TRE 6
Cont rle du comport ement des groupes
Si vous crez des formes pour une solution personnalise, vous pouvez contrler avec
prcision les diffrents aspects du comportement dun groupe. Par exemple, vous
pouvez empcher les utilisateurs de slectionner des lments du groupe ou de
redimensionner des formes.
Lorsque vous utilisez des formules dans des formes regroupes, vous pouvez utiliser
des coordonnes locales, des coordonnes parent ou des coordonnes sur la page,
comme lindique lillustration suivante. Pour dfinir plusieurs comportements de
redimensionnement pour une forme appartenant un groupe, vous pouvez tre
amen convertir des coordonnes dun systme un autre.
Forme appartenant un groupe
dans le systme de coordonnes
Visio
A Coordonnes sur la page
B Coordonnes parent
C Coordonnes locales
Cont rle du mode de slect ion des groupes
Le moteur Visio prend en charge trois types de comportement pour la slection
de groupes :
Slection du groupe uniquement (les membres du groupe ne peuvent pas tre
slectionns)
Slection du groupe en premier (en cliquant une seconde fois, vous slectionnez le
membre du groupe)
Slection du membre du groupe en premier (en cliquant une seconde fois, vous
slectionnez lensemble du groupe)
En outre, vous pouvez empcher le dplacement des enfants immdiats dun groupe
en paramtrant sur TRUE la cellule PasDplacEnfants de la section Proprits
de groupe.
REGROUP EMENT ET FUSI ON DE FORMES 119
Vous pouvez dfinir le comportement de slection de vos formes regroupes en
modifiant le paramtrage de la cellule ModeSlection dans la section Proprits de
groupe de la feuille du groupe. Dans le cas de groupes imbriqus, le comportement de
slection appliqu est celui du groupe slectionn.
REMARQUE : si vous cliquez rapidement deux fois de suite sur un lment, cette opration
peut tre considre comme un double-clic et risque douvrir la zone de texte du groupe
plutt que de slectionner la forme suivante selon lordre de slection. Pour viter ce
problme, observez une brve pause entre les deux clics.
Df init ion du comport ement de redimensionnement des
f ormes regroupes
Lorsque vous dfinissez le comportement de redimensionnement dun groupe,
vous ne devez pas oublier que la taille et la position des membres du groupe peuvent
changer dans le groupe. Lorsquun groupe est redimensionn, les formes qui le
composent sont gnralement tires et repositionnes afin de conserver les
proportions du systme de coordonnes du groupe. Toutefois, certaines formes
reprsentent des objets dont les dimensions physiques sont fixes. Lorsque la taille du
groupe change, vous pouvez choisir de changer la position de ces formes, sans que
leur taille ou leurs proportions soient modifies. Vous pouvez souhaiter, lors du
redimensionnement dun groupe, que certaines formes soient redimensionnes et
dautres non. Les cellules ModeRedim des sections Transformation de la forme des
formes appartenant au groupe contrlent leur comportement de
redimensionnement.
Par exemple, dans la figure suivante, le groupe Ilot cuisine contient un plan de travail,
une cuisinire et un vier. La cuisinire et lvier reprsentent des objets physiques
dont les dimensions sont standard. Ils ne peuvent donc pas tre redimensionns avec
llot. En revanche, un plan de travail peut prsenter nimporte quel format et doit tre
redimensionn en mme temps que llot.
Paramtres ModeSlection de la section Proprits de groupe
Valeur Description
0 Cliquez dessus pour slectionner uniquement le groupe. Cliquez de nouveau
dessus pour le dslectionner.
1 Cliquez dessus pour slectionner le groupe en premier. Cliquez de nouveau
dessus pour slectionner les membres du groupe. Pour reslectionner le groupe,
vous devez d abord le dslectionner. (Paramtre par dfaut).
2 Cliquez dessus pour slectionner un membre du groupe en premier. Cliquez de
nouveau dessus pour slectionner le groupe. Si le groupe comporte plusieurs
formes empiles, cliquez de nouveau dessus pour slectionner la forme suivante
dans l ordre de la pile, puis pour slectionner le groupe.
120 CHAP I TRE 6
A Groupe dorigine
B Par dfaut, les formes sont toutes redimensionnes en mme temps que le groupe. Dans le cas
de formes aux dimensions fixes (par exemple, un vier ou une cuisinire), ce comportement pose
problme.
C Pour repositionner lvier et la cuisinire plutt que de les redimensionner, saisissez la valeur 1
dans la cellule ModeRedim dans les feuilles de ces formes.
Vous pouvez contrler le comportement de redimensionnement dune forme ou dun
groupe laide de la cellule ModeRedim (section Transformation de la forme).
Pour contrler le comportement dune forme en cas de redimensionnement du
groupe, dfinissez la valeur ModeRedim de la forme. Pour contrler le mode de
redimensionnement dun groupe imbriqu dans un autre, dfinissez la valeur
ModeRedim du groupe. Dans lexemple prcdent, paramtrez la valeur ModeRedim
sur 1 pour lvier, puis regroupez lvier et le plan de travail. Le tableau suivant
prsente les options de redimensionnement disponibles.
Pour changer de comportement de redimensionnement, vous devez modifier la
forme du plus haut niveau. Par exemple, dfinissez le comportement de
redimensionnement de la cuisinire plutt que de dfinir celui de chaque brleur.
Pour empcher les utilisateurs de redimensionner malencontreusement une forme
appartenant un groupe, paramtrez la valeur ModeRedim sur 1. Paramtrez
galement VerrLargeur et VerrHauteur sur 1 dans la section Protection. Si vous
verrouillez la largeur, la hauteur ou le rapport hauteur/largeur dune forme, puis que
vous ajoutiez la forme un groupe, le comportement de redimensionnement de la
forme est prioritaire par rapport aux ventuels verrouillages dfinis pour le groupe.
Paramtres ModeRedim de la section Transformation de la forme
Valeur Description
0 La forme est redimensionne en fonction du paramtre M odeRedim du groupe.
Correspond l option Utiliser les paramtres du groupe de la bote de dialogue
Comportement. (Paramtre par dfaut)
1 La forme conserve sa taille lorsque le groupe est tir ; seul son emplacement
dans le groupe change. Correspond l option Repositionner seulement de la
bote de dialogue Comportement.
2 La forme est redimensionne proportionnellement lorsque le groupe est tir.
Correspond l option M ettre l' chelle avec le groupe de la bote de dialogue
Comportement.
A
B C
REGROUP EMENT ET FUSI ON DE FORMES 121
Redimensionnement des f ormes dans un seul sens
Lorsque vous voulez contrler le mode de redimensionnement dun groupe, vous
pouvez personnaliser le comportement de redimensionnement des formes laide de
formules. Par exemple, le cube de la figure suivante est un groupe compos de trois
formes : la premire correspond lavant du cube, la deuxime au dessus et la
dernire au ct. Chacune delles prsente un comportement de redimensionnement
diffrent. Lorsque vous redimensionnez lavant, sa largeur et sa hauteur sont tires
proportionnellement. En revanche, seules la hauteur du dessus et la hauteur du ct
stirent. Ainsi, la forme conserve son aspect 3D lors de ltirement.
Le dessus et le ct du cube
stirent uniquement dans un sens
lors du redimensionnement.
Deux techniques principales permettent dobtenir ce type de comportement de
redimensionnement dans un groupe :
Attribuez une valeur constante aux dimensions de la forme non
redimensionnable, et donnez la forme redimensionnable ses dimensions au sein
du groupe.
Dplacez laxe dune forme vers lorigine dans son systme de coordonnes locales
(cest--dire vers langle infrieur gauche des axes x et y locaux). Dfinissez ensuite
laxe parent de la forme par rapport la largeur ou la hauteur du groupe, de
manire ce que lemplacement de la forme soit toujours fixe par rapport au
groupe. Sinon, la forme est dplace sur la base du systme de coordonnes parent
lorsque le groupe est redimensionn.
Dans le cas du cube, la hauteur du dessus et la largeur du ct sont des valeurs
constantes, car elles ne doivent pas tre modifies par le redimensionnement du
groupe. La largeur du dessus est dfinie par rapport la largeur du groupe : le dessus
peut donc tre redimensionn dans le sens de la largeur. De mme, la hauteur du ct
est dfinie par rapport la hauteur du groupe : le ct peut donc tre redimensionn
dans le sens de la hauteur.
La forme de lavant dfinit le rectangle de slection du groupe car sa taille et sa
position dterminent celles du dessus et du ct. Laxe parent dfinit la position de
chaque forme sur le ct correspondant du rectangle de slection du groupe. Pour le
dessus, la coordonne x de laxe parent est de 0 po. et la coordonne y est identique
la hauteur du groupe. Pour le ct, la coordonne x de laxe parent est gale la
largeur du groupe et sa coordonne y est de 0 po.
122 CHAP I TRE 6
La relation existant entre la largeur et la hauteur des formes, et entre la hauteur et la
largeur du groupe est on ne peut plus vidente si vous dessinez la forme sans sommet
avec angle, comme dans la figure suivante.
Vue clate de la forme du cube
A Axe
B <ID la feuille du groupe>!Hauteur
C <ID la feuille du groupe>!Largeur
Exemple de crat ion dun cube
A laide des techniques dcrites dans la section prcdente, vous pouvez attribuer
une forme le comportement de redimensionnement du cube. Une forme dfinit le
rectangle de slection du groupe, et la position de chacune des formes est fixe par
rapport ce rectangle. En outre, les formes ne sont redimensionnes que dans un sens
lors du redimensionnement du groupe.
Pour dessiner le groupe cube, procdez comme suit :
Dfinissez le rectangle de slection personnalis du groupe : dessinez dabord
lavant du cube, regroupez-le, puis verrouillez le rectangle de slection.
Esquissez les formes du dessus et du ct sous la forme de simples rectangles, puis
ajoutez-les au groupe.
Modifiez les sommets du dessus et du ct pour leur donner un aspect 3D.
Personnalisez les formules Largeur, Hauteur et Axe des formes du dessus et du
ct afin de contrler leur comportement de redimensionnement.
REGROUP EMENT ET FUSI ON DE FORMES 123
Comme lindique la figure suivante, le sommet 2 du dessus et le sommet 3 du ct
sont inclins. La position y du sommet 2 du dessus correspond la hauteur de cette
forme. La position x du sommet 3 du ct correspond la largeur de cette forme.
La hauteur du dessus et la largeur des cts sont dfinies par une valeur constante
de 0,125 po. En ajoutant cette constante aux formules de sommet appropries,
les formes sont inclines.
Coordonnes locales
des formes du cube
A Coordonnes locales du groupe
B Hauteur = 0,125 po.
C Largeur + 0,125 po.
D Hauteur + 0,125 po.
E Largeur = 0,125 po.
Pour dessiner le cube en t ant que groupe :
1 Utilisez loutil Rectangle pour dessiner et mettre en place des cases rectangulaires
reprsentant lavant, le dessus et le ct. A ce stade, vous navez pas vous soucier
de donner au dessus et au ct un aspect 3D.
2 Slectionnez uniquement lavant, puis regroupez-le.
3 Slectionnez le groupe, choisissez Fentre > Afficher la feuille ShapeSheet, puis
paramtrez sur 1 la formule de la cellule VerrCalcLH dans la section Protection.
Le rectangle de slection de lavant est protg. Sinon, le rectangle de slection du
groupe sagrandit lorsque vous ajoutez les formes du dessus et du ct.
124 CHAP I TRE 6
4 Slectionnez le groupe. Choisissez Edition > Ouvrir Grouper pour ouvrir la fentre
de groupe. Slectionnez ensuite le dessus et le ct sur la page de dessin, puis
faites-les glisser dans la fentre de groupe afin de les ajouter au groupe.
5 Dans la fentre ShapeSheet

du groupe, choisissez Insertion > Section, puis ajoutez


une section Montage. Dans la section Montage, saisissez les formules suivantes :
Montage.X1 dfinit une constante qui dtermine la largeur du ct. Montage.Y1
dfinit une constante qui dtermine la profondeur du dessus.
6 Dfinissez les formes du dessus et du ct de manire ce quelles fassent rfrence
aux constantes dfinies dans la fentre ShapeSheet du groupe.
Pour ce faire, dans la fentre de groupe, slectionnez la forme du dessus, choisissez
Fentre > Afficher la feuille ShapeSheet, puis ajoutez une section Montage.
Procdez de mme pour la forme du ct. Dans les sections Montage du dessus et
du ct, saisissez les formules suivantes :
Vous devez indiquer dans ces formules lID du groupe. Par exemple, si lID du
groupe est Feuille.4, la formule de la cellule X1 est la suivante :
Feuille.4!Montage.X1.
7 Dfinissez linclinaison des sommets des formes du dessus et du ct.
Pour ce faire, personnalisez les formules dans la section Gomtrie, comme
lindiquent les tableaux suivants.
Mohfage.X1 = 0,S po.
Mohfage.Y1 = 0,S po.
Mohfage.X1 = <T0 de feu111e de goupe>!Mohfage.X1
Mohfage.Y1 = <T0 de feu111e de goupe>!Mohfage.Y1
Formules personnalises dans la section Gomtrie de la forme du dessus
Ligne (DplacerVers) X Y
1 |0paf) = 0 po. = 0 po.
2 |Ta1fves) = Mohfage.X1 = haufeu
3 |Ta1fves) = Lageu + Mohfage.X1 = haufeu
4 |Ta1fves) = Lageu = 0 po.
S |Ta1fves) = Comf1e1.X1 = Comf1e1.Y1
REGROUP EMENT ET FUSI ON DE FORMES 125
8 Dfinissez le comportement de redimensionnement des formes du dessus et
du ct.
Pour ce faire, personnalisez les formules Largeur, Hauteur et Axe dans la section
Transformation de la forme. Pour le dessus, utilisez ces formules :
Dans la section Transformation de la forme du ct, utilisez ces formules :
9 Pour empcher les utilisateurs de slectionner les formes sparment, saisissez 0
dans la cellule ModeSlection de la section Proprits de groupe de la feuille
du cube.
Formules personnalises dans la section Gomtrie de la forme du ct
Ligne
(DplacerVers) X Y
1 |0paf) = 0 po. = 0 po.
2 |Ta1fves) = 0 po. = haufeu
3 |Ta1fves) = Lageu = haufeu + Mohfage.Y1
4 |Ta1fves) = Lageu = Mohfage.Y1
S |Ta1fves) = Comf1e1.X1 = Comf1e1.Y1
Lageu = <T0 de feu111e du goupe>!Lageu
haufeu = Mohfage.Y1
AxeX = 0 po.
AxeY = <T0 de feu111e du goupe>!haufeu
AxeLocX = PP0TECTT0h|0 po.)
AxeLocY = PP0TECTT0h|0 po.)
Lageu = Mohfage.X1
haufeu = <T0 de feu111e du goupe>!haufeu
AxeX = <T0 de feu111e du goupe>!Lageu
AxeY = PP0TECTT0h|0 po.)
AxeLocX = PP0TECTT0h|0 po.)
AxeLocY = 0 po.
126 CHAP I TRE 6
Prot ect ion du f ormat age des f ormes f igurant dans des groupes
Lorsque vous appliquez un formatage local un groupe en choisissant une
commande dans le menu Format, ce mme format est appliqu lensemble des
formes du groupe. Le formatage appliqu au groupe remplace tout formatage local
des formes du groupe ; si vous utilisez des formules pour modifier le formatage des
formes, ces formules sont galement crases. Pour viter cette suppression, vous
pouvez effectuer les oprations suivantes :
Protger certaines cellules de formatage laide de la fonction PROTECTION.
Verrouiller un groupe afin dempcher toute modification de formatage.
Interdire ou autoriser lapplication de styles aux formes dune forme de base.
Pour interdire toute modification de certaines formules lorsquun utilisateur dfinit le
format local dune forme, utilisez la fonction PROTECTION.
Vous pouvez verrouiller un groupe afin dempcher tout formatage laide de la
cellule VerrFormat dans la section Protection de la feuille du groupe. Ce verrouillage
empche tout utilisateur dappliquer un style ou un format local au groupe. Sil fait
une tentative, le message qui apparat indique que laction nest pas autorise.
Lorsque vous verrouillez un groupe afin dempcher tout formatage, vous pouvez
nanmoins slectionner les formes quil contient et changer chaque format moins
que vous nayez dfini la cellule VerrFormat pour chacune des formes du groupe.
Vous pouvez galement verrouiller les formes au cas par cas afin que seules certaines
dentre elles puissent tre reformates par les utilisateurs.
Crat ion et cont rle des f ormes f usionnes
Une forme fusionne prsente toutes les sections ShapeSheet

standard dune forme


classique. En revanche, la forme fusionne contient plusieurs sections Gomtrie (une
par chemin) au lieu dune seule. Comme vous nutilisez quune feuille de calcul
ShapeSheet, la dfinition dattributs dans une forme fusionne comportant plusieurs
gomtries est donc beaucoup plus efficace que dans des formes regroupes, o
chaque forme possde sa propre feuille de calcul ShapeSheet.
Lorsquune forme possde plusieurs sections Gomtrie, vous pouvez dcider de
masquer ou dafficher chacune delles sur la base de certains critres. Par exemple,
vous pouvez masquer un chemin de la forme lorsquun autre est vide, puis le rendre
visible une fois que le second chemin est plein.
REGROUP EMENT ET FUSI ON DE FORMES 127
Une forme fusionne ne comporte quun bloc de texte et un jeu dattributs de
formatage, comme lindique la figure suivante. Si vous fusionnez plusieurs formes
contenant du texte ou un formatage spcial, la forme fusionne utilise le texte et le
formatage de la premire forme slectionne.
Lorsque vous fusionnez des formes
prsentant divers formats et
libells, la forme que vous obtenez
utilise le libell et les attributs de la
premire forme slectionne. Les
poignes de slection du premier
objet slectionn sont vertes, alors
que celles des objets slectionns
par la suite sont bleues.
Fusion de f ormes
Pour crer une forme unique plusieurs sections Gomtrie, fusionnez des formes
laide des commandes Union, Combinaison ou Jonction du sous-menu Oprations
du menu Forme. Contrairement la commande Grouper, ces commandes fusionnent
plusieurs formes et crent une forme unique plusieurs chemins.
Pour combiner plusieurs f ormes slect ionnes en une seule :
Choisissez Forme > Oprations > Union, Combinaison ou Jonction. La forme que
vous obtenez comporte plusieurs sections Gomtrie qui correspondent aux
chemins des formes dorigine.
Lorsque vous fusionnez des formes, les formes dorigine, ainsi que leurs ventuelles
formules personnalises, ne sont pas conserves. Par ailleurs, contrairement aux
formes regroupes, aucune action de dissociation ne permet de les rcuprer.
REMARQUE : vous pouvez annuler une action Union, Combinaison ou Jonction
uniquement sil sagit de la dernire opration effectue sur le document.
A Formes avant fusion
B La commande Union fusionne les formes qui se chevauchent en une seule gomtrie.
C La commande Combinaison fusionne les formes slectionnes en liminant le chevauchement et
en conservant la gomtrie de chaque forme dorigine.
D La commande Jonction fusionne les formes slectionnes en une seule forme vide et conserve la
gomtrie de chaque forme dorigine.
A B C D
128 CHAP I TRE 6
Remplissage des f ormes f usionnes
Une section Gomtrie comprend une cellule NoFill qui dtermine si le chemin
associ peut tre rempli, ainsi quune cellule NoLine qui dtermine si le trac associ
au chemin doit apparatre. Si la cellule NoFill est paramtre sur TRUE, la forme est
vide. Comme un seul jeu dattributs de formatage peut tre appliqu aux formes
fusionnes, vous pouvez utiliser ce paramtre pour contrler au cas par cas
lapparence de chaque section Gomtrie dans les formes fusionnes.
Par exemple, vous pouvez fusionner deux formes pleines avec, entre les deux, une
flche vide reprsentant la relation qui les unit. Une fois que vous avez dessin les
formes et choisi Forme > Oprations > Combinaison pour les fusionner, les trois
formes sont remplies, car les formes fusionnes ne peuvent prsenter quun seul
attribut de formatage. Pour que la flche apparaisse vide, vous pouvez ouvrir la
fentre ShapeSheet de la forme, identifier la section Gomtrie de la flche et
paramtrer sa cellule NoFill sur TRUE.
Lorsque vous paramtrez sur TRUE
la cellule NoFill dans la section
Gomtrie de la forme, vous pouvez
modifier lapparence des formes
fusionnes. Dans cet exemple, la
cellule NoFill de la section
Gomtrie de la forme est
paramtre sur TRUE.
Lorsque les gomtries pleines dune forme fusionne se chevauchent, les
chevauchements occasionns par les chemins fusionns sont considrs comme se
trouvant lextrieur des chemins pleins. Ils ne sont donc pas remplis, comme le
montre lexemple ci-aprs, gauche. Si un chemin se trouve entirement lintrieur
dun autre, comme dans lexemple ci-aprs, droite, il nest pas rempli, mme si sa
cellule NoFill est paramtre sur FALSE. Pour remplir la forme, dfinissez la cellule
NoFill de cette forme sur TRUE.
A Lorsque des formes fusionnes remplies se chevauchent, le moteur Visio considre les zones de
chevauchement comme se trouvant lextrieur des formes. Elles ne sont donc pas remplies.
B Ce mme principe sapplique lorsque les formes se trouvent lintrieur dune autre forme.
Lorsque vous paramtrez sur TRUE la cellule NoFill de la forme de taille infrieure, cette forme
est remplie. Si elle contient une autre forme, celle-ci est vide.
A B
REGROUP EMENT ET FUSI ON DE FORMES 129
Masquage de la gomt rie dune f orme
Une section Gomtrie comporte une cellule AucunAff qui dtermine si la gomtrie
dune forme est visible. Pour masquer une forme dcrite dans une section Gomtrie,
paramtrez sa cellule AucunAff sur TRUE. Vous pouvez utiliser cette cellule pour
crer des formes dont la gomtrie nest pas visible ou visible uniquement dans
certains cas.
Par exemple, vous pouvez crer une forme fusionne reprsentant un sous-systme
comportant plusieurs sections Gomtrie pour chacun des composants. Selon ltat
du sous-systme, vous pouvez masquer des formes en paramtrant leur cellule
AucunAff sur TRUE dans la feuille de calcul ShapeSheet. Si vous prfrez, vous
pouvez apporter vos modifications directement dans la fentre ShapeSheet. Vous
pouvez galement ajouter des commandes contextuelles permettant aux utilisateurs
de masquer ou dafficher les diffrentes parties de la forme. Pour plus dinformations
sur lajout dune commande contextuelle dterminant laffichage de la gomtrie
dune forme, reportez-vous la section Commandes du menu contextuel ,
page 138.
Cette forme fusionne reprsente
une forme qui peut prsenter deux
tats ; lorsque les formes en toile
sont masques, seuls les points
restent visibles.
Sommaire
7
Amliorat ion du comport ement
des f ormes
Vous pouvez crire autant de formules Microsoft

Visio

que vous le souhaitez afin de


contrler lapparence ou la position dune forme sur une page. Le comportement
dune forme ne se limite pas sa gomtrie et son emplacement. Une forme peut
fournir des informations aux utilisateurs sous forme visuelle, comme des poignes de
contrle munies dinfo-bulles ou des commandes personnalises dans un menu
contextuel. En outre, les utilisateurs peuvent associer une forme des informations
sous la forme de donnes de proprits personnalises ou dassociations de calques.
Ces amliorations du comportement permettent une forme dtre plus raliste.
Flexibilit des formes grce aux poignes de contrle...................................... 132
Commandes du menu contextuel......................................................................... 138
Proprits personnalises ..................................................................................... 146
Formules dvnements ........................................................................................ 152
132 CHAP I TRE 7
Flexibilit des f ormes grce aux poignes de cont rle
Le comportement de la forme peut notamment tre contrl en ajoutant des poignes
de contrle une forme. En outre, cette opration fournit aux utilisateurs une plus
grande amplitude daction. A linstar des poignes de slection, les poignes de
contrle se prsentent sous la forme de petits carrs verts que les utilisateurs peuvent
slectionner et dplacer. Les dplacements des poignes de contrle sont rpercuts
sur la forme par le biais de vos formules. Lavantage essentiel des poignes de contrle
rside dans le fait quelles vous permettent de crer une forme en tirant le meilleur
parti des entres utilisateur.
Pour en savoir plus sur lutilisation des poignes de contrle, servez-vous des formes
fournies avec Visio. Chaque forme munie dune poigne de contrle comporte une
info-bulle dcrivant le comportement de la poigne. La figure suivante illustre les
diffrentes fonctions des poignes de contrle dune forme.
Formes de base Visio munies de
poignes de contrle
A Les utilisateurs peuvent faire glisser les traits de dimension et ajuster leur hauteur.
B Les utilisateurs peuvent faire glisser les traits de nimporte quelle longueur afin de connecter
lanneau jeton.
C Les utilisateurs peuvent orienter le fauteuil en fonction dune autre forme.
CONSEIL : lorsque vous faites glisser une poigne de contrle, la barre dtat indique les
coordonnes locales de la poigne.
Ajout dune sect ion Point s de cont rle une f orme
Pour ajouter une poigne de contrle une forme, ajoutez une section Points de
contrle la feuille de calcul ShapeSheet

, puis modifiez les formules de la ligne


approprie dans la section Points de contrle. Cette dernire dfinit les attributs des
poignes de contrle. Chaque ligne de la section Points de contrle dune forme
correspond une poigne de contrle. Les cellules de chaque ligne dterminent les
diffrents aspects du comportement de la poigne de contrle. Par exemple, la cellule
Collage admis dtermine si une poigne de contrle peut tre colle dautres formes.
AML I ORATI ON DU COMP ORTEMENT DES FORMES 133
Vous pouvez utiliser la cellule Conseil afin de dfinir une info-bulle de description qui
apparat lorsquun utilisateur place le pointeur sur une poigne de contrle. Une fois
que vous avez ajout la section Points de contrle, vous pouvez crire des formules
dans dautres cellules ShapeSheet faisant rfrence une ligne de la section Points de
contrle afin de dfinir le comportement de cette poigne.
Pour plus dinformations sur la poigne de contrle dun bloc de texte, reportez-vous
la section Contrle de la position du bloc de texte , page 182.
Df init ion dune poigne de cont rle
Utilisez les cellules de la section Points de contrle afin de dfinir lemplacement et le
comportement des poignes de contrle dune forme. Par exemple, vous pouvez crer
une bulle de texte dont vous pouvez repositionner la pointe en ajoutant une poigne
qui contrle un sommet de la forme, comme le montre la figure suivante. Dans cet
exemple, vous souhaitez que la bulle de texte soit une forme 2D dans laquelle le
rectangle de slection entoure uniquement la partie rectangulaire de manire ce que
la position de la poigne de contrle nait aucune incidence sur le reste de la forme.
Poigne de contrle (A) dfinie
pour un sommet dune bulle de
texte. Utilisez une poigne de
contrle pour redimensionner la
pointe.
Lemplacement de la poigne de
contrle est dfini par la formule
dune cellule Gomtrie. Pour
associer le sixime sommet une
poigne de contrle (A), saisissez
la rfrence de la poigne de
contrle dans cette cellule
Gomtrie (B).
A
1
2
4
3
5 7 8
6
B
A
134 CHAP I TRE 7
Pour dessiner la f orme de la bulle de t ext e :
1 Utilisez loutil Trait afin de dessiner le rectangle en inversant sa pointe, comme
dans lillustration suivante.
2 Interdisez toute modification de la largeur/hauteur de la forme en paramtrant la
cellule VerrCalcLH sur TRUE dans la section Protection de la feuille de la forme.
Vous conservez ainsi le rectangle de slection du rectangle dorigine lorsque la
pointe de la bulle est dplace laide de la poigne de contrle.
Dans la procdure suivante, ajoutez une section Points de contrle et des formules
permettant dassocier la poigne de contrle au sommet de la pointe.
Pour ajout er une poigne de cont rle la f orme de la bulle de t ext e :
1 Ouvrez la fentre ShapeSheet de la forme de bulle de texte, choisissez Insertion >
Section, cochez Points de contrle, puis cliquez sur OK.
REMARQUE : pour ajouter une poigne de contrle une forme qui comporte dj une
section Points de contrle, slectionnez une ligne Points de contrle, cliquez dessus avec
le bouton droit, puis choisissez Insrer une ligne dans le menu contextuel.
Lorsque vous ajoutez la section Points de contrle une forme, une poigne de
contrle prsentant les coordonnes Largeur*0, Hauteur*0 est cre et ajoute la
forme sur la page de dessin. Vous pouvez dplacer la poigne de contrle laide
de la souris, mais cette opration na aucun effet tant que vous ne lui avez pas
associ la gomtrie de la forme. En rgle gnrale, vous lassociez au sommet que
la poigne va contrler.
2 Placez les rfrences la position de la poigne de contrle (cellules Points de
contrle.Xn et Points de contrle.Yn) dans les cellules Gomtrie correspondant
au sommet que la poigne va contrler.
1
2
4
3
5 7 8
6
AML I ORATI ON DU COMP ORTEMENT DES FORMES 135
En rgle gnrale, vous saisissez une formule faisant rfrence la coordonne x
de la poigne de contrle dans une cellule X de la section Gomtrie et une
formule faisant rfrence sa coordonne y dans une cellule Y. Si vous dessinez les
segments de bulles de texte dans lordre indiqu dans la figure prcdente, le
sommet de la pointe est contrl par la ligne 6 de la section Gomtrie. Dans cet
exemple, vous saisissez les formules suivantes :
La pointe semble disparatre car vous avez attribu temporairement son sommet
aux coordonnes locales 0,0 (rsultant des formules par dfaut de la poigne de
contrle, Largeur*0, Hauteur*0).
3 Faites glisser la poigne de contrle dans la fentre de dessin afin de faire
rapparatre la pointe.
Vous pouvez galement dplacer la pointe en modifiant les formules par dfaut de
la poigne de contrle (par exemple, en les transformant en Largeur*0,75,
Hauteur*-0,5).
4 Les cellules DynamiqueX et DynamiqueY dcrivent le point dancrage qui est
connect la poigne de contrle par un trait noir dynamique lorsque les effets
dynamiques sont dsactivs. Pour plus dinformations, reportez-vous la section
Dfinition du point dancrage dune poigne de contrle , page 136. Dans cet
exemple, utilisez les valeurs par dfaut.
5 Dans les cellules ComportementX et ComportementY, saisissez une constante
comprise entre 0 et 9 afin de dterminer la manire dont la poigne de contrle
doit tre repositionne lors du redimensionnement de la forme. Dans cet exemple,
saisissez les constantes suivantes :
Pour plus dinformations, reportez-vous la section Dfinition du
comportement dune poigne de contrle , la page 137 de ce chapitre. Pour
obtenir la liste des constantes, recherchez points de contrle, section dans laide
en ligne Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
6 La cellule CollageAdmis dune poigne de contrle dtermine si une poigne de
contrle peut tre colle dautres formes. Dans cet exemple, utilisez la valeur
par dfaut.
Comf1e1.X6 = Po1hfs de cohf1e.X1
Comf1e1.Y6 = Po1hfs de cohf1e.Y1
CompofemehfX= 4
CompofemehfY= 2
136 CHAP I TRE 7
7 Dans la cellule Conseil, saisissez une chane pour la bulle daide de la poigne
de contrle.
La chane est automatiquement mise entre guillemets. Dans cet exemple, vous
devez saisir la chane suivante :
Df init ion du point dancrage dune poigne de cont rle
Chaque poigne de contrle dfinie est dessine sur la forme par rapport un point
dancrage. Le point dancrage est dfini par les formules des cellules DynamiqueX et
DynamiqueY du point de contrle. Dans Microsoft

Visio

2000, une nouvelle


fonction appele Activer les effets dynamiques met jour la gomtrie de la forme
lorsque lutilisateur dplace une poigne de contrle. Lorsque les effets dynamiques
sont dsactivs, un trait lastique stire entre le point dancrage et la poigne de
contrle lorsque lutilisateur fait glisser la poigne. Ce trait fournit une aide visuelle
grce laquelle les utilisateurs dterminent lemplacement de destination de la
poigne de contrle et le rsultat obtenu au niveau de la forme. Lemplacement du
point dancrage na aucune incidence sur lapparence de la forme sur la page.
Il dtermine uniquement lapparence du trait lastique en cas de dplacement de la
poigne de contrle. Lorsque les effets dynamiques sont activs, le point dancrage na
aucun effet visible. Pour dsactiver les effets dynamiques dun dessin (ils sont activs
par dfaut), choisissez Outils > Options, cliquez sur longlet Dessin, puis
dslectionnez loption Activer les effets dynamiques.
Lorsque loption Activer les effets dynamiques est dslectionne dans longlet
Options avances de la bote de dialogue Options (Outils > Options) et quun
utilisateur dplace une poigne de contrle, un trait noir apparat entre le point
dancrage et la poigne de contrle. Ce trait stire lorsque lutilisateur fait glisser
la poigne.
Vous pouvez dfinir le point dancrage nimporte quel emplacement par rapport la
forme laide des cellules DynamiqueX et DynamiqueY. Par dfaut, le point
dancrage apparat lemplacement de la poigne de contrle. Toutefois, vous pouvez
positionner le point dancrage un emplacement fixe par rapport la forme. Par
exemple, pour placer le point dancrage dune poigne de contrle au bas dune
forme, saisissez la formule suivante :
Pour placer le point dancrage au centre dune forme, saisissez les formules suivantes :
Cohse11= "Pepos1f1ohhez 1a po1hfe"
0yham1queY = haufeu " 0
0yham1queX = Lageu/2
0yham1queY = haufeu/2
AML I ORATI ON DU COMP ORTEMENT DES FORMES 137
Df init ion du comport ement dune poigne de cont rle
Lorsquun utilisateur tire une forme munie dune poigne de contrle, vous pouvez
dfinir le comportement de la poigne en cas dtirement de la forme (soit elle se
dplace dans les mmes proportions que la forme, soit elle ne bouge pas). Pour que la
position dune poigne de contrle ne change pas, vous pouvez masquer la poigne de
manire ce quaucun utilisateur ne puisse la faire glisser.
Pour modifier les proprits daffichage des poignes de contrle, vous pouvez dfinir
ces valeurs dans la feuille de la forme :
Paramtrez sur TRUE la cellule PasPoignCtl dans la section Divers afin que les
poignes de contrle napparaissent pas lorsquun utilisateur slectionne une
forme. Vous obtenez le mme rsultat que lorsque vous utilisez la cellule
ComportementX ou ComportementY pour masquer une poigne. En revanche,
vous annulez laction des paramtres ComportementX et ComportementY qui
rendent les poignes visibles. Pour plus dinformations, reportez-vous aux cellules
ComportementX et ComportementY du tableau des paramtres suivant.
Paramtrez sur TRUE la cellule MseAJourRectSl dans la section Protection afin
de recalculer le rectangle de slection dune forme lorsquun utilisateur dplace un
sommet. Lorsquun sommet est associ une poigne de contrle, le rectangle de
slection est mis jour quand les points de contrle sont dplacs. Tant que la
cellule VerrCalcLH est paramtre sur TRUE, la cellule MseAJourRectSl na
aucun effet.
Vous pouvez galement utiliser les valeurs des cellules ComportementX et
ComportementY dans la section Points de contrle afin de dfinir la position et le
comportement dune poigne de contrle, comme lindique le tableau suivant. Les
cellules ComportementX et ComportementY fonctionnent indpendamment lune de
lautre.
Paramtres des cellules ComportementX et ComportementY
Visible Masque
Comportement de la poigne de contrle en cas dtirement
de la forme
0 5 Se dplace dans les mmes proportions que la forme lorsque
celle-ci est tire.
1 6 Se dplace dans les mmes proportions que la forme, mais
uniquement l horizontale (ComportementX) ou la verticale
(ComportementY).
2 7 Se dcale d une distance constante partir du ct gauche
(ComportementX) ou du bas (ComportementY) de la forme.
3 8 Se dcale d une distance constante partir du centre de la forme.
4 9 Se dcale d une distance constante partir du ct droit
(ComportementX) ou du haut (ComportementY) de la forme.
138 CHAP I TRE 7
Par exemple, la figure suivante prsente une bulle de texte dote dune poigne de
contrle dont la valeur ComportementX est 4 et dont la valeur ComportementY est 2.
Les cellules ComportementX et
ComportementY dterminent la
position de la poigne de contrle
par rapport au contour de la forme.
A La poigne de contrle est dcale dune distance constante partir du ct droit et du bas de
la forme.
B Si la forme est tire vers la gauche ou vers le haut laide des poignes, la poigne de contrle
reste ancre.
C Si la forme est tire laide des poignes du bas et de droite, la poigne de contrle est
dplace de manire conserver le dcalage de dpart.
Commandes du menu cont ext uel
Lorsquun utilisateur clique avec le bouton droit sur la page de dessin, le menu
contextuel qui apparat prsente les commandes qui sappliquent la slection. Vous
pouvez dfinir les commandes qui apparaissent dans le menu contextuel dune forme
et dans le sous-menu Actions du menu Forme. Les lignes de la section Actions dune
forme ou dune page dfinissent le nom de la commande et laction fournie par cette
forme ou par cette page.
Par exemple, vous pouvez dfinir une action appele Excuter Programme pour une
forme qui calcule la formule suivante lors de son excution :
Lorsquun utilisateur clique avec le bouton droit sur la forme, laction Excuter
Programme apparat dans le menu contextuel. Si vous la slectionnez, le moteur Visio
value la formule. Dans ce cas, le programme mon_prog.exe est lanc.
REMARQUE : tout comme les cellules Evnements, les cellules Action ne sont calcules que
lorsque laction se produit et non au moment o vous saisissez la formule.
A B C
Acf1oh = PuhA000h|"mohpog.exe")
AML I ORATI ON DU COMP ORTEMENT DES FORMES 139
Cette partie dcrit lutilisation de formules avec des commandes de menu contextuel.
Vous pouvez galement personnaliser linterface utilisateur, notamment les menus
contextuels, laide dAutomation. Pour plus dinformations, reportez-vous au
chapitre 22, Personnalisation de linterface utilisateur Visio
Df init ion dune commande de menu cont ext uel
Vous pouvez crer des commandes de menu contextuel pour la plupart des
comportements de formes contrls par une cellule ShapeSheet

. Par exemple, vous


pouvez crer des commandes de menu contextuel afin dactiver ou de dsactiver
certaines cellules de la section Protection dune forme. Vous pouvez galement dfinir
des commandes qui modifient les cellules de formatage dune forme.
Pour df inir une commande de menu cont ext uel pour une f orme ou une
page :
1 Slectionnez une forme, puis choisissez Fentre > Afficher la feuille ShapeSheet.
Pour afficher la feuille de la page, vrifiez quaucun lment nest slectionn, puis
choisissez Fentre > Afficher la feuille ShapeSheet.
2 Si la section Actions nexiste pas, choisissez Insertion > Section. Dans la bote de
dialogue Insrer une section, slectionnez Actions, puis cliquez sur OK.
Si la section Actions existe mais quelle napparat pas, choisissez Affichage >
Sections. Dans la bote de dialogue Afficher les sections, choisissez Actions, puis
cliquez sur OK.
Pour ajouter dautres actions, slectionnez une cellule dans la section Actions,
cliquez avec le bouton droit et choisissez Insrer une ligne dans le menu contextuel.
3 Dans la cellule Action, saisissez la formule devant tre calcule lorsque lutilisateur
choisit la commande Action.
Par exemple, vous pouvez crer deux actions parallles utilisant la fonction DEFF
pour verrouiller et dverrouiller le texte de la forme laide des formules suivantes :
4 Dans la cellule Menu, saisissez le nom de la commande afficher dans le menu
contextuel.
Par exemple, saisissez le texte Verrouiller le texte pour laction 1 de manire
ce que la commande Verrouiller le texte apparaisse dans le menu contextuel, et le
texte Dverrouiller le texte pour laction 2 de manire ce que la commande
Dverrouiller le texte apparaisse au-dessous.
Acf1oh 1 = 0EII|CefPef|veMod1fTexfe) fue)
Acf1oh 2 = 0EII|CefPef|veMod1fTexfe) fa1se)
140 CHAP I TRE 7
Vous pouvez utiliser la cellule Coch afin dajouter une coche la commande
slectionne. La cellule Dsactiv permet de faire apparatre une commande en
gris. Pour plus dinformations sur lutilisation de ces cellules, reportez-vous la
section Contrle de lapparence dune commande de menu contextuel ,
page 140.
5 Facultatif : dans la cellule Message, saisissez le message descriptif qui apparat dans
la barre dtat lorsque la commande Action est slectionne dans le menu.
Pour tester la nouvelle commande, cliquez avec le bouton droit sur la forme ou sur la
page pour afficher le menu contextuel correspondant, puis choisissez la commande
Action dfinie.
CONSEIL : une fois que vous avez ajout une section Actions une forme ou une page,
vous pouvez dfinir rapidement les actions standard laide de la commande Action du
menu Edition dans la fentre ShapeSheet. La commande apparat en gris jusqu ce que
vous slectionniez une cellule dans une section Actions. Dans la bote de dialogue Action,
dfinissez les options Menu et Message, slectionnez une action, puis cliquez sur OK.
Les cellules correspondantes de la section Actions sont mises jour. Si vous choisissez une
action dans la bote de dialogue, par exemple Aller la page, la cellule Action contient la
formule correspondante.
Cont rle de lapparence dune commande de menu
cont ext uel
Les actions ajoutes apparaissent par dfaut en haut du menu contextuel dans lordre
dans lequel elles sont rpertories dans la section Actions. Pour contrler lapparence
et la position de votre commande Action dans le menu contextuel, vous pouvez placer
un prfixe avant le nom dans la cellule Menu. Pour afficher votre commande au bas
du menu contextuel, utilisez la syntaxe suivante :
Pour faire apparatre une barre de sparation au-dessus de la commande, utilisez la
syntaxe suivante :
Pour associer la commande un raccourci clavier, placez une esperluette (&) avant la
lettre souhaite, comme dans lexemple suivant :
= "xEhfe de mehu"
= "Ehfe de mehu"
= "&Ehfe de mehu"
AML I ORATI ON DU COMP ORTEMENT DES FORMES 141
En outre, vous pouvez crire des formules qui apposent des coches aux commandes
slectionnes, ou qui affichent en gris les options non applicables. Dans le cas de
deux commandes qui sexcluent lune lautre, vous passez de lune lautre en
masquant et en affichant la commande approprie.
Commandes coches dans le menu cont ext uel
Lorsque vous dfinissez plusieurs commandes de menu contextuel pour une forme,
vous pouvez indiquer celle qui sapplique la forme en lui apposant une coche dans le
menu. Pour ce faire, paramtrez sur TRUE la cellule Coch de la ligne Actions
slectionne. Vous pouvez galement utiliser une expression logique afin de
slectionner et de dslectionner la commande en faisant rfrence une cellule
dfinie par lutilisateur.
Par exemple, vous pouvez slectionner les commandes Verrouiller le texte ou
Dverrouiller le texte ajoutes lexemple prcdent. Pour ce faire, saisissez la formule
suivante dans la cellule Coch de laction de verrouillage du texte :
Dans ce cas, lorsque la cellule VerrModifTexte est paramtre sur la valeur TRUE, la
cellule Coch calcule la formule comme tant TRUE. Une coche apparat ct du
nom de la commande afin dindiquer que le texte est verrouill. Vous pouvez
galement saisir une formule identique pour la seconde action afin de slectionner la
commande Dverrouiller le texte :
Dans cet exemple, la commande Dverrouiller le texte est slectionne lorsque la
cellule VerrModifTexte est FALSE.
Vous pouvez placer une coche
ct des commandes dfinies dans
la section Actions.
Coch 1 = veMod1fTexfe=fue
Coch 2 = veMod1fTexfe=fa1se
142 CHAP I TRE 7
Commandes de menu cont ext uel en gris
Pour peaufiner la forme, vous pouvez faire apparatre en gris les commandes qui ne
lui sont pas applicables. Par exemple, lorsquun utilisateur choisit la commande
Verrouiller le texte, le texte est verrouill de manire ce que la commande
Dverrouiller le texte soit la seule tre disponible dans le menu. Pour ce faire, dans
lexemple Verrouiller le texte, saisissez la formule suivante dans la cellule Dsactiv de
la section Actions pour laction Verrouiller le texte :
Vous pouvez saisir une formule identique dans la cellule Dsactiv de laction
Dverrouiller le texte :
Le rsultat de la formule de la cellule Dsactiv est calcul comme tant TRUE ou
FALSE. Lorsque vous slectionnez la commande Verrouiller le texte, la valeur de la
cellule VerrModifTexte est TRUE. Lexpression de la cellule Dsactiv est calcule
comme tant TRUE et la commande Verrouiller le texte apparat en gris. Si vous
slectionnez la commande Dverrouiller le texte, la cellule VerrModifTexte est
paramtre sur FALSE. Lexpression de la cellule Dsactiv 2 est calcule comme tant
TRUE et la commande Dverrouiller le texte apparat en gris.
Masquage et af f ichage de commandes dans le menu
cont ext uel
Lorsquune forme ne prsente que deux tats ou deux attributs dans une situation
conditionnelle, comme dans lexemple Verrouiller le texte et Dverrouiller le texte
utilis prcdemment, vous pouvez faire en sorte que les noms de commande soient
masqus ou affichs alternativement en modifiant, laide de conditions, le texte qui
apparat sur le menu. Par exemple, pour rendre votre interface utilisateur plus lisible,
affichez uniquement une commande de menu la fois : si le texte est verrouill, la
commande du menu contextuel est Dverrouiller le texte. Si le texte est dverrouill,
la commande est Verrouiller le texte.
Pour crer une commande variable dans le menu contextuel, il vous suffit dajouter
une ligne dans la section Actions. Ecrivez deux expressions logiques : la premire,
dans la cellule Action, active ou dsactive la valeur VerrModifTexte, la seconde, dans
la cellule Menu, dtermine la commande afficher sur la base de la valeur
VerrModifTexte :
0sacf1v 1 = veMod1fTexfe=fue
0sacf1v 2 = veMod1fTexfe=fa1se
Acf1oh = 0EII|CefPef|veMod1fTexfe)h0T|veMod1fTexfe))
Mehu = ST|veMod1fTexfe"Texfe dveou111""Texfe veou111")
AML I ORATI ON DU COMP ORTEMENT DES FORMES 143
Si la valeur VerrModifTexte est TRUE, DEFF la paramtre sur FALSE ; dans le cas
contraire, si la valeur VerrModifTexte est FALSE, DEFF la paramtre sur TRUE.
La formule de la cellule Menu fait galement rfrence la cellule VerrModifTexte : si
elle est TRUE, loption Dverrouiller le texte apparat. Si elle est FALSE, la commande
Verrouiller le texte est affiche.
Si la forme prsente plus de deux tats ou commandes de menu, il est prfrable, pour
des raisons de clart, dutiliser la cellule Coch ou Dsactiv afin didentifier les
commandes disponibles.
CONSEIL : vous pouvez utiliser la fonction DEFF dune cellule Evnement ou Action afin
de paramtrer la valeur dune autre cellule sur lune ou sur lautre de ses options, ou pour
incrmenter les valeurs dune autre cellule. Comme la formule dune cellule Evnement
ou Action nest calcule que lorsque lvnement se produit, vous pouvez crire une
formule faisant rfrence elle-mme laide de la fonction DEFF qui ne lance pas de
boucle. Par exemple, pour activer ou dsactiver la valeur de la cellule A en fonction de la
cellule B, utilisez la syntaxe suivante dans une cellule Evnement ou Action :
0EII|CefPef|ce11u1eA), ST|ce11u1e=fa1se, fue, fa1se) )
Pour incrmenter de 1 la valeur de la cellule, utilisez la syntaxe suivante :
0EII|CefPef|ce11u1e), ce11u1e + 1 )
Pour plus dinformations sur la syntaxe de la fonction DEFF, recherchez DEFF,
fonction dans laide en ligne Rfrence du dveloppeur (accessible via ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio.
Exemple dut ilisat ion de commandes de menu cont ext uel
af in de modif ier la gomt rie dune f orme
Les commandes de menu contextuel permettent de contrler la gomtrie dune
forme et, par consquent, de modifier lapparence de la forme. Par exemple, vous
pouvez crer une forme unique reprsentant deux tats : activ ou dsactiv, ouvert
ou ferm, embray ou dsembray. Pour ce faire, crez laide de la commande
Combinaison une forme fusionne contenant plusieurs sections Gomtrie dans la
feuille de calcul ShapeSheet. Dans la section Actions de la forme fusionne, dfinissez
les commandes de menu contextuel contrlant laffichage de la section Gomtrie qui
reprsente un tat. A titre dexemple, la figure suivante indique la manire dont vous
pouvez afficher ou masquer les accoudoirs dune chaise de bureau.
144 CHAP I TRE 7
Vous pouvez dfinir les commandes
de menu contextuel qui
apparaissent lorsque vous cliquez
avec le bouton droit sur la forme
fusionne. Dans cet exemple, le
choix de la commande (A) masque
la gomtrie de lune des formes
composant la forme fusionne.
Pour combiner des f ormes dans une f orme f usionne :
1 Crez les formes utiliser dans votre forme fusionne.
Par exemple, pour crer un fauteuil, dessinez un rectangle ou un ovale pour le
sige, un pour le dossier et un pour chaque accoudoir.
2 Slectionnez les formes du fauteuil. Choisissez Forme > Oprations >
Combinaison.
Vous crez ainsi une forme regroupant les sections Gomtrie de chacune des
formes dorigine. Les sections Gomtrie sont numrotes selon lordre de
slection des formes.
Pour plus dinformations sur la fusion des formes, reportez-vous la section
Cration et contrle des formes fusionnes , page 126.
Pour ajout er une sect ion Act ions la f orme f usionne et df inir des
commandes de menu cont ext uel :
1 Choisissez Fentre > Afficher la feuille ShapeSheet.
2 Choisissez Insertion > Section. Slectionnez Cellules personnalises et Actions,
puis cliquez sur OK.
3 Attribuez un nom la cellule personnalise, par exemple Util.Etat, puis saisissez la
valeur 1.
La valeur initiale TRUE est active : les accoudoirs du fauteuil sont visibles.
4 Slectionnez la premire ligne de la section Actions, puis choisissez Insrer >
Ligne. La section Actions compte ainsi deux lignes.
5 Pour dfinir les noms de commande et les actions correspondantes, saisissez les
formules suivantes :
Acf1oh|1] = 0EII|CefPef|uf11.Efaf)fue)
Mehu|1] = "Aff1che 1es accoudo1s"
Acf1oh|2] = 0EII|CefPef|uf11.Efaf)fa1se)
Mehu|2] = "Masque 1es accoudo1s"
A
AML I ORATI ON DU COMP ORTEMENT DES FORMES 145
6 Dans les deux sections Gomtrie correspondant aux accoudoirs du fauteuil,
saisissez la formule suivante :
Par exemple, si les accoudoirs du fauteuil correspondent aux sections Gomtrie3
et Gomtrie4, saisissez les formules suivantes :
Mode de f onct ionnement des f ormules
La formule de la cellule Action utilise la fonction DEFF pour paramtrer la valeur
Util.Etat sur TRUE lorsque vous slectionnez la commande Afficher les accoudoirs ou
sur FALSE lorsque vous slectionnez la commande Masquer les accoudoirs. La cellule
Menu dfinit ces noms de commande.
Pour masquer ou afficher les chemins, saisissez les formules dans la cellule AucunAff
de la section Gomtrie faisant rfrence la valeur de la cellule Util.Etat. La cellule
AucunAff dtermine si le chemin dfini par cette section Gomtrie est affich ou
masqu. Dans ce cas, les accoudoirs sont tous deux affichs ou masqus. La mme
formule est donc utilise dans les cellules AucunAff des deux sections Gomtrie.
La fonction NON renvoie la valeur TRUE si une expression est FALSE et inversement.
Lorsquun utilisateur choisit Masquer les accoudoirs, Util.Etat est paramtr sur
FALSE. La fonction NON retourne alors TRUE de manire ce que la valeur de la
cellule AucunAff soit TRUE. Le chemin et le remplissage du composant
correspondant sont ainsi masqus.
Comf1eh.hoShoW = h0T|uf11.Efaf)
Comf1e3.hoShoW = h0T|uf11.Efaf)
Comf1e4.hoShoW = h0T|uf11.Efaf)
146 CHAP I TRE 7
Proprit s personnalises
Une forme, quel que soit son degr de complexit, ne reprsente jamais
compltement la ralit. Lobjet rel reprsent par la forme est souvent associ des
donnes essentielles : numros de srie, prix, quantit commande ou quantit en
stock, noms, dates, adresses, numros de tlphone, fabricants, fournisseurs, clients,
dimensions, matriaux, rsistance la tension. Pour amliorer les oprations
danalyse et de communication, il peut tre judicieux de faire figurer ces informations
sur le dessin.
Vous pouvez associer des donnes une forme Visio en dfinissant des proprits
personnalises dans la feuille de calcul ShapeSheet

, ou en utilisant la fentre
Proprits personnalises ou la bote de dialogue Dfinir des proprits
personnalises. Attribuez chaque proprit personnalise un nom unique et
dfinissez au besoin dautres caractristiques, telles que le type de donnes, le format
et la valeur par dfaut.
Cette section traite de lutilisation de formules ShapeSheet pour la dfinition et la
modification de proprits personnalises. Vous pouvez galement utiliser
Automation pour intgrer des informations provenant dautres sources dans vos
dessins Visio. Pour plus dinformations, reportez-vous au chapitre 20, Intgration
de donnes et dune solution Visio .
Ut ilisat ion de proprit s personnalises
Les proprits personnalises vous offrent toute une gamme de possibilits vous
permettant de rendre vos solutions plus labores et plus ralistes. En associant des
donnes votre forme, vous pouvez notamment :
Ajouter des donnes lorsque vous crez une forme. Par exemple, vous pouvez
dfinir des proprits personnalises de rsistance, de tension et dintensit, et
saisir les donnes correspondantes dans des formes de base qui reprsentent les
composants lectroniques. Lorsque lutilisateur insre lune des formes dans un
dessin, les donnes sont galement insres.
Collecter des donnes auprs dun utilisateur. Lapplication Visio peut inviter
lutilisateur dfinir les proprits personnalises dune forme de base chaque
insertion dans un dessin. Lutilisateur fournit ainsi les donnes ncessaires votre
solution. Il peut galement afficher et modifier les proprits personnalises dune
forme partir du menu contextuel.
Afficher des donnes dans le texte dune forme. Vous pouvez insrer un champ
de texte dans le texte dune forme afin dafficher le rsultat dune formule de
proprit personnalise. Un champ de texte peut indiquer une valeur, le rsultat
dune formule ou toute valeur globale fournie par le moteur Visio, par exemple le
rcapitulatif du fichier, ou la date et lheure actuelles.
AML I ORATI ON DU COMP ORTEMENT DES FORMES 147
Parfois les donnes ne sont pas visibles, mais vous prfrerez certainement les afficher
dans un dessin ou modifier le dessin lorsquelles changent. Vous pouvez utiliser les
proprits personnalises dune forme afin deffectuer les oprations suivantes :
Contrler le comportement dune forme. Les proprits personnalises sont
stockes dans des cellules ShapeSheet et peuvent donc entrer en ligne de compte
dans dautres formules. Ainsi, la gomtrie dune forme peut tre lie ses
proprits personnalises, et volue alors selon des donnes saisies par lutilisateur.
Extraire des donnes dun dessin. Vous pouvez extraire des donnes des
proprits personnalises dune forme et les transmettre vers une destination
externe, par exemple vers une feuille de calcul ou vers une base de donnes. Pour
plus dinformations, reportez-vous au chapitre 20, Intgration de donnes et
dune solution Visio .
Transfrer des donnes depuis une source externe. Vous pouvez dfinir des
proprits personnalises afin dutiliser les donnes fournies par une source
externe, par exemple par une feuille de calcul ou par une base de donnes. Pour ce
faire, crivez un programme utilisant Automation pour transmettre le flux de
donnes. Pour plus dinformations, reportez-vous au chapitre 20, Intgration de
donnes et dune solution Visio .
Les proprits personnalises peuvent servir de conteneurs pour les donnes qui
proviennent dune source externe. Elles peuvent aussi fournir une interface de saisie de
donnes pour les formes dun dessin. Vous pouvez dcider de placer simplement les
donnes des proprits dans la forme ou de les faire interagir avec une source externe.
Par exemple, vous pouvez utiliser les proprits personnalises pour mettre jour une
liste de contrle de stock. Vous pouvez crer un gabarit contenant les formes de base
qui reprsentent les pices en stock. Pour chaque forme de base, vous pouvez dfinir
les proprits personnalises Nom, Cot unitaire et Quantit. Vous avez galement la
possibilit dindiquer la valeur de ces proprits lorsque vous crez les formes. Vous
pouvez galement laisser les utilisateurs saisir le nom, le cot et la quantit des pices,
et ventuellement dfinir des messages les invitant le faire.
Proprits personnalises dune
liste de contrle de stock
A Forme munie de proprits personnalises
B La valeur saisie dans ce champ est la valeur de la cellule Prop.Cot.
A
B
148 CHAP I TRE 7
Df init ion des proprit s personnalises
Vous pouvez dfinir une proprit personnalise afin de stocker des donnes
(chane, donnes numriques, boolennes, date/heure, dure, devise, liste fixe ou liste
variable) avec un objet reprsent par une feuille, par exemple une forme, un groupe,
une forme de base, un repre, une page ou un document. Une proprit personnalise
est stocke sous la forme dune ligne ShapeSheet, dont vous pouvez dfinir le nom et
les cellules. Vous pouvez afficher et modifier les proprits laide des commandes de
menu Visio, crer des rapports partir de ces informations ou faire rfrence aux
valeurs des autres cellules ShapeSheet. Les proprits personnalises permettent
dassocier des champs de type base de donnes une forme ou une page.
Pour crer une proprit personnalise contenant les donnes, sans que ces donnes
napparaissent dans la fentre Proprits personnalises, vous pouvez crer une
proprit personnalise qui napparatra pas dans la bote de dialogue Proprits
personnalises en paramtrant la cellule Invisible sur TRUE. La fonction
PROTECTION ne protge pas les donnes de la cellule Valeur dune ligne de
proprit personnalise.
Vous pouvez dfinir les proprits personnalises dune seule forme ou dune page en
ajoutant une section Proprits personnalises sa feuille ou en utilisant la fentre
Proprits personnalises. Lorsque vous modifiez un gabarit, la mthode la plus
efficace consiste dfinir les proprits personnalises de la forme de base du gabarit
de manire ce que chaque occurrence contienne les mmes proprits. Lditeur de
proprits personnalises permet de dfinir des proprits pour un gabarit de base, un
gabarit local ou un gabarit autonome.
La fentre Proprits personnalises permet de connatre en un clin doeil les
proprits associes une page ou la forme slectionne, et fournit une interface
permettant de saisir les nouvelles valeurs de ces proprits.
Vous pouvez attribuer de nouvelles
valeurs aux proprits
personnalises dans la fentre
Proprits personnalises.
AML I ORATI ON DU COMP ORTEMENT DES FORMES 149
Pour ajout er des proprit s personnalises une f orme ou une page
laide de la f ent re Proprit s personnalises :
1 Choisissez Affichage > Fentres > Proprits personnalises afin douvrir la fentre
Proprits personnalises.
2 Slectionnez la forme ou cliquez sur la page laquelle vous souhaitez ajouter des
proprits personnalises. Cliquez ensuite avec le bouton droit dans la fentre
Proprits personnalises et choisissez Dfinir les proprits dans le menu
contextuel.
3 Dans la bote de dialogue Proprits, saisissez les valeurs des champs Libell, Nom
(correspondant au nom de la ligne dans la fentre ShapeSheet), Type, Format,
Valeur, Message d'aide et Cl de tri.
4 Cliquez sur Crer pour ajouter des proprits personnalises, ou sur OK pour
fermer la bote de dialogue et ajouter les proprits personnalises la forme ou
la page.
Pour ajout er des proprit s une f orme ou une page laide de la f ent re
ShapeSheet :
1 Slectionnez une forme ou cliquez dans la page de dessin, puis choisissez Fentre >
Afficher la feuille ShapeSheet.
2 Si la section Proprits personnalises nexiste pas, choisissez Insertion > Section.
Dans la bote de dialogue Insrer une section, slectionnez Proprits
personnalises, puis cliquez sur OK.
3 Dans la section Proprits personnalises de la fentre ShapeSheet, slectionnez le
libell de ligne Prop.Ligne_1 qui apparat en rouge. Dans la barre de formule,
saisissez un nom vocateur.
Par exemple, saisissez Cot_Unitaire pour crer la proprit personnalise
Prop.Cot_Unitaire. Le libell de la ligne correspond au nom de la cellule Valeur
de cette ligne. Utilisez ce nom (par exemple, Prop.Cot_Unitaire) dans les
rfrences de cellule.
4 Dans la cellule Libell, saisissez le libell qui apparat dans la bote de dialogue
Proprits personnalises pour cette proprit.
Par exemple, saisissez Cot par unit. Le moteur Visio place automatiquement
cette chane entre guillemets.
5 Dans la cellule Message, saisissez le texte vocateur ou explicatif qui apparat dans
la bote de dialogue Proprits personnalises lorsque la proprit est slectionne.
Par exemple, saisissez Entrez le cot unitaire de cette pice. Le moteur Visio place
automatiquement cette chane entre guillemets.
150 CHAP I TRE 7
6 Dans les cellules Type et Format, saisissez le type et le format de donnes pour la
valeur de votre proprit personnalise.
Pour plus dinformations, reportez-vous au tableau suivant.
7 Facultatif : paramtrez la cellule Invisible sur un nombre non nul (TRUE) afin
dempcher lapparition de la proprit personnalise dans la bote de dialogue
Proprits personnalises. Paramtrez la cellule Demande sur un nombre non nul
(TRUE) afin dafficher la bote de dialogue Proprits personnalises ds quune
occurrence de la forme est cre.
Pour afficher la proprit personnalise dfinie, slectionnez la forme dans la page
de proprits ou annulez toutes les slections pour afficher les proprits
personnalises de la page. Choisissez ensuite Forme > Proprits personnalises.
Types et formats de proprits personnalises
Type
Formule de la cellule
ShapeSheet Description
Chane Type = 0
Iomaf = "<1mage>"
Paramtre par dfaut. Utilisez un format
image* valide dans la cellule Format (chanes
telles que les paires nombre/unit, les dates,
les heures, etc.).
Liste fixe Type = 1
Iomaf = "E1f 1,E1f Z"
Affiche dans l ordre alphabtique les
lments de liste dans une zone de liste
droulante de la bote de dialogue Proprits
personnalises. I ndiquez les lments de
liste dans la cellule Format. Les utilisateurs
ne peuvent slectionner qu un lment dans
cette liste.
Numrique Type = ?
Iomaf = "<1mage>"
Utilisez un format image* dans la cellule
Format afin d indiquer l unit de mesure et
les autres formats numriques.
Boolen Type = 3 Affiche les lments FALSE et TRUE que les
utilisateurs peuvent slectionner dans une
zone de liste droulante modifiable de la
bote de dialogue Proprits personnalises.
Liste de
variables
Type = 4
Iomaf = "E1f 1,E1f ?"
Affiche les lments de liste dans une zone
de liste droulante modifiable de la bote de
dialogue Proprits personnalises. I ndiquez
les lments de liste dans la cellule Format.
Les utilisateurs peuvent slectionner un
lment de liste ou saisir un nouvel
lment ; les nouveaux lments sont
ajouts la liste.
Date/heure Type = S
Iomaf = "<1mage>"
Utilisez un format image* dans la cellule
Format afin d indiquer les jours, les mois, les
annes, les heures, les minutes, les
secondes, ou tout autre format de date et/ou
d heure.
Dure Type = 6
Iomaf = "<1mage>"
Utilisez un format image* dans la cellule
Format afin d indiquer le temps coul en
heures, jours, semaines, mois, ou dans
d autres formats de dure.
AML I ORATI ON DU COMP ORTEMENT DES FORMES 151
* Par exemple, Format = "# #/10 UU" dfinit le format du nombre 10, 92 cm sous la forme "10 9/10
CENTI M ETRES" ("10" est le dnominateur et l unit apparat sous sa forme dveloppe, en majuscules). Pour
plus de dtails sur les images prsentant un format valide, reportez-vous la section Formatage des chanes
et sortie du texte , page 200. Vous pouvez galement rechercher format, fonction dans l aide en ligne
Rfrence du dveloppeur fournie avec Visio.
Ajout de proprit s personnalises une f orme de base
Vous pouvez ajouter des proprits personnalises des formes de base comme vous
le feriez pour une autre forme. Toutefois, pour modifier simultanment les proprits
personnalises de plusieurs formes, vous pouvez utiliser linterface fournie par
lAssistant de lditeur de proprits personnalises. Vous pouvez choisir de modifier
une partie ou lensemble des formes de base dun gabarit donn, les formes de base de
document du dessin en cours ou celles dun autre dessin.
Pour ajout er des proprit s personnalises une f orme de base :
1 Choisissez Outils > Macros > Editeur de proprits personnalises.
2 Suivez les instructions lcran afin didentifier les formes de base modifier.
Lditeur ajoute la section Proprits personnalises la forme de base
slectionne et utilise les donnes slectionnes comme valeurs des cellules Libell,
Message, etc.
Pour afficher la proprit personnalise dfinie, slectionnez la forme de base dans
le gabarit, puis choisissez Forme > Proprits personnalises.
Et ablissement dune liaison ent re les proprit s
personnalises et une base de donnes
Une fois que vous avez dfini les proprits personnalises dune forme, vous pouvez
tablir une liaison entre ces donnes et une base de donnes. En tablissant des liens
entre des formes et des enregistrements de base de donnes, vous pouvez crer des
dessins Visio qui donnent une reprsentation visuelle des donnes.
Par exemple :
La base de donnes du personnel peut vous permettre de crer des cartes de visite
pour chacun de vos employs.
La base de donnes des spcifications techniques dune pice permet de crer des
formes de base que vos employs pourront utiliser dans leurs dessins.
Vous pouvez lier une base de donnes dinventaire un plan damnagement de
bureau afin deffectuer le suivi du mobilier et des quipements. Si vous supprimez
un fauteuil du plan du bureau, vous supprimez lenregistrement correspondant de
la base de donnes.
Devise Type = 7
Iomaf = "<1mage>"
Utilisez un format image* dans la cellule
Format afin d indiquer des formats de
devise.
Types et formats de proprits personnalises (suite)
Type
Formule de la cellule
ShapeSheet Description
152 CHAP I TRE 7
LAssistant Base de donnes permet dautomatiser ce processus. Dans la section
Proprits personnalises, il lie les valeurs des cellules ShapeSheet une base de
donnes cre dans une application compatible ODBC (Open Database Connectivity)
standard, comme Microsoft

Access 7.0 (ou une version ultrieure), Microsoft

SQL
Server ou Oracle SQL Server. Si vous modifiez la base de donnes, vous pouvez
rafrachir les valeurs des cellules ShapeSheet afin quelles prennent en compte ces
rvisions. Une fois que vous avez li la forme lenregistrement, les informations
peuvent circuler entre votre dessin Visio et la base de donnes. Les deux versions des
donnes sont ainsi synchronises en permanence.
Lorsque lAssistant Base de donnes lie une forme une base de donnes, il ajoute les
sections Proprits personnalises et Cellules personnalises la feuille de la forme.
LAssistant stocke des informations sur la cl primaire de la base de donnes, les
champs de la base de donnes qui sont lis aux cellules ShapeSheet et les dernires
donnes valides extraites de la base de donnes et utilises dans les cellules
personnalises.
Pour excuter cet Assistant, choisissez Outils > Macros > Supplements Visio >
Assistant Bases de donnes. Pour plus dinformations sur les options, cliquez sur le
bouton Plus d'infos dans lAssistant. Vous pouvez galement rechercher Base de
donnes, Assistant dans laide en ligne Rfrence du dveloppeur (accessible via ?
(Aide) > Rfrence du dveloppeur) fournie avec Visio.
Formules dvnement s
De nombreuses mthodes permettent au moteur Visio de dclencher des vnements
ou de rpondre des vnements. Vous pouvez insrer dans les cellules ShapeSheet


des formules qui effectuent une action, par exemple qui excutent une macro ou qui
accdent une autre page de dessin en rponse un vnement. Ces formules peuvent
tre utilises dans la section Evnements qui gre un groupe dvnements
slectionn, ou dans dautres cellules. Vous pouvez galement utiliser la fonction
DEPENDDE afin de simuler dautres vnements dans une section personnalise.
Outre la fonction DEPENDDE, le produit comporte de nombreuses fonctions
intgres de gestion des vnements qui dclenchent des actions.
Le moteur Visio prend galement en charge lutilisation dAutomation pour crire du
code permettant de grer les vnements. A laide dAutomation, vous pouvez
dvelopper des solutions puissantes utilisant des programmes VBA (Microsoft


Visual Basic

pour Applications), des programmes autonomes, ainsi que dautres


approches de gestion des vnements plus avances. Pour plus dinformations,
reportez-vous au chapitre 21, Gestion des vnements dans Visio .
AML I ORATI ON DU COMP ORTEMENT DES FORMES 153
Ut ilisat ion des cellules dans la sect ion Evnement s
Vous pouvez dfinir le mode de rponse dune forme une action utilisateur en
crivant des formules Visio de gestion des vnements. Ds que lutilisateur effectue
lune des quatre actions dcrites dans le tableau ci-dessous, la formule de la cellule
ShapeSheet correspondante est calcule et laction est effectue. La section
Evnements dune fentre ShapeSheet contient les cellules suivantes ; lorsquun
utilisateur effectue lune de ces actions, la formule de la cellule est calcule.
Lorsque vous saisissez des formules dans les cellules de la section Evnements, vous
dterminez la manire dont la forme rpond chaque vnement. Contrairement la
plupart des formules ShapeSheet, les formules dvnement sont calcules au moment
o lvnement intervient, et non lorsque vous saisissez la formule ou que les cellules
auxquelles la formule fait rfrence changent. Par consquent, les cellules Evnements
se comportent quelque peu diffremment des autres cellules ShapeSheet :
La valeur affiche dans une cellule Evnements risque de ne pas tre jour ou de
ne pas correspondre la formule de la cellule. Par exemple, supposons que vous
saisissiez la formule suivante dans la cellule EvnDblClic :
Cette formule renvoie TRUE ou FALSE. Toutefois, la formule est value lorsque
lutilisateur double-clique sur la forme, et non au moment o la forme est
redimensionne. La valeur TRUE de la cellule concerne donc les lments qui
prsentaient cet tat la dernire fois quun utilisateur a double-cliqu sur la forme.
Lordre et le nombre des valuations dun vnement sont imprvisibles. Par
exemple, si une forme est redimensionne, les valeurs LeTexte et EvnXFMod sont
calcules, mais lordre dans lequel ces vnements dclenchent un calcul nest pas
dfini. Toutefois, le moteur Visio calcule chaque cellule au moins une fois dans
lordre de son choix.
Cellules de la section Evnements
Cellule
Evnements Evnement dclenchant la formule
LeTexte
Le texte ou le formatage de la forme a chang, ou le texte doit
tre recr.
EvnXFM od La position, la taille ou l orientation de la forme sur la page a chang.
EvnDblClic Vous avez double-cliqu sur la forme.
CrationEvn Une nouvelle occurrence est cre par collage, duplication ou
glisser-dplacer d une forme, ou par insertion d une forme de base.
LesDonnes Rserv par Visio pour une utilisation ultrieure.
= Lageu > 1 po.
154 CHAP I TRE 7
Simulat ion dvnement s avec la f onct ion DEPENDDE
La fonction DEPENDDE permet de simuler des vnements dans dautres sections
ShapeSheet, par exemple dans la section Montage. Grce elle, vous pouvez rpondre
des vnements qui ne sont pas mentionns dans la section Evnements. Cette fonc-
tion permet galement de mieux contrler la gestion de vos vnements.
Par exemple, si vous insrez la formule suivante dans une cellule Montage, le moteur
Visio ouvre le bloc de texte de la forme ds que la forme est dplace :
Dans cet autre exemple, si vous indiquez la formule suivante dans une cellule Montage,
le programme complmentaire Mon_prog.exe est lanc ds que la forme est retourne :
REMARQUE : la fonction DEPENDDE na aucune incidence lorsquelle est utilise dans
une cellule Evnements ou Action. Pour plus dinformations, recherchez dependde
dans laide en ligne Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
Fonct ions excut ant des act ions
Le moteur Visio comporte des fonctions intgres qui excutent des actions au lieu de
crer une valeur. Ces fonctions sont particulirement utiles dans les formules
dvnements. La liste de fonctions suivante est incomplte. Pour obtenir la liste
exhaustive des fonctions, ainsi que des dtails sur chacune delles, recherchez
fonctions dans laide en ligne Rfrence du dveloppeur (accessible via ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio.
0uvPTPIEhTEXTE|) + 0EPEh00E|AxeX AxeY)
PuhA000h|"mohpog.exe") + 0EPEh00E|PefouhemehfX PefouhemehfY)
Fonctions utiliser dans les formules dvnements
Nom de la fonction Description
APPELEPCE|"pocdue",
|"poef"],|ag1,ag2,.])
Appelle une procdure dans un projet VBA et
transmet cette procdure une rfrence l objet
Forme qui contient la formule APPELER_CE en
cours de calcul, ainsi que les ventuels arguments
dfinis dans cette formule. Par exemple :
APPELEPCE|"Th1s0ocumehf.maPoc",,haufeu,
Lageu)
Vous pouvez galement insrer un code dans la
chane de fonction APPELER_CE. Toutes les
instructions que vous pouvez saisir dans la fentre
Excution de VBA peuvent tre indiques en tant
qu argument APPELER_CE.
AML I ORATI ON DU COMP ORTEMENT DES FORMES 155
ATTETh0PEPACE|"hom0ePage") Affiche la page indique dans la fentre active. Vous
pouvez galement utiliser une URL :
ATTETh0PEPACE|"Page-2")
0EII|CefPef|ce11u1e),
fomu1e)
Lors du calcul, le rsultat de l expression dans la
formule devient la nouvelle formule de la cellule
indique. Si la formule est entre guillemets,
l expression est transmise la cellule. Par exemple :
0EII |CefPef|Mohfage.A1), Mohfage.A1+1)
calcule la formule = M ontage.A1+ 1 et paramtre la
formule de la cellule M ontage.A1 sur le rsultat
(valeur prcdente incrmente de 1).
EMETTPES0h|"homI1ch"|"a11as",
esfA11as, b1p, syhch)
Si vous utilisez un systme dot d une carte son,
vous pouvez lire le son enregistr dans
N om D uFichierou lire l alias systme d un son si
est_alias est un nombre non nul. Si le son ne peut
pas tre excut, l application Visio met un bip
signalant une erreur. Les sons peuvent tre lus de
manire synchronise ou non synchronise.
Par exemple :
PLAYS0uh0 |"chod.Wav", 0, 0, 0)
lit le fichier audio CHO RD.wav en mode synchrone
sans bip d avertissement.
0uvPTPIEhIEuTLLE O uvre et affiche une fentre ShapeSheet identifiant
la forme qui contient cette formule.
0uvPTPIEhTEXTE|) O uvre le bloc de test de la forme contenant cette
formule. I l s agit de la formule par dfaut de la
cellule EvnDblClic des formes.
0uvPTPITChTEP|"hom0uI1ch1e") O uvre un fichier dans une nouvelle fentre. Si vous
indiquez plusieurs fichiers, les requtes sont mises
en file d attente et excutes selon l ordre de calcul.
Le document actif est le dernier avoir t nomm.
Si le document Visio actuel est activ en vue d une
modification visuelle, une nouvelle occurrence de
Visio est lance et affiche le fichier demand.
uhaddoh|"cha1he") Lance la macro indique ou le programme
complmentaire.
uhaddohWAPCS|"homPogComp1m
ehfa1e", "agumehf")
Lance un programme complmentaire auquel elle
transmet la chane d argument indique.
Fonctions utiliser dans les formules dvnements (suite)
Nom de la fonction Description
156 CHAP I TRE 7
Remarques concernant les perf ormances des f ormules
dvnement
Comme les formules dvnements sont calcules chaque fois que lvnement se
produit, elles ont une incidence sur lutilisation et les performances de vos formes.
Suivez les instructions gnrales ci-dessous.
Utilisez les formules dvnement avec parcimonie. Evitez dutiliser des formules
pour les vnements frquents, tels que le dplacement ou le redimensionnement
de la forme (EvnXFMod), ou la modification de son texte (LeTexte). La gestion
de ces vnements risque dinterrompre le travail de lutilisateur et de rendre les
formes difficilement utilisables.
Faites en sorte que vos formules dvnement soient aussi simples que possible.
Le calcul dune formule complexe est long, ce qui diminue les performances de
la forme.
Noubliez pas que certaines actions peuvent durer plus longtemps que dautres.
Mme une formule dvnement simple peut dclencher une action longue.
Par exemple, le lancement dun programme complmentaire autonome peut
prendre plus de temps que lexcution dune macro ou que laccs une page Web
ou une autre page du mme document Visio.
Sommaire
8
Liaison des f ormes :
f ormes 1D et collage
Une forme doit-elle se comporter comme une bote ou comme un trait ? Cette
question est lune des premires que vous devez vous poser lorsque vous concevez une
forme. Une forme se comportant comme une bote (cest--dire une forme 2D) peut
subir un tirement vertical ou horizontal. Vous pouvez tirer et faire pivoter en une
seule opration une forme qui se comporte comme un trait (cest--dire une forme
1D). Une forme 1D permet en outre de joindre plusieurs formes (elle porte alors
gnralement le nom de lien). Lattribut collage permet au lien de rester connect
une autre forme. Dans Microsoft

Visio

2000, vous pouvez coller les formes 1D et 2D


dautres formes.
Ce chapitre explique la diffrence entre les formes 1D et 2D, et dcrit le mode de
cration des diffrents types de forme 1D. Il explique galement le mode dutilisation
du collage pour maintenir les formes jointes les unes aux autres.
Prsentation des formes 1D et 2D........................................................................ 158
Cration de liens 1D repositionnables et dautres types de lien........................ 161
Contrle du mode de connexion des formes ...................................................... 169
158 CHAP I TRE 8
Prsent at ion des f ormes 1D et 2D
Prfrez une forme 1D si la taille ou la longueur du trait est moins importante que la
liaison opre par la forme. Les formes 1D sont souvent utilises pour lier dautres
formes et sont alors appeles liens. Dans un diagramme de flux, un schma
lectronique ou une illustration de mcanique, par exemple, les formes 1D servent
souvent lier dautres composants. Elles ne constituent cependant pas toutes des
liens. Certaines, comme les lgendes ou les traits de dimension, tiennent lieu de lignes
ou, dans le cas des secteurs dun graphique secteurs, elles sont tout simplement plus
faciles utiliser.
La plupart des formes que vous crez sont initialement en deux dimensions. Leur
cadre largeur/hauteur comporte huit poignes de redimensionnement. Toutefois,
lorsque vous tracez un arc de cercle ou une ligne, vous obtenez une forme 1D dont les
points de dpart et de fin sont reprsents par des poignes permettant dajuster la
hauteur. Les formes 1D et 2D diffrent non seulement par leur apparence, mais aussi
par leur comportement sur la page de dessin.
Poignes de slection sur les
formes 1D et 2D
Lorsquun utilisateur insre une forme 1D dans la page de dessin, le rectangle de
slection correspondant apparat sous la forme dune ligne droite et non dune bote
comme dans le cas des formes 2D. Lalignement des formes, par exemple, une forme
de mur 1D dans un plan damnagement, est ainsi facilit.
Deux des poignes associes aux formes 1D ont une fonction spciale. Le sommet de
dbut correspond au point de dpart et la poigne associe lextrmit du trait
correspond au point de fin.
Vous pouvez coller le point de dpart ou de fin dune forme 1D un repre, un
point de repre, un point de connexion, un sommet ou une poigne. Lorsque
vous collez une extrmit, lautre reste ancre sur la page et la forme 1D stire lorsque
lextrmit colle suit le dplacement de la forme laquelle elle est lie.
A Forme 1D
B Point de dpart
C Point de fin
D Forme 2D convertie 1D E Forme 2D
B C
A D E
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 159
Conversion des f ormes 1D et 2D
Il est possible de convertir une forme 2D en forme 1D et vice versa : une forme ayant
lapparence dune bote peut donc se comporter comme un trait. Une telle conversion
a des rpercussions importantes sur laffichage des sections dans la fentre Feuille
ShapeSheet

de la forme.
Pour crer une forme 1D, il est souvent plus simple de tracer une forme 2D
approximativement, de la convertir en forme 1D, puis dajuster les sommets et de
dfinir des formules personnalises. Pour gagner du temps et limiter les efforts, tracez
la forme initiale horizontalement (cest--dire en faisant glisser le curseur de gauche
droite ou de droite gauche, selon la direction que la ligne doit suivre). Microsoft


Visio

place les points de fin 1D sur les cts gauche et droit de la forme trace. Une
forme trace sur un plan horizontal est plus proche du rsultat recherch aprs la
conversion en forme 1D.
La section Points de fin 1D de la fentre Feuille ShapeSheet constitue une diffrence
essentielle qui caractrise les formes 1D. Une forme 2D ne comporte pas cette section.
La conversion dune forme 2D en forme 1D ajoute cette section la fentre Feuille
ShapeSheet, ainsi que des formules par dfaut. En revanche, la conversion dune
forme 1D en forme 2D provoque la suppression de cette section, quelle que soit la
protection dfinie (y compris les fonctions PROTECTION).
Lorsque vous convertissez une forme 2D en forme 1D, la section Alignement est
supprime, et les formules des cellules Largeur, Angle, AxeX et AxeY de la section
Transformation de la forme sont remplaces par des formules 1D par dfaut. Bien que
la conversion dune forme nait aucune incidence sur les points de connexion, les
liaisons avec dautres formes ou repres sont supprimes.
Pour convert ir une f orme 1D en f orme 2D :
1 Slectionnez une forme.
2 Choisissez Format > Comportement.
3 Dans la zone Style d'interaction, slectionnez Trait (1D) pour dfinir une forme
1D ou Bote (2D) pour dfinir une forme 2D.
4 Cliquez sur OK.
Visio modifie la forme et ajuste le rectangle de slection en fonction du
comportement slectionn.
160 CHAP I TRE 8
Galerie de f ormes 1D
Des formules personnalises permettant de gnrer un comportement intelligent sont
associes aux formes 1D illustres la figure suivante.
Exemples de formes 1D
Par exemple :
Les formules du lien S permettent de garantir la position du lien. Lors du
dplacement des points de fin de la forme, celle-ci est redimensionne par
tirement des segments horizontaux et verticaux de faon rester dans la
mme position.
Les formules de la forme de vanne dformable permettent de la redimensionner en
fonction de la hauteur. Lorsquun utilisateur dplace un point de fin, le trait est
tir alors que les dtails au centre conservent la mme taille. En revanche, si un
utilisateur augmente la hauteur de la forme, les dtails du milieu sont
redimensionns de faon proportionnelle alors que le trait reste inchang.
La forme Flche de la figure prcdente peut aussi correspondre une forme 2D. Pour
dterminer si cette forme doit se comporter comme un trait ou une bote, vous devez
dfinir son utilisation : si la flche a t conue pour pointer vers la gauche ou vers la
droite, ou vers le haut ou vers le bas uniquement, il est plus facile de positionner la
forme 2D verticalement ou horizontalement. Par ailleurs, il est impossible de faire
pivoter les formes 2D sans avoir recours loutil Rotation, alors que langle dune
forme 1D peut facilement tre modifi par inadvertance en dplaant lun des points
de fin. Toutefois, seules les flches 1D ou celles comportant un point de connexion
vers lextrieur peuvent tre lies dautres formes par le biais de linterface utilisateur
de Visio (et non la phase de dveloppement). Pour plus dinformations sur les
points de connexion vers lextrieur, reportez-vous Prsentation des points de
connexion , page 171. Pour plus dinformations sur la liaison de formes lors du
dveloppement, reportez-vous au chapitre 19, Automatisation des connexions
dune solution Visio .
A Trait de dimension vertical
B Lien S
C Flche
D Goutte--goutte
E Vanne dformable
F Mur
G Secteur
H Bus
25%
A B
C
D
E
F G
1

1
/
8
"
H
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 161
Les formes 1D ne ncessitent pas toutes des formules spciales. Pendant son
dplacement, une forme 1D prend lapparence dun trait, ce qui rend son
positionnement plus rapide dans un dessin. Pensez utiliser des formes 1D toutes les
fois que vous souhaitez crer des formes de base que les utilisateurs seront amens
aligner avec prcision dans un dessin. Par exemple, le positionnement prcis dune
lgende ou dune annotation sera facilit si lutilisateur peut visualiser avec exactitude
o pointe le trait.
Crat ion de liens 1D reposit ionnables et daut res t ypes de lien
Lors de la conception de solutions de diagrammes comportant des liaisons, vous
pouvez soit utiliser les outils Lien intgrs dans Visio, soit crer vos propres liens.
Loutil Lien dynamique, la commande Lier les formes et la forme Lien dynamique
gnrent des liens repositionnables entre des formes positionnables. Un lien
repositionnable est une forme 1D qui contourne dautres formes sur la page de dessin
au lieu de les traverser. Une forme positionnable est une forme 2D avec laquelle
fonctionne le lien repositionnable. La faon dont ragit Visio aux changements tels que
lajout, la suppression, le redimensionnement et le repositionnement des formes varie
selon que les formes du dessin sont positionnables ou repositionnables. Pour rpondre
ces modifications, Visio repositionne automatiquement les formes positionnables et
repositionnables.
Les liens repositionnables permettent aux utilisateurs de raliser un important gain de
temps lors de la rvision de diagrammes avec liaisons complexes. Dans certains cas,
vous pouvez cependant prfrer un lien au comportement plus prvisible, qui ne se
repositionne pas de faon automatique. Par exemple, si un type de dessin ncessite
des liens formant toujours un angle de 90 degrs, ou raccordant des formes laide
dun arc de cercle ou dune courbe spline, vous pouvez crer votre propre lien 1D non
repositionnable.
162 CHAP I TRE 8
Crat ion de liens reposit ionnables
Vous pouvez crer un lien repositionnable partir de tous les traits 1D en
paramtrant sur 2 la valeur de la cellule TypObj de la section Divers. Le tableau
suivant rpertorie les valeurs possibles de la cellule TypeObj.
Par dfaut, lorsque vous crez une forme 2D, Visio paramtre TypeObj sur Pas de
formule, ce qui revient 0 et signifie que lapplication dtermine si la forme peut tre
positionnable en fonction de son contexte. Par exemple, si vous tracez un rectangle
simple, la valeur par dfaut de la cellule TypeObj est 0. Si vous raccordez ensuite ce
rectangle une autre forme laide de la commande Lier les formes ou de loutil Lien
dynamique, Visio dcide que ce rectangle peut tre positionnable et attribue la
valeur 1 (positionnable) la cellule TypeObj correspondante. Vous pouvez galement
crer une forme 1D positionnable (via la fentre ShapeSheet

uniquement), utile
lorsquune forme ne constituant pas un lien est utilise dans un dessin avec mise en
page automatique. Le paramtrage dune forme 2D en tant que forme repositionnable
na toutefois aucune incidence sur son comportement.
Si vous crez des formes qui ne doivent pas fonctionner avec des liens
repositionnables, paramtrez la cellule TypeObj sur 4. Les liens peuvent tre colls
aux points de connexion de la forme, mais la forme non positionnable est ignore
dans un diagramme contenant des liens positionnables et repositionnables
(cest--dire que ces derniers se comportent comme si la forme nexistait pas).
Pour contrler le chemin emprunt par un lien repositionnable, dfinissez son
comportement (correspondant la valeur de la cellule StylePositionForme de la
section Mise en page des formes). Par dfaut, la valeur de cette cellule est Pas de
formule, ce qui revient 0 et signifie que le lien utilise le comportement dfini pour
la page.
La commande Outils > Mettre en page les formes permet de dfinir plusieurs types de
comportement pour les formes slectionnes ou pour la page par combinaison de
plusieurs styles de lien avec des directions diverses. Vous pouvez galement
dterminer le comportement dune forme ou de la page en paramtrant les cellules
Feuille ShapeSheet suivantes :
Valeurs de la cellule TypeObj dune forme
Valeur Signification
0 Visio dcide si la forme est positionnable ou repositionnable en fonction du
contexte du dessin.
1 Positionnable
2 Repositionnable
4 Non positionnable, ni repositionnable
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 163
Par exemple, en paramtrant la valeur de la cellule StylePositionForme dun lien
sur 7, vous crez un lien repositionnable qui gnre toujours une arborescence
avec une orientation haut-bas (comme si vous slectionniez Diagramme de flux/
arborescence dans la liste Style et De haut en bas dans la liste Direction, dans la
zone Placement de la bote de dialogue Mettre en page les formes).
Pour que ce comportement soit celui par dfaut de la page, attribuez la valeur 7
la cellule StylePosition de la section Mise en page de la page (ou slectionnez Page
en cours dans la zone Appliquer de la bote de dialogue Mettre en page
les formes).
Pour plus dinformations sur les autres paramtres des cellules StylePositionForme et
StylePosition, recherchez les noms laide de ces cellules dans laide en ligne
Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur)
fournie avec Visio.
Lorsque vous crez un modle de diagramme liens repositionnables et formes
positionnables, vous pouvez personnaliser les valeurs par dfaut que Visio utilise pour
router et positionner les formes. La commande Outils > Mettre en page les formes
permet de dfinir les valeurs par dfaut de la page. Les utilisateurs peuvent ne pas
prendre en compte les paramtres de la page et modifier les formes qui sy trouvent ;
toutefois, lorsquils crent ou ajoutent des formes positionnables, les paramtres de la
page sont utiliss par dfaut.
Pour plus dinformations sur la cration de diagrammes qui utilisent les liens
repositionnables et des formes positionnables, effectuez une recherche laide des
mots mise en page automatique dans laide en ligne fournie avec Visio.
Aut res exemples de crat ion de liens 1D
Lorsquune solution requiert un lien dont le comportement puisse tre contrl
laide dun programme, vous pouvez crer un lien qui nest pas affect par le routage
automatique. Des formules permettent de contrler le mode dtirement dun lien
entre son point de dpart et celui de fin.
164 CHAP I TRE 8
Crat ion dun lien avec angle
La figure suivante illustre un lien avec angle comportant deux angles droits (pratique
pour crer des diagrammes hirarchiques tels que des organigrammes). Les formules
personnalises pour ce lien sont prsentes ici pour dmontrer le type de formule
ncessaire au contrle des formes 1D. Dautres liens 1D sont disponibles dans le
gabarit Liens (accessible via Fichier > Ouvrir un gabarit > Supplments Visio >
Liens).
Les quatre types de courbure dun
lien avec angle en cas de
dplacement
A DpartY <= FinY
B DpartX > FinX
C DpartX <= FinX
D DpartY > FinY
E Le lien suit toujours une courbure (verticale) de 0,25 po. par rapport au point de dpart.
Avec deux coudes placs en son milieu, le lien avec angle dispose de deux sommets
ncessitant des formules personnalises. Pour calculer les coordonnes du premier
sommet aprs le point de dpart, noubliez pas que la coordonne x est identique la
valeur du point de dpart. La coordonne y est gale 0,25 po. si la forme est trace de
bas en haut. Si, en revanche, elle est trace partir du haut, y se calcule de la manire
suivante :
La valeur x du sommet suivant est identique celle de la dernire ligne TraitVers qui
dfinit le point de fin de la forme, et, par consquent, qui correspond toujours la
valeur Largeur ou 0. Sa valeur y est identique celle du sommet prcdent.
= haufeu - 0,2S po.
A B
C D
E
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 165
Pour crer un lien avec angle :
1 Slectionnez loutil Trait et tracez une ligne droite 1D de la gauche vers la droite.
2 Choisissez Fentre > Afficher la feuille ShapeSheet.
3 Saisissez les formules suivantes dans la section Transformation de la forme :
4 Choisissez Insertion > Section, puis cochez Cellules personnalises.
5 Dans la section Cellules personnalises, saisissez le nom de la cellule, tel que
Dpl_y, puis saisissez 0,25 po. dans la cellule Valeur.
6 Slectionnez la dernire ligne de la section Gomtrie, puis choisissez Insertion >
Ligne aprs. Rptez cette opration pour ajouter deux lignes.
Chaque ligne correspond un sommet de la forme.
7 Dans la section Gomtrie, saisissez les formules rpertories dans le tableau
suivant.
8 Dans la section Protection, paramtrez sur 1 les cellules VerrHauteur et
VerrModifVtx.
Le paramtrage de la cellule VerrModifVtx permet de protger les formules de
gomtrie en empchant les utilisateurs de modifier les sommets de la forme.
Le paramtrage de la cellule VerrHauteur permet de protger la formule relative
la hauteur et supprime les poignes superflues en haut et en bas des liens.
9 Faites glisser le point de dpart ou de fin du lien sur la page de dessin pour voir
langle et le dcalage.
Pour permettre aux utilisateurs de modifier la position du coude du lien avec angle en
dplaant une poigne de contrle, associez Util.Dpl_y la poigne et verrouillez sa
position x de sorte quelle puisse uniquement tre dplace dans la direction y.
Lageu = PP0TECTT0h|AS|I1hX - 0pafX))
haufeu = PP0TECTT0h|AS|I1hY - 0pafY))
Ahg1e = PP0TECTT0h|0 deg.)
Formules personnalises pour un lien avec angle
Ligne X Y
Dpart = ST{0patX <= I1nX, 0,Lageu) = ST{0patY <= I1nY,0,hauteu)
TraitVers = Comt1e1.X1 = ST{0patY <=I1nY,ut1T.0pTy,
hauteu - ut1T.0pTy)
TraitVers = Comt1e1.X4 = Comt1e1.Y2
TraitVers = ST{0patX <= I1nX, Lageu,0) = ST{0patY <= I1nY,hauteu,0)
166 CHAP I TRE 8
CONSEIL : lAssistant SmartShape permet dajouter un lien une forme. Vous obtenez
ainsi un groupe compos de la forme dorigine et dun trait comportant une poigne de
contrle que vous pouvez coller une autre forme. Par exemple, vous pouvez ajouter un
lien une forme ne comportant que du texte, puis le coller une pice que vous souhaitez
annoter dans un dessin.
Lutilisation de cet Assistant permet de crer des liens intgrs qui se connectent de
diffrentes faons, par exemple, du haut vers le bas, ct vers ct, etc. Pour lancer
lAssistant, choisissez Outils > Macros > Supplments Visio > Assistant SmartShape.
LAssistant SmartShape nest pas automatiquement install avec Visio. Sil nest pas
rpertori dans le chemin Outils > Macros > Supplments Visio, installez-le partir du
CD-ROM Visio. Pour installer lAssistant, excutez de nouveau le programme
dinstallation de Visio en vous assurant que vous avez slectionn loption dinstallation
de cet Assistant.
Crat ion dune f orme 1D en f onct ion de la haut eur
Certaines formes, telles que la forme 1D de canalisation et vanne illustre la figure
suivante, peuvent tre tires entre deux points de faon lier dautres formes. Vous
pouvez crer ce type de forme 1D en tant que forme unique compose de plusieurs
lments de gomtrie ayant des comportements de redimensionnement diffrents.
Les points de fin dune forme 1D contrlent sa largeur. Lorsquun utilisateur fait
glisser un point de fin dune forme de canalisation et vanne, ltirement porte
uniquement sur le composant trait. Lorsquil fait glisser une poigne suprieure ou
infrieure, seule la vanne est redimensionne, mais elle conserve ses proportions.
Formules par dfaut et formules en
fonction de la hauteur pour une
forme de canalisation et vanne
A Canalisation
B Vanne
C Si vous utilisez les formules par dfaut, la forme de vanne est dforme, quelle que soit la
direction de ltirement.
D Si vous utilisez les formules en fonction de la hauteur, ltirement horizontal porte uniquement sur
la longueur de la canalisation.
E Si vous utilisez les formules en fonction de la hauteur, la taille de la vanne change de faon
proportionnelle en cas dtirement vertical.
A
B
C D
E
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 167
Pour tirer ou rduire une forme de vanne, dfinissez sa largeur par rapport sa
hauteur laide dune formule reposant sur la hauteur. Pour crer ce lien en tant que
forme unique, dessinez deux segments de droite chaque extrmit de la forme
Vanne, puis slectionnez Forme > Oprations > Combinaison.
Pour conserver les proportions de la vanne lors du redimensionnement de la forme,
dfinissez les coordonnes x de ses sommets en fonction du centre et de la hauteur de
la forme, comme lindique la figure suivante. Cela permet en outre la vanne de rester
centre dans le cadre largeur/hauteur. Cette approche ncessite la dfinition de
formules dans la cellule X de la section Gomtrie.
Formule reposant sur la hauteur
pour une forme 1D compose de
plusieurs lments de gomtrie
A Largeur * 0,5 - Hauteur * 1
B Largeur * 0,5
C Largeur * 0,5 + Hauteur * 1
D Hauteur
E Largeur
Pour crer cet t e f orme de sort e que les lignes Gomt rie correspondent
t oujours aux chif f res et aux t ableaux suivant s :
1 Slectionnez loutil Trait et tracez un trait de gauche droite pour former le
segment gauche de la canalisation.
2 Avec loutil Trait, tracez la vanne, en commenant au point 1 de la figure
prcdente.
3 Avec loutil Trait, tracez le segment droit de la canalisation, de gauche droite.
4 Slectionnez les formes dans lordre suivant : vanne, trait de gauche et segment
de droite.
5 Choisissez Forme > Oprations > Combinaison.
6 Choisissez Format > Comportement.
7 Cochez loption Trait (1D), puis cliquez sur OK.
168 CHAP I TRE 8
Pour contrler le composant vanne de la forme, ouvrez la fentre Feuille ShapeSheet
associe la forme combine et saisissez les formules rpertories ci-dessous dans la
section Gomtrie1.
Pour contrler le point de jonction du segment gauche de la canalisation et de la
vanne (point 6 de la figure prcdente), saisissez la formule suivante :
Pour contrler le point de jonction du segment droit de la canalisation et de la vanne
(point 7 de la figure prcdente), saisissez la formule suivante :
CONSEIL : lorsque vous tracez des formes 1D telles que la forme de canalisation et vanne,
il est souvent ncessaire de dessiner plusieurs formes que, par la suite, vous regroupez ou
combinez. La commande Combinaison permet dobtenir de meilleurs rsultats. Si aucun
des composants ne doit tre slectionn indpendamment, il est inutile de grouper les
lments, ce qui gnre une feuille de groupe. Vous devez toutefois vous assurer que les
points de fin de la forme 1D cre sont positionns correctement.
Visio place toujours le point de dpart gauche de la forme 1D et son point de fin droite.
Si vous dessinez une forme du haut vers le bas et que vous la convertissiez ensuite en forme
1D, les points de fin risquent de ne pas tre correctement positionns. Tracez donc les
diffrents composants de la gauche vers la droite.
Il est dconseill dajouter des formules personnalises aux formes des composants avant
de combiner ces formes car la commande Combinaison les supprime.
Formules personnalises dans la section Gomtrie1 de la forme canalisation
et vanne
Ligne X Y
0p1aceves = Lageu " 0,S - haufeu " 1 = haufeu " 1
Ta1fves = Comf1e1.X1 = haufeu " 0
Ta1fves = Lageu " 0,S + haufeu " 1 = haufeu " 1
Ta1fves = Comf1e1.X3 = haufeu " 0
Ta1fves = Comf1e1.X1 = Comf1e1.Y1
Comf1e2.X2= Comf1e1.X1
Comf1e3.X1= Comf1e1.X3
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 169
Cont rle du mode de connexion des f ormes
Le comportement qui permet la connexion dune partie dune forme une autre
forme est appele collage. La dfinition dun point de connexion permet dindiquer la
partie dune forme laquelle une autre forme peut tre colle.
Vous pouvez coller les points de fin dune forme 1D ou un point de connexion vers
lextrieur sur une forme 2D, un repre, un point de repre, un sommet de forme, une
poigne de slection ou un point de connexion (vers lintrieur ou vers lintrieur/
lextrieur). Visio cre automatiquement un point de connexion vers lintrieur sur
une forme lorsquune autre forme est colle ses sommets ou ses poignes.
Lorsquun point de fin dune forme 1D est coll une autre forme, il reste attach
lorsque vous dplacez cette dernire ; paralllement, la forme 1D dont le point de fin
non coll est ancr sur la page est tire. Lorsquune forme 2D est colle une autre
forme et que vous dplacez cette dernire, la forme 2D suit son mouvement.
Df init ion du comport ement de collage dun lien
Vous pouvez associer un comportement de collage point point ou forme forme un
lien 1D :
Lorsque le point de fin dune forme 1D est fix un point de connexion donn, il
sagit dun collage point point : la liaison sopre toujours entre les deux mmes
points, indpendamment du dplacement de la forme. Par dfaut, les formes
traces ou toutes les formes non positionnables ou repositionnables ont un
comportement de collage point point.
En revanche, si le point de fin de la forme 1D passe dun point de connexion
lautre pour optimiser la visibilit de la liaison lors du dplacement de la dernire
forme, il sagit de collage forme forme. Ce dernier est utilis par les liens
repositionnables colls aux formes positionnables : il permet de lier deux formes
par la voie la plus courte, ce qui simplifie le dessin.
Lorsque vous crez un lien, vous pouvez faire en sorte quil utilise le collage forme
forme pour permettre aux points de fin de se dplacer dun point de connexion
lautre lorsquun utilisateur dplace les formes auxquelles il est coll. Visio redessine le
lien pour quil lie les formes au niveau des deux points de connexion les plus
rapprochs. Toutefois, pour activer le collage forme forme, les utilisateurs doivent
170 CHAP I TRE 8
appuyer sur la touche Ctrl lorsquils font glisser le lien vers une forme non
positionnable. Sinon, le lien utilise le collage point point. Dans ce dernier cas, les
symboles de point de dpart ( ) ou de fin ( ) par dfaut associs la poigne de
slection du lien apparaissent en rouge fonc. Si le point de fin utilise le collage forme
forme, sa poigne de slection est rouge uni.
Un lien dfini pour le collage forme
forme permet dtablir une
connexion par collage point point
ou forme forme.
Pour df inir un collage f orme f orme ou point point pour un lien :
1 Slectionnez une forme, puis choisissez Fentre > Afficher la feuille ShapeSheet.
2 Si la section Infos sur le collage napparat pas, choisissez Affichage > Sections.
Dans la bote de dialogue Sections, cochez loption Infos sur le collage, puis cliquez
sur OK.
3 Dans la section Infos sur le collage, saisissez 0 dans la cellule AttacheType pour
choisir le collage point point, ou 3 pour slectionner le collage forme forme.
Par dfaut, le collage forme forme tablit la connexion suivant la voie la plus courte
entre deux points de connexion ou poignes de slection du milieu de la forme. Vous
pouvez indiquer si vous prfrez quune forme utilisant le collage forme forme passe
par le point de connexion situ en haut, en bas ou sur un ct lorsque le point de fin
coll est dplac. Pour ce faire, paramtrez la cellule LienInscable de la section Infos
sur le collage. Les liens repositionnables passent outre au paramtrage de la cellule
LienInscable ; leur comportement de routage est contrl par la valeur de la cellule
StylePositionForme. Pour plus dinformations sur les paramtres de la cellule
LienInscable, recherchez WalkPreference dans laide en ligne Rfrence du
dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
REMARQUE : lorsquun utilisateur colle un lien 1D une autre forme laide du collage
forme forme, Visio gnre une formule qui fait rfrence la cellule EvnXFMod de
lautre forme. Lorsque cette dernire est modifie, Visio recalcule toutes les formules qui
font rfrence la cellule EvnXFMod, notamment celles des cellules DbAction et
FinAction. Ces deux cellules contiennent des formules gnres par Visio pour une forme
1D colle dautres formes. Dautres formules associes au lien 1D font rfrence aux
cellules DbAction et FinAction, et dplacent les points de dpart ou de fin du lien ou en
changent la forme selon les besoins.
A Faites glisser un point de fin pour tablir une
connexion avec collage point point.
B Appuyez sur la touche Ctrl et faites
glisser un point de fin pour tablir une
connexion avec collage forme forme.
A B
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 171
Prcision des lment s pouvant t re colls
La bote de dialogue Magntisme et collage permet de dfinir les emplacements dune
forme auxquels une autre forme peut tre colle sur une page. Par exemple, la plupart
des modles Visio permettent aux utilisateurs de coller les formes 1D aux repres, aux
points de repre et aux points de connexion uniquement. Choisissez Outils >
Magntisme et collage et cochez les options Coller supplmentaires correspondant
au dessin ou modle.
Les formes 2D sont gnralement lies entre elles par des formes 1D, mais elles
peuvent galement tre lies par les lments suivants :
lintgralit dun ct dune forme un repre ou un point de repre ;
un bord du rectangle de slection un repre ;
une poigne de slection un point de repre ;
une poigne de contrle un point de connexion ;
un point de connexion vers lextrieur ou vers lintrieur/lextrieur un point de
connexion vers lintrieur ou vers lintrieur/lextrieur dune autre forme.
Prsent at ion des point s de connexion
Lors de la conception dune forme, vous devez lui associer des points de connexion
pour dfinir les emplacements permettant le collage. Lorsque vous crez des formes
de base, pensez aux points dont les utilisateurs auront vraisemblablement le plus
besoin pour le collage. Evitez par ailleurs de crer des points supplmentaires qui
pourraient nuire lefficacit du comportement de la forme.
Le type dun point de connexion a une incidence sur le collage dautres formes ce
point ou sur le collage de la forme dote de ce point de connexion dautres formes :
Dautres formes peuvent tre colles un point de connexion vers lintrieur. Les
points de connexion vers lintrieur se comportent comme les points de connexion
des versions Visio antrieures Visio 2000. Un point de connexion vers lintrieur
attire, dune part, les points de fin des formes 1D et, dautre part, les points de
connexion vers lextrieur ou vers lintrieur/lextrieur des autres formes. Les
diagrammes tels que les diagrammes de flux et les organigrammes, composs de
formes 2D et de liens 1D, ncessitent uniquement des points de connexion vers
lintrieur associs aux formes 2D.
Une forme dote dun point de connexion vers lextrieur peut tre colle une
autre forme. Un point de connexion vers lextrieur est attir par les points de
connexion vers lintrieur et vers lintrieur/lextrieur dautres formes. Les
diagrammes dagencement despace et les diagrammes CAO composs
essentiellement de formes 2D peuvent bnficier des avantages des points de
connexion vers lextrieur.
172 CHAP I TRE 8
Un point de connexion vers lintrieur/lextrieur se comporte comme un point de
connexion vers lintrieur lorsque vous lui collez le point de fin dune forme 1D ou
une forme avec un point de connexion vers lextrieur. Il se comporte comme un
point de connexion vers lextrieur lorsque vous le collez une autre forme. Les
points de connexion vers lintrieur/lextrieur sont pratiques pour les formes qui
peuvent tre colles ensemble sans contrainte dordre. Par exemple, si les formes
de segment de mur possdent un point de connexion vers lintrieur/lextrieur
chaque extrmit, lune ou lautre des extrmits dune des formes de segment
peut tre colle lune ou lautre extrmit dune autre forme de segment de mur,
lordre nayant aucune importance. Si une forme de ce type possde un point de
connexion vers lextrieur une extrmit et un point de connexion vers
lintrieur lautre, vous tes tenu de coller une extrmit vers lextrieur une
extrmit vers lintrieur, ce qui rduit les possibilits.
REMARQUE : Visio 2000 importe les points de connexion crs dans des versions
prcdentes des programmes Visio en tant que points de connexion vers lintrieur sans
direction prtablie. Toutes les formules Montage figurant dans les cellules A, B, C et D de
ces lignes sont importes sans subir de modification.
La figure suivante illustre une forme de carreau de carrelage dote de trois points
de connexion.
Forme de carreau de carrelage
dote de points de connexion vers
lintrieur, vers lextrieur et vers
lintrieur/lextrieur
A Point de connexion vers lextrieur
B Point de connexion vers lintrieur/lextrieur
C Point de connexion vers lintrieur
D Un point de connexion vers lintrieur/lextrieur est attir par le point de connexion vers
lintrieur ou vers lintrieur/lextrieur le plus proche.
Pour coller un point de connexion vers lextrieur un point de connexion vers
lintrieur/lextrieur, cochez loption Points de connexion dans la section Coller de
la bote de dialogue Magntisme et collage sur le systme de lutilisateur. Lorsquun
utilisateur fait glisser une forme dote de points de connexion vers lextrieur ou vers
lintrieur/lextrieur, la forme est attire par le point de connexion vers lintrieur ou
vers lintrieur/lextrieur le plus proche. Si une forme comporte plusieurs points de
connexion vers lextrieur, Visio attire le point de connexion le plus proche du
pointeur de la souris.
A C
B
D
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 173
Un point de connexion peut possder une direction, ou vecteur, qui dtermine si les
formes pivotent lorsquelles sont colles ensemble. A lorigine, si un point de
connexion est plac sur les lments de gomtrie dune forme, son vecteur est
perpendiculaire au segment sur lequel le point de connexion est plac. Sinon, le point
de connexion est dot dun vecteur gal 0 (cest--dire aucune direction). Lorsquun
point de connexion vers lextrieur est coll un point de connexion vers lintrieur
(ou vers lintrieur/lextrieur) et que les deux points de connexion sont dots dun
vecteur diffrent de zro, Visio aligne ces deux vecteurs et fait pivoter la forme selon
les besoins. Si lun ou lautre des points de connexion a un vecteur gal 0, les formes
ne sont pas pivotes.
Le vecteur dun point de connexion
dtermine le mode de rotation
dune forme lorsquelle est colle.
A Vecteur perpendiculaire (par dfaut)
B Vecteur angulaire
C Pour modifier le vecteur dun point de connexion, slectionnez ce point de connexion, et faites
glisser la poigne de direction verte et arrondie jusqu ce que vous obteniez langle souhait.
D Aucun vecteur
E Pour viter quune forme pivote lorsquelle est colle, faites glisser la poigne de direction sur le
point de connexion. Cette poigne devient grise, ce qui signifie que le point de connexion na pas
de vecteur.
A B
C
D
E
174 CHAP I TRE 8
Lorsquune forme dote dun point de connexion vers lextrieur est colle, Visio
gnre des formules dans ses cellules AxeX, AxeY et Angle reprsentant la liaison de
cette forme avec la forme laquelle elle est colle. Par exemple, les formules suivantes
sont celles gnres pour lune des formes colles le long du vecteur perpendiculaire.
Cercle1 est le nom de la forme laquelle elle est colle ; les rfrences la cellule
EvnXFMod de la forme de cercle et la page garantissent que la forme colle sera
dplace ou pivote selon les besoins pour conserver la liaison. Les formules
LOCVERSPAR et ANGLEVERSPAR convertissent les coordonnes locales de la
forme colle en systme de coordonnes de la forme laquelle elle est colle (Cercle1).
Comparez les formules AxeX et AxeY dune forme dote dun vecteur gal 0.
Comme la forme na fait lobjet daucune rotation, Visio ne gnre pas de
formule Angle.
Ajout de point s de connexion une f orme
Visio cre automatiquement un point de connexion vers lintrieur au niveau du
sommet ou de la poigne de slection dune forme lorsquun lien est coll cet
emplacement ; najoutez des points de connexion manuellement que lorsque vous
avez besoin dun point de connexion vers lintrieur un emplacement inhabituel,
ou dun point de connexion vers lextrieur ou vers lintrieur/lextrieur.
Pour ajouter un point de connexion une forme, utilisez loutil Point de connexion
de la barre doutils. Pour ajouter des points de connexion vers lextrieur ou changer
le type dun point de connexion, choisissez Outils > Options, cliquez sur longlet
Options avances, puis vrifiez que loption Excuter sous le mode dveloppeur de la
section Paramtres dveloppeurs est coche.
AxeX = L0CvEPSPAP|PhT|Cec1e1!Cohhecf1ohs.X2+-0,3S36 po.
Cec1e1!Cohhecf1ohs.Y2+0,3S36 po.)
Cec1e1!EvhXIModLaPage!EvhXIMod)
AxeY = L0CvEPSPAP|PhT|Cec1e1!Cohhecf1ohs.X2+-0,3S36 po.
Cec1e1!Cohhecf1ohs.Y2+0,3S36 po.)
Cec1e1!EvhXIModLaPage!EvhXIMod
Ahg1e = AhCLEvEPSPAP|-4S degCec1e1!EvhXIMod,EvhXIMod)
AxeX =
PhTX|L0CvEPSPAP|PhT|Cec1e3!Cohhecf1ohs.X2Cec1e3!Cohhecf1ohs.Y2)
Cec1e3!EvhXIModLaPage!EvhXIMod))+-0,S po.
AxeY =
PhTY|L0CvEPSPAP|PhT|Cec1e3!Cohhecf1ohs.X2Cec1e3!Cohhecf1ohs.Y2)
Cec1e3!EvhXIModLaPage!EvhXIMod))+0 po.
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 175
Pour crer un point de connexion :
1 Slectionnez une forme.
2 Slectionnez loutil Point de connexion.
REMARQUE : loutil Point de connexion permet dajouter un point de connexion la
forme slectionne. Vous devez donc toujours slectionner la forme laquelle vous
souhaitez ajouter le point de connexion avant dutiliser cet outil.
3 Effectuez lune des oprations ci-dessous :
Pour crer un point de connexion vers lintrieur, maintenez la touche Ctrl
enfonce, puis cliquez sur lemplacement o vous souhaitez ajouter ce point.
Pour crer un point de connexion vers lextrieur, maintenez les touches
Ctrl+Alt enfonces, puis cliquez sur lemplacement o vous souhaitez ajouter ce
point.
Pour crer un point de connexion vers lintrieur/lextrieur, slectionnez un
point de connexion, cliquez dessus avec le bouton droit et choisissez Vers
l'intrieur et l'extrieur dans le menu contextuel.
Lorsque vous ajoutez un point de connexion, Visio ajoute la section Points de
connexion dans la fentre Feuille ShapeSheet. Cette section contient une ligne qui
dcrit les coordonnes locales x et y du point, les coordonnes x et y de sa direction, et
son type (vers lintrieur, vers lextrieur ou vers lintrieur/lextrieur). Vous pouvez
contrler le comportement dun point de connexion lors du redimensionnement de
la forme en modifiant les formules de ses coordonnes.
Si vous ajoutez un point de connexion la gomtrie de la forme, Visio oriente le
vecteur de direction perpendiculairement au segment sur lequel le point de
connexion a t ajout (vers lintrieur pour un point de connexion vers lintrieur,
vers lextrieur pour un point de connexion vers lextrieur, ou vers lintrieur et vers
lextrieur pour un point de connexion vers lintrieur/lextrieur).
176 CHAP I TRE 8
CONSEIL : si loption Coller sur Gomtrie des formes est active et que lutilisateur fasse
glisser une forme dote dun point de connexion vers lextrieur vers une autre forme,
Visio cre automatiquement un point de connexion vers lintrieur avec le vecteur
appropri et colle les formes. Si les formes sont spares, rompant ainsi le collage, Visio
supprime automatiquement le point de connexion cr.
Pour empcher dautres formes dtre colles aux lments de gomtrie dune forme,
paramtrez sur TRUE la cellule NoSnap de la section Gomtrie de la forme. Cette
opration dsactive les fonctionnalits de collage et dattraction des formes 2D, et des
lments de gomtrie, de dcalage des formes 1D par rapport ces lments, et
dattraction des extensions de forme. Par exemple, effectuez ce paramtrage pour
empcher une forme de fentre de se connecter un appareil lectrique, ou une chaise
dtre connecte une autre chaise. Le paramtrage de NoSnap implique que les
utilisateurs ne peuvent faire pivoter les formes que dune faon trs limite lorsquils les
approchent dventuels points dattraction, et filtre les extensions gomtriques superflues.
At t ribut ion dun nom aux point s de connexion
Vous pouvez renommer la ligne Points de connexion et faire rfrence de faon plus
explicite aux valeurs contenues dans les cellules X ou Y quelle contient. Le nom de
cellule que vous saisissez doit tre unique au sein de la section. Lorsque vous crez un
nom pour une cellule de cette section, Visio attribue le nom par dfaut
Connections.Ligne_n aux autres cellules de cette section. Si aucune ligne de la section
nest nomme, la cellule du nom est vierge.
Par exemple, pour renommer la cellule de la premire ligne, saisissez Personnalise
dans la barre de formule afin de crer le nom de cellule Connections.Personnalise.
Visio attribue le nom Connections.Ligne_2 la cellule de la deuxime ligne. Pour
faire rfrence la cellule X de la premire ligne, utilisez Connections.Personnalise.X
ou Connections.X1. Pour faire rfrence la cellule Y de la premire ligne, utilisez
Connections.Personnalise.Y1 ou Connections.Y1. Pour faire rfrence la cellule X
de la deuxime ligne, utilisez Connections.Ligne_2.X ou Connections.X2, et
Connections.Ligne_2.Y ou Connections.Y2 pour faire rfrence la cellule Y.
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 177
Concept ion de f ormes de lien dynamique
Dans Visio 2000, un lien dynamique peut tre tir lintrieur de la zone dlimitant
une forme et couper la gomtrie de la forme. (La zone dlimitant une forme est le
plus petit rectangle impossible faire pivoter entourant le rectangle de slection de la
forme.)
Intersection dynamique avec la
gomtrie de la forme
Un lien dynamique peut galement tre tir dans des groupes et couper la gomtrie
dune forme au sein du groupe. Dans les programmes Visio antrieurs Visio 2000, le
lien dynamique ne pouvait pas tre tir dans la zone dlimitant la forme ou au sein
des groupes.
Intersection dynamique avec des
formes incluses dans des groupes
Lintersection dynamique est active par dfaut pour les formes. Elle implique
toutefois que le moteur Visio effectue des calculs complexes qui peuvent avoir une
incidence sur les performances de la forme lorsquun lien est coll dynamiquement,
notamment dans les formes complexes ou composes de plusieurs lments, ou dans
les groupes contenant plusieurs formes.
A Intersection dynamique
active
B Intersection dynamique
dsactive
C Intersection dynamique
active pour une forme
partiellement en dehors
de son rectangle
dalignement. Le lien
dynamique
recherche la
gomtrie la plus
lextrieur sur la bordure
laquelle elle est colle.
A B C
A Intersection dynamique active B Intersection dynamique dsactive
A B
178 CHAP I TRE 8
La cellule CodeFixeForme de la section Mise en page des formes permet de contrler
lintersection dynamique dune forme. CodeFixeForme contient un nombre entier de
huit bits, chaque bit contrlant un comportement de liaison dynamique. Pour
dsactiver lintersection dynamique dune forme, paramtrez la valeur de sa cellule
CodeFixeForme sur sa valeur actuelle laquelle vous ajoutez 128. Pour activer de
nouveau lintersection dynamique pour cette forme, tez 128 de la valeur actuelle de
sa cellule CodeFixeForme. Pour plus dinformations sur lattribution dautres valeurs
CodeFixeForme sur dautres valeurs, reportez-vous laide en ligne Rfrence du
dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
Pour dvelopper des formes ayant de bonnes performances lorsquelles sont utilises
avec un lien dynamique, prenez en compte les suggestions suivantes :
Concevez la forme en veillant ce que tous ses lments de gomtrie soient
lintrieur du rectangle de slection. Vous obtenez ainsi les meilleurs rsultats
lorsquun lien dynamique est coll la forme.
Crez des points de connexion sur la forme si vous souhaitez que le lien
dynamique soit coll des emplacements particuliers. Si une forme est dote dun
point de connexion sur le ct vers lequel le lien dynamique pointe, ce lien sera
coll au point de connexion plutt quaux lments de gomtrie de la forme ; les
longs calculs provoqus par une intersection dynamique sont ainsi vits.
Si vous souhaitez empcher systmatiquement le lien dynamique de couper les
lments de gomtrie dune forme, dsactivez lintersection dynamique en
paramtrant la cellule CodeFixeForme de la forme. Cette dsactivation est tout
spcialement recommande pour les formes incluses dans dautres formes, comme
dans le cas des groupes.
Sommaire
9
Crat ion dun comport ement
de t ext e
Par dfaut, lutilisateur peut ajouter du texte nimporte quelle forme Microsoft


Visio

. Lorsque vous crez des formes, il est important de considrer la position et


laspect du bloc de texte associ cette forme. Le texte doit-il pivoter avec la forme ?
Doit-il tre redimensionn avec la forme ? La forme peut-elle recevoir du texte ?
La varit des comportements possibles dun texte est infinie, mais, en pratique,
quelques comportements seulement savrent utiles. Aprs tout, lobjectif est de crer
du texte lisible ayant un bel aspect. Etant donn quun comportement de texte trs
intelligent implique gnralement des formules trs longues, trs lentes et trs
complexes, vous devez quilibrer la sophistication du bloc de texte par les utilisations
prvues de la forme. Il ny a pas quune rponse simple, mais la cohrence est
importante : des formes semblables doivent avoir un comportement de texte
semblable.
A propos du texte contenu dans les formes et dans les formes de base.......... 180
Redimensionnement de formes contenant du texte........................................... 185
Contrle de la rotation du texte............................................................................ 191
Utilisation des formules de texte.......................................................................... 198
180 CHAP I TRE 9
A propos du t ext e cont enu dans les f ormes et dans les
f ormes de base
Le texte dune forme ou dune forme de base dispose dun systme de coordonnes
dfini par une origine et par des axes relatifs au systme de coordonnes locales de la
forme. Ce systme de coordonnes est appel bloc de texte. Lorsque vous crez une
forme ou une forme de base, le bloc de texte correspondant est, par dfaut,
exactement de la mme taille, en largeur et en hauteur, que la case de la forme ou de la
forme de base : il possde la mme largeur et la mme hauteur, et sa rotation par
rapport la forme est nulle. Par dfaut, son axe correspond son centre.
Les systmes de coordonnes
locales dune forme et son bloc
de texte
A Coordonnes locales de la forme non pivote
B Bloc de texte pivot par rapport au systme de coordonnes locales de la forme
Le tableau suivant rpertorie certains facteurs considrer lors de la cration dun
comportement de texte pour une forme ou une forme de base.
Facteurs considrer lors de la cration dun comportement de texte
Elment Questions se poser
Position du bloc
de texte
Q uel est son emplacement dans la forme ou dans la forme
de base ?
La forme ou la forme de base doit-elle avoir plusieurs blocs
de texte ?
Taille du bloc de texte Y a-t-il une taille minimale ou maximale ?
Le bloc de texte doit-il s agrandir si du texte est ajout ?
Le texte doit-il dterminer la taille de la forme ?
La taille du texte est-elle modifie par le redimensionnement, la
rotation ou le retournement de la forme ?
Apparence du bloc
de texte
Le texte doit-il utiliser un arrire-plan opaque ?
I nteraction utilisateur L utilisateur peut-il ajouter ou modifier le texte dans
une forme ?
L utilisateur peut-il dplacer le bloc de texte par rapport
la forme ?
CRATI ON D UN COMP ORTEMENT DE TEXTE 181
Af f ichage des at t ribut s de t ext e dans la f ent re ShapeSheet
La section Transformation du texte de la forme permet de dfinir la taille,
lemplacement et la rotation du bloc de texte dans le systme de coordonnes locales
de la forme, tandis que la section Transformation de la forme positionne une forme
dans son groupe ou dans la page. Pour afficher la section Transformation du texte,
ouvrez la fentre ShapeSheet

de la forme ou de la forme de base, puis choisissez


Insertion > Section, slectionnez Transformation du texte, puis cliquez sur OK.
Par dfaut, la section Transformation du texte contient les valeurs affiches dans le
tableau suivant.
Les options de la bote de dialogue Texte correspondent aux cellules des sections
Caractres, Paragraphe, Tabulations et Format de bloc de texte de la forme.
Lorsquun utilisateur applique une commande de formatage du menu Format,
le moteur Visio met jour les cellules contenues dans ces sections de la feuille de
la forme.
Les numros de ligne affichs dans ces sections refltent le nombre de caractres (plus
spcialement, le nombre doctets) qui, comme le montre la figure suivante, utilisent le
formatage dfini dans cette ligne. Par exemple, dans une section Caractres avec les
numros de ligne 18, 16 et 13, le format des 18 premiers caractres du bloc de texte est
celui de la premire ligne. Le format des 16 caractres suivants est celui de la seconde
ligne, et ainsi de suite.
Section Caractres dune forme
avec plusieurs formats de police
Valeurs par dfaut de la section Transformation du texte pour une nouvelle forme
Cellule Formule
AngleTexte = 0 deg
HauteurTxt = haufeu " 1
AxeLocXTexte = LageuTxf " 0,S
AxeLocYTexte = haufeuTxf " 0,S
AxeXTexte = Lageu " 0,S
AxeYTexte = haufeu " 0,S
LargeurTxt = Lageu " 1
182 CHAP I TRE 9
En gnral, si vous crivez des formules personnalises dans les sections Caractres,
Paragraphe, Tabulations ou Format de bloc de texte, pensez prendre en compte les
actions utilisateur qui pourraient remplacer votre travail. Par exemple, si un
utilisateur formate localement des caractres dans un bloc de texte, une nouvelle ligne
est ajoute pour dcrire le formatage de ces caractres. Lorsquun utilisateur coupe du
texte, les lignes concernes sont supprimes. Si vous souhaitez crire une formule
personnalise dans une cellule de la section Caractres, copiez la formule dans cette
cellule sur chaque ligne de la section. Ainsi, si des lignes sont ajoutes ou supprimes,
la formule reste intacte.
REMARQUE : si la forme est un groupe, les formules qui renvoient aux cellules Largeur et
Hauteur pourraient avoir besoin dtre modifies afin que vous puissiez accder aux
valeurs du groupe plutt qu celles dune forme de composant.
Cont rle de la posit ion du bloc de t ext e
Lorsque vous dveloppez une forme, il est souvent prfrable de dplacer le bloc de
texte de son emplacement par dfaut pour que le texte sadapte plus facilement. Par
exemple, le bloc de texte de nombreuses formes Visio apparat, par dfaut, au-dessous
des formes ; ainsi, lorsque vous saisissez du texte dans le bloc, vous nobscurcissez pas
la forme. Vous pouvez facilement dplacer manuellement le bloc de texte en
slectionnant la forme laquelle il correspond laide de loutil Bloc de texte ( )
Pour dplacer le bloc de texte
manuellement, slectionnez la
forme avec loutil Bloc de texte,
puis faites-la glisser. Loutil Bloc de
texte se transforme alors en une
case double.
Lorsque vous slectionnez le bloc de texte dune forme laide de loutil Bloc de texte,
vous pouvez rapidement le redimensionner en faisant glisser une poigne de slection
latrale, ou le faire pivoter en faisant glisser une poigne de rotation. Si vous crez des
formes pour les transmettre dautres utilisateurs, assurez-vous que le bloc de texte
est assez grand pour que ces utilisateurs puissent facilement effectuer des slections et
des ajustements. Il arrive, par exemple, que la taille par dfaut du bloc de texte dune
forme 1D soit trop petite pour que lutilisateur puisse effectuer des slections et des
ajustements laide de loutil Bloc de texte.
CRATI ON D UN COMP ORTEMENT DE TEXTE 183
Ajout de poignes de cont rle permet t ant de manipuler un
bloc de t ext e
Si vous souhaitez fournir aux utilisateurs de vos formes une mthode plus pratique
pour ajuster la position du texte, vous pouvez ajouter une poigne de contrle
permettant de dplacer le bloc de texte.
Lajout dune poigne de contrle
au bloc de texte dune forme facilite
son repositionnement.
Bien que vous puissiez crire manuellement des formules qui excutent la mme
opration, il existe un moyen rapide dajouter une poigne de contrle pour dplacer
le bloc de texte : il sagit de lAssistant SmartShape. Cet Assistant contient les options
qui permettent de paramtrer la position du bloc de texte, puis de dfinir une poigne
de contrle pour laxe du bloc.
Pour ajout er une poigne de cont rle laide de lAssist ant Smart Shape :
1 Slectionnez une forme, puis choisissez Outils > Macros > Supplments Visio >
Assistant SmartShape.
2 Dans les options SmartShape, choisissez Personnaliser le texte de la forme, puis
cliquez sur Modifier les options.
3 Dans lcran de positionnement du texte, choisissez la position initiale souhaite
pour le bloc de texte, puis cliquez sur Suivant.
La case Ajouter une poigne de contrle la forme est dj coche.
4 Suivez les instructions lcran pour mettre fin lAssistant.
Apparence des poignes de cont rle du t ext e dans la f ent re
ShapeSheet
En ajoutant une section Points de Contrle la forme et en saisissant des formules sur
cette ligne, lAssistant SmartShape permet de dfinir la poigne de contrle de laxe du
texte ; si vous ajoutez une poigne de contrle manuellement, vous devez saisir des
formules semblables.
184 CHAP I TRE 9
Sur la ligne de la poigne de contrle, les formules peuvent varier en fonction de la
position du bloc de texte choisie. Par exemple, si vous avez centr le bloc de texte
au-dessous de la forme, ces formules sont ajoutes la section Points de Contrle :
En outre, ces formules sont ajoutes la section Transformation du texte :
Sil sagit de la premire poigne de contrle dfinie pour la forme, n est gal 1. Si la
forme contient des poignes de contrle prdfinies, une ligne est ajoute la section
Points de Contrle, et n est gal au numro de cette ligne. Les cellules Xn et Yn
indiquent la position de la poigne de contrle par rapport aux coordonnes locales
de la forme. La poigne de contrle apparat au centre du bloc de texte.
Les formules contenues dans les cellules DynamiqueX et DynamiqueY dfinissent la
position du point dancrage de la poigne de contrle au centre de la forme. Pour plus
dinformations sur les points dancrage dune poigne de contrle, reportez-vous la
section Dfinition du point dancrage dune poigne de contrle , page 136. Les
cellules Comportement X et ComportementY permettent de dfinir le comportement
de la poigne de contrle une fois quelle a t dplace ou que la forme a t
redimensionne.
Cont rle du t ext e dans un groupe
Lorsque vous groupez des formes, un bloc de texte est cr pour le groupe ; vous
pouvez aussi exploiter les blocs de texte de chacune des formes constituant le groupe.
Par dfaut, le bloc de texte du groupe souvre lorsque lutilisateur appuie sur la touche
F2, slectionne loutil Texte ( ) ou commence saisir des caractres. Pour ajouter
du texte dans toute autre forme du groupe, lutilisateur doit tout dabord slectionner
la forme.
Xh = Lageu " 0,S + LageuTxf " 0
Yh = haufeu " 0 + haufeuTxf " -0,S
0yham1queX h = Lageu/2
0yham1queY h = haufeu/2
CompofemehfX h = |Po1hfs de cohf1e.Xh > Lageu/2) " 2 + 2
CompofemehfY h = |Po1hfs de cohf1e.Yh > haufeu/2) " 2 + 2
AxeXTexfe = Po1hfs de cohf1e.Xh
AxeYTexfe = Po1hfs de cohf1e.Yh
CRATI ON D UN COMP ORTEMENT DE TEXTE 185
Pour afficher du texte modifiable qui correspond une forme de base reprsentant un
groupe, il est prfrable dutiliser le bloc de texte du groupe. Par exemple, vous
pouvez crer la forme de base dun panneau de signalisation routire indiquant une
limitation de vitesse. Pour permettre lutilisateur de modifier facilement la valeur de
la limitation de vitesse, vous pouvez utiliser le bloc de texte du groupe qui contient le
nombre correspondant la limitation, tandis que la forme contenue dans le groupe
peut contenir le libell Vitesse limite .
Lutilisation du bloc de texte dun
groupe facilite la modification du
texte dans les formes de base
cres. Lorsque la forme de base
est un groupe (A), le bloc de texte
de ce groupe (B) peut contenir le
texte que lutilisateur souhaitera
vraisemblablement modifier.
Vous pouvez empcher la modification du bloc de texte dun groupe en
dslectionnant loption Modifier le texte du groupe dans la bote de dialogue
Comportement du groupe (choisissez Format > Comportement) ou en changeant la
valeur TRUE de la cellule CibleModifTexte du groupe en FALSE.
Si le bloc de texte du groupe ne peut pas tre modifi, le bloc de texte qui souvre
lorsque lutilisateur appuie sur la touche F2, slectionne loutil Texte ( ) ou
commence saisir des caractres est celui de la forme de plus haut niveau. Si le bloc de
texte dun groupe ne peut pas tre modifi et si la forme de plus haut niveau est elle-
mme un groupe, les paramtres du bloc de texte de ce groupe permettent de
dterminer si le bloc de texte du groupe ou de la forme de plus haut niveau est ouvert.
Pour plus dinformations sur le groupement des formes, reportez-vous au chapitre 6,
Regroupement et fusion de formes .
Redimensionnement de f ormes cont enant du t ext e
Une fois le texte modifi ou la forme redimensionne, le texte associ aux formes doit
apparatre correctement. Vous pouvez contrler le comportement et lapparence du
texte avec des formules qui mettent en corrlation la gomtrie de la forme et le texte.
Le moyen le plus rapide dajouter des formules de texte communes consiste utiliser
lAssistant SmartShape ; vous pouvez par ailleurs ajouter des formules plus avances
en modifiant les cellules de la fentre ShapeSheet

.
186 CHAP I TRE 9
Cette section dcrit le contrle de la taille dun bloc de texte au fur et mesure que
lutilisateur saisit des informations, le redimensionnement dune forme en fonction
de la quantit ou de la valeur de son texte, les modifications proportionnelles de la
police de caractres dune forme au fur et mesure du redimensionnement de
la forme.
Cont rle de la t aille du bloc de t ext e
Lorsque vous utilisez lAssistant SmartShape pour personnaliser le comportement du
bloc de texte, lAssistant suppose que vous souhaitez que le bloc de texte sagrandisse
au fur et mesure que lutilisateur y ajoute du texte ; cest pourquoi il ajoute des
formules pour contrler la taille du bloc de texte. Ces formules permettent de dfinir
les limites initiales du bloc de texte, puis de sassurer que le bloc de texte peut tre
redimensionn pour accueillir lintgralit du texte ajout. Vous pouvez modifier ces
formules ou en crer dautres qui dfinissent un comportement diffrent.
Pour contrler la taille du bloc de texte, lAssistant utilise la fonction MAX pour
dfinir la taille maximale permise, et les fonctions HAUTEURTEXTE et
LARGEURTEXTE, qui permettent de calculer la largeur et la hauteur du texte
compos (leTexte) dans une forme. LAssistant ajoute ces formules la section
Transformation du texte de la forme :
Cont rle de la largeur du bloc de t ext e
Par dfaut, la largeur du bloc de texte est paramtre sur la valeur la plus grande : soit
la valeur de la plus longue ligne de texte termine par un retour chariot, soit la valeur
de huit fois la taille de police (ce qui garantit que le bloc de texte est au moins assez
large pour contenir un mot ou deux). Si le bloc de texte contient du texte format
avec plusieurs tailles de police, cette formule utilise la taille de la premire police
employe dans le bloc de texte lors de la cration de la formule.
Pour associer la largeur dun bloc de texte une variable : vous pouvez saisir des
formules qui associent la largeur dun bloc de texte une variable diffrente, comme
la largeur de la forme ou la taille de police du texte ; vous pouvez galement dfinir
une largeur fixe pour le bloc de texte. Par dfaut, la largeur du bloc de texte est
identique la largeur de la forme. Si vous voulez que le bloc de texte corresponde la
moiti de la largeur de la forme, vous devez entrer la formule suivante dans la section
Transformation du texte de la feuille de la forme :
LageuTxf= MAX|hAuTEuPTEXTE|LeTexfe) " Ca.Ta111e)
haufeuTxf= LAPCEuPTEXTE|LeTexfe LageuTxf)
LageuTxf= Lageu/2
CRATI ON D UN COMP ORTEMENT DE TEXTE 187
Si vous voulez que le bloc de texte corresponde 20 fois la largeur de la taille de la
police, vous devez saisir la formule suivante :
Pour paramtrer la largeur minimale dun bloc de texte : vous pouvez aussi paramtrer la
largeur minimale dun bloc de texte en utilisant la fonction MIN. Par exemple, cette
formule garantit que, lorsquune forme est redimensionne, son bloc de texte ne
stire pas sur une largeur suprieure 4 pouces ou nest pas rduit une largeur
infrieure 0,5 pouce :
Dans ce cas, la valeur de la largeur minimale du bloc de texte est suprieure soit 0,5
pouce, soit la largeur de la forme. La valeur attribu la largeur minimale est la plus
faible valeur de la comparaison valeur maximale/4 pouces.
Pour empcher le redimensionnement dun bloc de texte : si vous voulez empcher le
redimensionnement du bloc de texte en cas de redimensionnement de la forme, vous
pouvez saisir une largeur fixe pour le bloc de texte. Par exemple, pour paramtrer la
largeur dun bloc de texte sur 2 pouces, vous devez saisir la formule suivante :
Cont rle de la haut eur dun bloc de t ext e
Normalement, vous voulez que la hauteur dun bloc sagrandisse lorsque lutilisateur
y ajoute du texte. Lorsque vous crez le comportement des blocs de texte, vous
souhaitez quil soit aussi souple que possible de manire ce que lutilisateur puisse
ajouter tout le texte ncessaire. Par dfaut, HauteurTxt est gal la hauteur de la
forme. Lorsque vous utilisez lAssistant SmartShape, la formule HauteurTxt quil
saisit renvoie la hauteur du texte compos de la forme, aucune ligne de texte ne
dpassant LargeurTxt :
Cette formule renvoie une valeur qui reprsente la hauteur du texte dans la forme, y
compris linterligne et lespace avant et aprs chaque paragraphe du bloc, lhypothse
tant quaucune ligne du bloc nest plus longue que la valeur maximale de
LargeurTxt. Cette formule donne de bons rsultats dans la plupart des cas, car elle
permet au bloc de texte de sagrandir en hauteur lorsque lutilisateur ajoute du texte.
LageuTxf= 20 " Ca.Ta111e
LageuTxf= MTh|4 po. MAX|0,S po. Lageu))
LageuTxf= 2 po.
haufeuTxf= LAPCEuPTEXTE|LeTexfe LageuTxf)
188 CHAP I TRE 9
Choix de la t aille de la f orme daprs la quant it de t ext e
Vous pouvez crer une forme dont la taille dpend de la quantit de texte quelle
contient. Si vous souhaitez une forme juste assez grande pour accueillir le texte saisi,
comme une bulle ou une lgende de texte, utilisez les fonctions HAUTEURTEXTE et
LARGEURTEXTE dans les formules de largeur et de hauteur de la forme.
Par exemple, la formule suivante de la section Transformation de la forme limite la
largeur dune forme la longueur des lignes de texte quelle contient, augmente
dune petite marge :
La fonction renvoie la largeur de tout le texte de la forme (leTexte). La largeur de la
forme est limite cette valeur plus 0,5 pouce ; lorsque le bloc de texte est vide, la
largeur de la forme est de 0,5 pouce. La fonction PROTECTION empche lutilisateur
dtirer la forme en largeur avec les poignes de slection, ce qui provoquerait
lcrasement des valeurs de la cellule Largeur. Pour que lutilisateur comprenne
rapidement que ltirement manuel de la forme est impossible, vous pouvez aussi
paramtrer la cellule VerrLargeur dans la section Protection.
Cette formule associe limite la hauteur dune forme au nombre de lignes de texte
quelle contient :
CONSEIL : les fonctions HAUTEURTEXTE et LARGEURTEXTE dclenchent la
recomposition par le moteur Visio du texte de la forme chaque slection de touche.
Pour maximiser les performances, vous pouvez inclure dans la formule un test de taille
minimale de manire ce que le texte sagrandisse seulement une fois quil atteint une
largeur ou une hauteur donne. Au-del de cette largeur ou de cette hauteur, le moteur
Visio doit recomposer le texte chaque slection de touche. Par exemple, vous pouvez
crer une zone de 2 pouces par 0,5 pouce qui augmente en hauteur pour sadapter au texte
supplmentaire. Pour dcaler les problmes de performances ventuels, la zone ne se
redimensionne pas tant que la hauteur du texte natteint pas 0,5 pouce. Pour crer ce
comportement, ajoutez ces formules dans la section Transformation de la forme :
Lageu = 2 po.
haufeu = PP0TECTT0h|MAX|0,S po. LAPCEuPTEXTE|LeTexfe Lageu)))
Lageu = PP0TECTT0h|hAuTEuPTEXTE|LeTexfe) + 0,S po.)
haufeu = PP0TECTT0h|LAPCEuPTEXTE|LeTexfeLageu))
CRATI ON D UN COMP ORTEMENT DE TEXTE 189
Choix de la t aille de la f orme daprs la valeur du t ext e
Vous pouvez crer une forme dont la taille est contrle par la valeur du texte quelle
contient. Par exemple, dans un histogramme, vous pouvez faire en sorte que la taille
dune barre dpend de la valeur quelle reprsente. Avec la fonction EVALTEXT, vous
pouvez crer des formes dorganigramme simples, ou dautres formes dans lesquelles
lutilisateur saisit une valeur qui dtermine la largeur ou la hauteur de la forme.
Par exemple, pour associer la largeur dune forme sa valeur de texte, placez la
formule suivante dans la section Transformation de la forme :
La fonction EVALTEXT calcule le texte prsent dans le bloc de texte de la forme
comme sil sagissait dune formule et renvoie le rsultat. Par exemple, si vous saisissez
10 cm, la largeur de la forme passe 10 cm. Sil ny a pas de texte ou si le texte ne peut
pas tre calcul, en cas, par exemple, de saisie dune valeur non numrique, la largeur
de la forme est gale zro. Vous pouvez affiner davantage la forme en la
redimensionnant seulement dans la direction du redimensionnement, dans le cas par
exemple dune barre qui est redimensionne du ct droit. Pour ce faire, utilisez
loutil de rotation pour dplacer laxe de la forme vers lextrmit stationnaire.
Modif icat ion de la t aille de la police lors du
redimensionnement dune f orme
Par dfaut, lorsquun utilisateur redimensionne une forme, sa gomtrie et le bloc de
texte associ sont modifis, mais pas la taille de la police. Vous pouvez dfinir la taille
de police comme tant une fonction de la gomtrie de la forme en utilisant
lAssistant SmartShape ou en crivant vos propres formules. Les formules traites
dans cette section ajustent uniquement la taille des caractres. Si vous souhaitez
modifier les retraits de texte ou linterligne, vous devez utiliser des formules
semblables dans les cellules qui contrlent ces attributs.
REMARQUE : si une forme doit tre utilise dans des dessins lchelle, prenez en compte
lchelle du dessin lorsque vous dfinissez la taille de la police en tant que fonction de la
hauteur de la forme.
Crat ion de f ormules de redimensionnement du t ext e laide
de lAssist ant Smart Shape
Vous pouvez utiliser lAssistant SmartShape pour dfinir la taille de la police comme
tant une fonction de la taille de la forme. Lorsquun utilisateur redimensionne la
forme, son texte augmente par rapport la valeur de sa hauteur.
Lageu = PP0TECTT0h|EvALTEXT|LeTexfe))
190 CHAP I TRE 9
Pour redimensionner le t ext e laide de lAssist ant Smart Shape :
1 Slectionnez une forme, puis choisissez Outils > Macros > Supplments Visio >
Assistant SmartShape.
2 Dans la zone des options SmartShape, choisissez Personnaliser le texte de la forme,
puis cliquez sur Modifier les options.
3 Cliquez sur Suivant jusqu ce que lcran Taille du texte apparaisse, puis
choisissez Taille de police proportionnelle.
4 Suivez les instructions lcran pour mettre fin lAssistant.
LAssistant paramtre la taille de la police proportionnellement la hauteur de la
forme en ajoutant la formule suivante dans la section Caractres :
La troisime valeur de la formule est un ratio driv de la division de la taille dorigine
du texte par la hauteur de la forme. Par exemple, si vous utilisez la forme Triangle du
gabarit Formes de base sans changer sa taille par dfaut, cette valeur peut tre
comprise entre 0,037 pour le texte qui tait lorigine de 4 points et 1,1852 pour celui
qui tait lorigine de 128 points.
Ecrit ure de f ormules de redimensionnement personnalises
Si vous souhaitez que la taille dune forme et que sa taille de police associe soient
redimensionnes proportionnellement, vous pouvez utiliser cette formule gnrale
dans la section Caractres :
Pour amliorer les performances des formes, vous pouvez stocker la formule
proportionnelle dans une cellule dfinie par lutilisateur. Par exemple, supposons que
la hauteur dorigine de la forme soit de 3 cm et que la taille dorigine de la police soit
de 10 pt. Insrez la section Cellules personnalises dans la fentre ShapeSheet, puis
ajoutez ces formules :
Ta111e = 1 " haufeu " 0,0741
Ta111e = |haufeu/<haufeu o1g1ha1e>) " |<fa111e de 1a po11ce
o1g1ha1e>)
uf11.Ta111ePo11ce = haufeu/3cm " 10pf
Ca.Ta111e = uf11.Ta111ePo11ce
CRATI ON D UN COMP ORTEMENT DE TEXTE 191
Pour que la taille de la police soit toujours lisible, vous pouvez limiter lintervalle des
tailles acceptables. Par exemple, pour limiter la taille de la police aux valeurs
comprises entre 4 et 128 points, vous utilisez les fonctions MIN et MAX, et la formule
proportionnelle prcdente pour obtenir la formule suivante :
Pour plus dinformations sur la syntaxe de la formule MIN et MAX, reportez-vous
laide en ligne Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
Veillez utiliser des tailles de police minimales et maximales prises en charge par les
imprimantes et les pilotes du systme. Pour garantir la cohrence lorsque la section
Caractres dune forme contient plus dune ligne, les cellules Taille des lignes associes
doivent utiliser les mmes formules.
Cont rle de la rot at ion du t ext e
Pour que lutilisateur nait pas lire le texte lenvers, vous pouvez contrler
lapparence du texte faisant lobjet dune rotation. Par dfaut, lorsquune forme est
pivote, le bloc de texte pivote galement, ce qui provoque des problmes de lisibilit
dans le cas dune rotation de 90 270 degrs. Si vous crez des formes destines tre
utilises dans des dessins o la lisibilit est importante, vous pouvez personnaliser le
comportement de rotation du texte en utilisant lune des mthodes suivantes :
Pour empcher que le texte soit lenvers lorsquune forme fait lobjet dune
rotation, utilisez la fonction PESANTEUR, qui oriente la ligne de base des lettres
vers le ct infrieur ou droit de la page.
Pour empcher systmatiquement le texte de pivoter, utilisez une formule de
rotation inverse pour que le bloc de texte reste droit par rapport au bas de la page
lors de la rotation dune forme.
uf11.Ta111ePo11ce = MTh|12pf MAX|4pf haufeu/3cm " 10pf))
192 CHAP I TRE 9
Cont rle de la rot at ion du t ext e laide de lAssist ant
Smart Shape
Pour accder la fonction PESANTEUR et viter dafficher du texte lenvers, ou
pour garantir que les blocs de texte sont toujours droits par rapport au bas de la page
laide dune formule de rotation lenvers, vous pouvez utiliser lAssistant
SmartShape. Par ailleurs, vous pouvez choisir de centrer ou de dcaler la pesanteur ou
le bloc de texte droit par rapport la forme. Par exemple, un pointeur de texte comme
ceux prsents dans les figures suivantes est format avec un arrire-plan de couleur
unie tout en restant centr sur la forme. En revanche, si vous crez les formes des rues
dun plan, vous avez la possibilit de dcaler les noms des rues par rapport aux lignes
qui reprsentent ces rues.
Le texte peut pivoter ou ne pas
pivoter avec la forme. Le
comportement par dfaut risque
dafficher le texte lenvers (A). Les
formules de pesanteur ajustent
lorientation du bloc de texte pour
plus de lisibilit (B), tandis que les
formules de texte droit font pivoter
le bloc de texte lenvers pour le
maintenir lendroit (C).
La rotation est cumulative. Si vous faites pivoter le bloc de texte dune forme, puis la
forme elle-mme, le pourcentage de rotation de la forme est ajout celui du bloc
de texte.
Crat ion dun t ext e droit ou applicat ion dune pesant eur une f orme
laide de lAssist ant Smart Shape :
1 Slectionnez une forme, puis choisissez Outils > Macros > Supplments Visio >
Assistant SmartShape.
2 Dans la zone Options SmartShape, choisissez Personnaliser le texte de la forme,
puis cliquez sur Modifier les options.
3 Cliquez sur Suivant jusqu ce que lcran Rotation de texte apparaisse, puis
choisissez Texte droit ou Pesanteur du texte.
4 Suivez les instructions lcran pour mettre fin lAssistant.
CRATI ON D UN COMP ORTEMENT DE TEXTE 193
Formules de pesant eur
Lorsque vous choisissez le comportement de pesanteur, lAssistant SmartShape ajoute
cette formule la section Transformation du texte :
La formule PESANTEUR calcule la rotation du bloc de texte pour la rotation de la
forme indique. La variable Angle reprsente la rotation courante de la forme. Si la
valeur dAngle figure dans lintervalle dfini par les deux angles suivants, dans ce cas
60 degrs et 120 degrs, la formule renvoie une valeur de 180 degrs et le bloc de texte
fait lobjet dune rotation de 180 degrs pour une lecture correcte. Si la valeur Angle
ne tombe pas dans cet intervalle, la formule renvoie une valeur de 0 degr et le bloc de
texte ne fait lobjet daucune rotation. Par cette formule, le texte reste droit pour la
plupart des angles de rotation. Pour plus dinformations sur la syntaxe de la formule
PESANTEUR, reportez-vous laide en ligne Rfrence du dveloppeur (accessible
via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
Sans comportement PESANTEUR,
le texte ayant fait lobjet dune
rotation de 120 300
(ou 60) degrs (A) apparat
lenvers.
Si vous dcalez galement le bloc de texte de la forme, lAssistant ajoute des formules
aux cellules AxeXTexte et AxeYTexte pour dcaler laxe du bloc de texte en fonction
de la taille de la forme et de la quantit de texte quelle contient.
Formules de rot at ion inverse du t ext e droit
Si vous avez utilis lAssistant SmartShape pour crer du texte droit, la formule
suivante sajoute la section Transformation du texte pour faire pivoter dans le sens
inverse le bloc de texte lorsque la forme fait lobjet dune rotation :
Ahg1eTexfe = PESAhTEuP|Ahg1e -60deg. 120deg.)
Ahg1eTexfe = ST|TTX0P|PefouhemehfX PefouhemehfY) Ahg1e -Ahg1e)
194 CHAP I TRE 9
Cette formule permet de vrifier si la forme a t retourne, et dtermine langle
utiliser en fonction de ces informations. Si la forme a t retourne dans les deux
dimensions ou na pas t retourne du tout (si RetournementX et RetournementY
sont soit tous les deux TRUE, soit tous les deux FALSE), la formule BITXOR renvoie
la valeur FALSE et la formule SI renvoie la valeur Angle. Langle dorigine est conserv
si la forme a t retourne dans une dimension seulement (si RetournementX ou
RetournementY est TRUE). Le moteur Visio crit seulement les valeurs FALSE (0) ou
TRUE (1) dans les cellules RetournementX et RetournementY, pour que vous puissiez
partir du principe que ce sont les seules valeurs prsentes.
Si la forme ne doit jamais tre retourne, vous pouvez utiliser une formule plus simple
pour faire pivoter le bloc de texte lenvers :
Si vous faites pivoter le bloc de texte dune forme (de manire ce quAngleTexte >
0 degr), puis faites pivoter la forme, langle de texte apparent correspond alors la
somme des valeurs dAngleTexte et dAngle.
Exemples de cont raint e de t aille du bloc de t ext e
Avec lAssistant SmartShape, vous pouvez crer un comportement de texte droit pour
une varit de cas frquents, mais vous pouvez avoir besoin dun contrle
supplmentaire. Lorsque vous crez du texte droit pour une petite forme, la forme
peut tre obscurcie par le texte sil est volumineux ou si la forme est pivote. A laide
des formules dcrites ci-dessous, vous pouvez contraindre la largeur du bloc de texte
pour ladapter aux formes.
Lorsque vous crez le
comportement de texte dune
forme, vous pouvez empcher le
texte dobscurcir cette forme.
Ahg1eTexfe = -Ahg1e
A Un texte droit centr peut obscurcir la forme
lorsquil fait lobjet dune rotation, et par
dfaut, contraint la largeur du bloc de texte.
B Des formules intelligentes largissent le
bloc de texte si la forme fait lobjet dune
rotation.
CRATI ON D UN COMP ORTEMENT DE TEXTE 195
Cont raint e de largeur dun bloc de t ext e droit
Avec certaines formes, comme les flches 1D ou les formes courtes, il ne suffit pas de
faire pivoter le texte lenvers pour le maintenir droit. Au fur et mesure que la
forme pivote, le texte droit peut obscurcir des parties de la forme, comme dans la
figure prcdente, notamment lorsque le bloc larrire-plan opaque est centr
horizontalement et verticalement sur la forme. Vous pouvez crire des formules qui
maintiennent le bloc de texte droit et ajustent sa largeur lorsquun utilisateur fait
pivoter la forme ou ajoute du texte.
Lorsque vous utilisez la formule de rotation inverse dcrite dans la section Formules
de rotation inverse du texte droit , page 193, le bloc de texte reste droit tandis que la
forme pivote. Les formules Transformation du texte par dfaut adaptent la largeur du
bloc de texte la largeur de la forme, ce qui peut savrer inutile ou non esthtique si
la forme est tire lors de sa rotation. Pour adapter la largeur du bloc de texte la
largeur de la forme seulement si la forme est pivote jusqu 15 degrs par rapport
lhorizontale, utilisez les formules suivantes :
Pour plus de lisibilit, la formule de la cellule LargeurTxt ci-dessus conserve au bloc
de texte une largeur dau moins 0,5 pouce. Si la forme fait lobjet dune rotation
au-del de la limite dfinie dans la cellule B1 de la section Montage, la largeur du bloc
de texte est paramtre sur 2,5 pouces ; sinon, pour empcher le texte dobscurcir la
forme, elle est paramtre sur la largeur de la forme moins 0,25 pouce. La formule
contenue dans la cellule Montage.B1 effectue le test de rotation, et renvoie FALSE si le
bloc de texte est limit par la largeur de la forme ou TRUE si la largeur du texte nest
pas limite. La formule contenue dans la cellule A1 gnre un angle de forme
normalis dune valeur comprise entre 0 et 180 degrs pour dterminer la dflection
par rapport lhorizontale.
Ces formules fonctionnent, mais elles chouent pour les formes courtes qui sont
proches de la limite horizontale et qui ont du texte large. Une solution plus labore
doit prendre en compte la largeur de la forme ainsi que la largeur et la profondeur
composes du texte. Vous devez nanmoins noter que ce comportement amlior
peut tre contrebalanc par des performances moindres.
Mohfage.A1 = 0EC|M00uLuS|Ahg1e 10 deg.))
Mohfage.1 = Ah0|Mohfage.A1 >= 1S deg. Mohfage.A1 <= 16S deg.)
LageuTxf = MAX|0,S po. ST|Mohfage.1 2,S po. Lageu - 0,2S po.))
haufeuTxf = 0,2S po.
Ahg1eTexfe = ST|TTX0P|PefouhemehfX PefouhemehfY) Ahg1e -Ahg1e)
196 CHAP I TRE 9
Cont rle de la largeur dun bloc de t ext e droit dcal
Vous pouvez utiliser lAssistant SmartShape pour personnaliser le bloc de texte dune
forme afin quil reste droit tout en tant dcal par rapport la forme. Par exemple,
dans un plan damnagement de lespace, vous pouvez, comme le montre la figure
suivante, dplacer et faire pivoter les meubles tout en conservant les libells au mme
endroit. Pourtant, en fonction de lalignement du bloc de texte, de la rotation de la
forme et de la quantit de texte, le bloc peut obscurcir la forme. Vous pouvez crire
des formules de manire ce que le bloc de texte reste toujours dcal par rapport la
limite imaginaire qui dfinit les cts de la forme.
Dcalage du texte droit par rapport
une forme
Les formules permettant de crer ce comportement sont les suivantes :
A Langle le plus proche du bloc de texte est
dcal par rapport au ct de la forme.
B Au fur et mesure de lajout du texte, le
dcalage change pour que le bloc de
texte ncrase pas la forme.
LageuTxf= MAX| " Ca.Ta111e hAuTEuPTEXTE|LeTexfe))
haufeuTxf= LAPCEuPTEXTE|LeTexfe LageuTxf)
Ahg1eTexfe= ST|TTX0P|PefouhemehfX PefouhemehfY) Ahg1e -Ahg1e)
AxeXTexfe = Lageu + |LageuTxf/2 " AS|C0S|Ahg1e))
+ haufeuTxf/2 " AS|STh|Ahg1e)))
AxeYTexfe = haufeu/2
CRATI ON D UN COMP ORTEMENT DE TEXTE 197
Les cellules LargeurTxt et HauteurTxt permettent au bloc de texte de sagrandir au fur
et mesure de lajout du texte. Dans la cellule AngleTexte, la formule de rotation
inverse permet de conserver le texte droit. Le dcalage de laxe du bloc de texte
(AxeXTexte) est calcul partir de lhypothse selon laquelle, dans le systme de
coordonnes locales de la forme, le ct du bloc de texte se trouve lextrieur du
bord de la forme. La figure suivante montre que le dcalage correspond la somme
des lignes 1 et 2.
Calcul du dcalage du bloc de texte
La ligne 1 correspond au ct dun triangle rectangle dont lhypotnuse est gale
HauteurTxt/2 ; sa longueur est calcule laide de la cellule Angle de la section
Transformation de la forme dans la formule suivante :
La ligne 2 correspond au ct dun triangle rectangle dont lhypotnuse est gale
LargeurTxt/2 ; sa longueur est calcule laide de la formule suivante :
A Bord de la forme
B LargeurTxt/2
C HauteurTxt/2
D Dcalage AxeXTexte = 1 + 2
L1ghe 1 = |haufeuTxf/2) " AS|STh|Ahg1e))
L1ghe 2 = |LageuTxf/2) " AS|C0S|Ahg1e))
A
B
C
D
1
2
198 CHAP I TRE 9
Le dcalage est toujours une valeur positive, mme lorsque la forme fait lobjet dune
rotation ayant une valeur dangle ngative, car la fonction ABS est toujours utilise
pour renvoyer la valeur absolue des lignes 1 et 2. Ce type de calcul du dcalage ne
ncessite pas de formules supplmentaires pour empcher le bloc de texte dcraser la
forme au moment de sa rotation.
Ut ilisat ion des f ormules de t ext e
La modification des formules de texte dune forme permet de dfinir, dans les
solutions que vous dveloppez, un comportement des formes trs labor. Vous
pouvez afficher les valeurs des formules que vous saisissez et formater ces valeurs pour
quelles refltent davantage le rle de la forme. Cette section traite de certaines des
approches les plus avances que vous pouvez utiliser lors de la modification des
formules de texte dune forme ; elle fournit par ailleurs des informations sur la
protection des formules que vous crez et sur le test des formes permettant de garantir
que leur comportement correspond vos attentes.
Af f ichage et f ormat age des rsult at s dune f ormule
Vous pouvez afficher les rsultats dune formule et formater ses rsultats. Lorsque
vous slectionnez le bloc de texte, puis choisissez Insertion > Champ, le champ de
texte cr correspond rellement la valeur issue de la formule calcule dans une
cellule ShapeSheet

convertie en texte. Vous pouvez utiliser les mmes techniques


pour dvelopper des champs de texte personnaliss comme ceux que vous utilisez
dans la fentre ShapeSheet tout en affichant les rsultats formats dans la forme
mme.
Lorsque vous crez une formule pour un champ de texte, la formule apparat dans la
section Champs de texte de la fentre ShapeSheet de la forme. Les formules
apparaissent dans leur ordre dinsertion dans le texte, pas ncessairement dans leur
ordre daffichage.
Af f ichage de la largeur dune f orme dans dif f rent es unit s
Vous pouvez utiliser des champs de texte pour indiquer la largeur dune forme en
pouces, en centimtres, en points, etc. Pour ce faire, vous pouvez utiliser la fonction
FORMATEX pour indiquer les units que vous souhaitez afficher pour le rsultat.
La fonction FORMATEX utilise la syntaxe suivante :
I0PMATEX|expess1oh "1mage" |"uh1f-ehfe"] |"uh1f-sof1e"])
CRATI ON D UN COMP ORTEMENT DE TEXTE 199
Cette fonction renvoie le rsultat de lexpression calcul en unit-entre sous la forme
dune chane de formatage en fonction de limage exprime en unit-sortie. Le format
image est un code qui indique la manire dont le rsultat doit tre format. Si vous
indiquez une unit-entre et une unit-sortie, utilisez une valeur numrique ou une
unit de mesure correctement orthographie ou abrge (po, po., pouce, etc.). Si vous
ne prcisez pas dunit-entre, les units de lexpression ne seront pas converties.
Si vous ne spcifiez pas dunit-sortie, cest lunit dentre qui sera utilise.
Pour af f icher la largeur de la f orme dans un champ de t ext e laide de la
f onct ion FORMATEX :
1 Slectionnez une forme.
2 Choisissez Insertion > Champ.
3 Dans la section Catgorie de la bote de dialogue Champ, choisissez Formule
Personnalise.
4 Dans la zone Formule Personnalise, saisissez une expression utilisant la fonction
FORMATEX, en spcifiant limage du format souhait ainsi que les units dentre
et de sortie.
Par exemple, si la largeur est en pouces et si vous souhaitez lafficher en
centimtres, saisissez :
5 Cliquez sur OK.
Le moteur Visio formate la valeur de largeur en utilisant deux dcimales, abrge les
units et convertit les pouces en centimtres. Par exemple, si la largeur est de
1,875 pouces, le moteur Visio affiche 4,76 cm.
Pour plus dinformations sur les images de format correctes, recherchez correctes,
images de format dans laide en ligne Rfrence du dveloppeur (accessible via ?
(Aide) > Rfrence du dveloppeur) fournie avec Visio.
Af f ichage des valeurs dangle normalises
Vous pouvez crer une forme qui affiche son angle de rotation dans le texte qui lui est
associ. Par exemple, les formes qui reprsentent des lignes de roulement sur une
carte maritime ou des indicateurs de pente dans un diagramme de cadastre affichent
langle courant. Par dfaut, le moteur Visio renvoie des valeurs dangle de
-180 +180 degrs. Vous pouvez utiliser la fonction ANG360( ) pour convertir la
valeur de langle de la forme en une valeur de 0 360 degrs (ou de 0 2 radians),
puis afficher la valeur dans la forme.
= I0PMATEX|Lageu"0,00 u" "po." "cm.")
200 CHAP I TRE 9
Pour af f icher la valeur dun angle normalis dans un champ de t ext e :
1 Slectionnez une forme.
2 Choisissez Insertion > Champ.
3 Dans la section Catgorie, choisissez Formule Personnalise.
4 Dans la zone Formule Personnalise, saisissez :
5 Dans la section Format, choisissez Degrs.
6 Cliquez sur OK.
Format age des chanes et sort ie du t ext e
Lorsque vous affichez des chanes, comme les rsultats dune formule dans un champ
de texte ou des valeurs de proprit personnalise, sachez quil est possible de dfinir
un format pour la sortie. La sortie de texte peut tre formate sous la forme dune
paire nombre/unit, dune chane, dune date, dune dure ou dune devise.
Le moteur Visio reconnat une srie dimages de format qui formatent le texte tel que
vous souhaitez quil apparaisse. Par exemple, limage de format 0 #/10 uu formate
la paire nombre/unit 10,9 cm sous la forme 10 8/9 centimtres .
Les images de format apparaissent dans la liste des formats lorsque vous choisissez
Insertion > Champ, comme arguments pour les fonctions FORMAT et FORMATEX
et comme formules utilisables dans la cellule Format de la section Proprits
personnalises. Pour plus dinformations sur toutes les images de format que vous
pouvez utiliser comme la date, lheure, la dure, la devise et les notations scientifiques,
recherchez correctes, images de format dans laide en ligne Rfrence du
dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
Ut ilisat ion de la f onct ion FORMAT
Dans toute formule qui se rduit une chane, comme les formules des champs de
texte personnaliss, vous pouvez utiliser la fonction FORMAT pour formater la sortie.
La fonction FORMAT utilise la syntaxe suivante :
Le rsultat de lexpression est format en fonction du style spcifi par limage.
La fonction renvoie une chane de la sortie formate. Limage de format doit tre
compatible avec le type dexpression utilis ; par ailleurs, vous ne pouvez pas
mlanger les types dexpression. Par exemple, si vous combinez le formatage dune
date et dun nombre en utilisant conjointement les images de format nombre et date
(#,## jjmmaa), le moteur Visio ignore la partie jjmmaa et essaie de calculer
lexpression en utilisant la premire partie (#,##) de limage de format.
= AhC360|Ahg1e)
I0PMAT|expess1oh "1mage")
CRATI ON D UN COMP ORTEMENT DE TEXTE 201
Pour utiliser la fonction FORMAT dans un champ de texte, indiquez une formule
personnalise comme le dcrit la section Affichage et formatage des rsultats dune
formule , page 198. Dans la zone Formule Personnalise, intgrez la fonction
FORMAT dans votre formule (pour saisir une formule dans la zone Formule
Personnalise, ouvrez le bloc de texte de la forme, choisissez Insertion > Champ,
slectionnez Formule Personnalise dans la liste Catgorie, puis saisissez la formule
dans le champ de texte Formule Personnalise).
Le tableau suivant contient des exemples de formatage des paires nombre/unit
standard.
Af f ichage des proprit s personnalises f ormat es
Vous pouvez formater la valeur affiche dune proprit personnalise pour que son
affichage corresponde au paramtrage effectu dans la bote de dialogue Proprits
personnalises. Pour ce faire, utilisez une image de format dans la cellule Format de la
section Proprits personnalises situe dans la fentre ShapeSheet de la forme. Par
exemple, une forme de planning peut avoir une proprit personnalise appele Cot
qui mesure le cot dun procd. Pour formater 1 200 en devise, vous pouvez spcifier
limage de format suivant dans la cellule Format de la section Proprits
personnalises de la forme :
Le moteur Visio utilise les Paramtres rgionaux du Panneau de configuration
Windows pour dterminer le symbole de la devise, le sparateur dcimal et le
sparateur des milliers afficher. Dans la version anglaise (Etats-Unis) de Microsoft


Windows

, la valeur est affiche dans la bote de dialogue Proprits personnalises


sous la forme $1,200.00 . Dans la version franaise de Windows, elle apparat sous
la forme 1 200,00 F .
Formats de texte personnaliss pour les paires nombre/unit
Syntaxe Affichage en sortie
I0PMAT| 0 p1. 11,S3 po. "0,## u") 0 p1. 11,S3 po.
I0PMAT| 260,632 cm "0,## u") 260,63 cm.
I0PMAT| 0 p1. 11,S3 po. "# #/# u") 11 S/9 po.
I0PMAT| 260,632 cm "0 #/# uu") 260 S/ cehf1mfes
I0PMAT| 260,632 cm "0 #/S uu") 260 3/S cehf1mfes
I0PMAT| 0p1. 11,S3 po. "0,000 u") 0 p1. 11,S30 po.
Iomaf = "$###,###.00"
202 CHAP I TRE 9
Par ailleurs, vous pouvez afficher la valeur dune proprit personnalise dans un
champ de texte. En choisissant Insertion > Champ lorsque la forme est slectionne,
vous pouvez indiquer une proprit personnalise et une image de format pour la
valeur de cette proprit. Dans la bote de dialogue Champ, vous pouvez spcifier une
proprit personnalise dans Catgorie. Le moteur Visio affiche la liste des images de
format appropries en fonction du type de donnes de la proprit personnalise.
La valeur dune proprit personnalise est alors affiche dans le bloc de texte de la
forme laide de limage de format que vous avez attribue.
Si vous avez lintention deffectuer des calculs avec des proprits personnalises, vous
pouvez dfinir un type de donnes diffrent de la chane pour la valeur de proprit,
comme un nombre, une devise, la date et lheure et la dure. Pour plus
dinformations, reportez-vous la section Proprits personnalises , page 146.
Prot ect ion des f ormules de t ext e
Il est possible de protger des formules de texte personnalises que vous avez cres
pour une forme de faon ce que les actions utilisateur ne puissent pas les craser.
De nombreuses actions utilisateur communes pour une page de dessin, comme
lapplication dune police, la dfinition des marges, lapplication dun style de texte,
ont une incidence sur les valeurs des sections Transformation du texte, Format de
bloc de texte, Caractres, Paragraphe et Tabulations. Si vous crivez des formules
pour personnaliser ces attributs de texte, vous pouvez effectuer les oprations
suivantes :
Protger la formule laide de la fonction PROTECTION.
Empcher les utilisateurs dapporter des modifications laide dun verrou
de protection.
Utilisez la fonction PROTECTION pour protger les formules contenues dans les
cellules qui contrlent la position ou lemplacement du bloc de texte. Par exemple,
protgez les formules qui personnalisent la largeur et la hauteur du texte de manire
ce que le redimensionnement dune forme ncrase pas vos formules. Lorsque vous
utilisez PROTECTION pour protger une formule dans une cellule qui contrle le
formatage du texte, lutilisateur ne peut pas formater le texte localement. Pour plus
dinformations sur les consquences de lapplication des styles sur les formules de la
forme, reportez-vous au chapitre 10, Gestion des styles, des formats et des
couleurs .
Utilisez un verrou de protection pour empcher lutilisateur de formater une forme
ou dy saisir des informations. Paramtrez sur 1 la cellule VerrFormat de la section
Protection pour empcher lutilisateur dappliquer tout formatage ou style.
Paramtrez sur 1 la cellule VerrModifTexte de la section Protection pour empcher
lutilisateur deffectuer des saisies dans une forme (mais pour lui laisser la possibilit
dappliquer un style de texte). Il est prfrable dutiliser VerrModifTexte seulement
dans les cas o la saisie de texte provoquerait des comportements inattendus de la
forme (comme cela peut arriver avec les trs petites formes).
CRATI ON D UN COMP ORTEMENT DE TEXTE 203
Vous pouvez cacher compltement le texte en paramtrant la cellule MasquerTexte
sur TRUE dans la section Divers. Vous pouvez toujours effectuer une saisie dans la
forme : le texte reste visible au fur et mesure que vous le saisissez, mais il napparat
pas dans la forme une fois que lopration de saisie est termine.
Bien entendu, plus vous utiliserez de protections, moins vos utilisateurs pourront
modifier les formes. Vous devez donc chercher prserver les formules de forme
personnalises tout en permettant aux utilisateurs dexcuter correctement
leurs tches.
Test des f ormules de bloc de t ext e
Voici des procdures que vous pouvez utiliser pour tester le positionnement et le
redimensionnement du bloc de texte dune forme. Pour que la position du bloc de
texte reste correcte pendant quun utilisateur manipule la forme, vous devez tester
toutes les combinaisons de retournement, de rotation et dinversion des extrmits.
Pour t est er le posit ionnement du bloc de t ext e dune f orme :
1 Crez une occurrence de la forme de base tester, puis saisissez-y du texte.
2 Reproduisez loccurrence sept fois. Faites pivoter chaque occurrence par
incrments de 45 degrs. Disposez les huit occurrences dans un mdaillon.
Groupez-les pour les manipuler plus facilement.
Il sagit dune srie de tests qui
illustre le comportement normal de
la forme dans des rotations
diverses.
3 Reproduisez la srie de tests deux fois (pour les objets 2D) ou cinq fois (pour les
objets 1D), et disposez les occurrences du test sous forme de lignes avec trois
colonnes.
4 Sil sagit du test dune forme 1D, slectionnez les trois groupes de la ligne
infrieure, puis choisissez Forme > Oprations > Inverser les extrmits.
204 CHAP I TRE 9
5 Slectionnez le ou les groupes de la colonne centrale, puis choisissez Forme >
Retournement vertical.
6 Slectionnez le ou les groupes de la colonne de droite, puis choisissez Forme >
Retournement horizontal.
7 Imprimez les rsultats et examinez-les en dtail. Rglez tous les problmes et testez
de nouveau si ncessaire.
Vous devez ensuite tester les capacits de votre forme manipuler le texte. Pour ce
faire, remplacez dans chaque forme le texte de test, puis vrifiez les rsultats.
Pour t est er le mode de redimensionnement dune f orme au f ur et mesure
que du t ext e est ajout :
1 Slectionnez lune des formes, puis saisissez le nouveau texte.
Tapez suffisamment de caractres pour tirer le bloc de texte de manire
provoquer un comportement correspondant vos attentes.
2 Cliquez lextrieur de la forme, puis appuyez sur Ctrl+A pour slectionner toutes
les formes.
3 Appuyez sur F4 pour rpter le nouveau texte dans toutes les formes slectionnes.
4 Imprimez les rsultats et examinez-les. Rparez tous les problmes et effectuez le
test jusqu ce que vous obteniez les rsultats souhaits.
5 En guise de test final, redimensionnez chaque groupe. Essayez la fois des tailles
raisonnables, et des tailles trs petites ou trs grandes.
Les formes se comportent-elles comme vous lespriez ? Le texte apparat-il
correctement ? Pouvez-vous au moins le lire ? Sinon, vous devez dfinir une largeur
de texte minimale. Pour plus dinformations, reportez-vous la section Exemples de
contrainte de taille du bloc de texte , page 194.
Sommaire
10
Gest ion des st yles, des f ormat s et
des couleurs
Lorsque vous crez des formes, vous appliquez des styles aux formes que vous
dessinez pour garantir une certaine cohrence. Vous dfinissez galement des styles et
des options personnalises, comme les motifs de remplissage qui apparatront dans les
modles que vous crez pour les utilisateurs. Dans Microsoft

Visio

, les styles
fonctionnent un peu diffremment de ceux des autres logiciels, tels que les
programmes de traitement de texte ou les tableurs. En effet, dans Visio, vous pouvez
dfinir des styles qui appliquent simultanment des attributs de formatage au texte,
aux traits et aux remplissages. De mme, vous pouvez dfinir des styles qui appliquent
un formatage au texte seulement, aux traits seulement, aux remplissages seulement ou
une combinaison des trois.
Ce chapitre explique comment appliquer et crer des styles lorsque vous travaillez
avec des formes ; il contient des instructions permettant de crer les styles qui
apparaissent dans vos modles ; il explique comment modifier les attributs de
formatage des formes de base et comment protger les styles de celles que vous crez ;
enfin, il indique comment crer des motifs de trait, de remplissage et des extrmits
de trait que lutilisateur peut appliquer comme dans tout format Visio.
Utilisation des styles dans la page de dessin...................................................... 206
Instructions concernant lapplication de styles aux formes ............................... 209
Utilisation de styles dans les gabarits et les modles ........................................ 213
Protection des formats locaux des formes .......................................................... 215
Gestion de la couleur dans les styles, les formes et les fichiers........................ 216
Motifs personnaliss.............................................................................................. 219
206 CHAP I TRE 10
Ut ilisat ion des st yles dans la page de dessin
Les styles sont des ensembles nomms dattributs de formatage applicables une
forme. Dans Visio, un seul style peut dfinir des attributs de texte, de trait et de
remplissage, lapplication dun style peut donc constituer un moyen efficace dassurer
la cohrence des formes.
Lorsque vous appliquez un style une forme, vous formatez les attributs suivants :
Pour le texte : la police, la taille, le style (par exemple, gras ou italique), la couleur
et lespacement des caractres, lalignement du bloc de texte, les marges et la
couleur darrire-plan, lalignement des paragraphes, les retraits et lespacement,
lespacement des tabulations et le formatage des puces
Pour les traits : lpaisseur de trait, la couleur, le motif, lextrmit, le style de la
pointe de flche et le style de langle
Pour les remplissages : le motif et les couleurs de premier plan et darrire-plan de
lintrieur dune forme (son remplissage) et de son ombre, sil en existe une.
Prsent at ion des st yles
Vous pouvez appliquer un style une forme ou bien lui appliquer un formatage local
en utilisant les commandes du menu Format pour crer le mme effet. Si plusieurs
formes ont le mme format, les styles permettent dutiliser plus efficacement les
ressources de lordinateur que le formatage local. Dans un document Visio, une
dfinition de style est stocke un endroit seulement, et plusieurs formes peuvent y
faire rfrence. Avec le formatage local, toutes les instructions de formatage sont
stockes sparment avec chaque forme. Les formes formates laide de styles
rpondent plus rapidement que les formes formates localement lorsquelles sont
cres, dplaces, mises lchelle et pivotes.
Les attributs de format local sont
stocks avec chaque forme (A).
Lorsque vous appliquez un style
plusieurs formes, la dfinition du
style stocke les informations de
formatage un seul endroit (B).
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 207
Dans les documents que vous crez, vous pouvez dfinir sparment des styles pour
les attributs de texte, de trait et de remplissage, ou bien dfinir des styles qui
appliquent une combinaison dattributs. Visio rpertorie tous les styles qui appliquent
des attributs de texte dans la liste Tous les styles de la barre doutils Format ; les styles
qui concernent uniquement les remplissages et les traits sont rpertoris au-dessous
des attributs quils affectent dans la bote de dialogue Styles (Format > Style). Tous les
styles dun document sont rpertoris dans le dossier Styles de Drawing Explorer


(Affichage > Fentres > Drawing Explorer).
Lorsque lutilisateur applique un style issu de la liste Tous les styles une forme qui
prsente un formatage local, les attributs dfinis dans le style remplacent
automatiquement le formatage local correspondant. Les attributs formats
localement qui napparaissent pas dans le style ne sont pas modifis. Par exemple, si le
trait dune forme est format localement et que vous appliquiez un style qui indique
seulement un formatage de texte et de remplissage, le formatage local du trait restera
intact. En cliquant avec le bouton droit sur une forme et en choisissant Format > Style
dans le menu contextuel, lutilisateur peut aussi appliquer indpendamment des styles
pour chaque attribut. Par exemple, supposons quun formatage local ait t appliqu
au texte dune forme, mais que lutilisateur souhaite utiliser un style qui applique
normalement les trois attributs pour le remplissage et le trait. En choisissant les styles
de remplissage et de trait dans la bote de dialogue Styles, ces attributs sont appliqus,
tandis que le formatage du texte nest pas modifi. Pour plus dinformations,
reportez-vous la section Protection des formats locaux des formes , page 215.
Paramt rage des st yles par df aut dun dessin
Lorsque vous dessinez plusieurs formes, vous pouvez garantir une certaine cohrence
en indiquant les styles que vous utilisez le plus souvent comme styles par dfaut du
document. Le moteur Visio applique les styles de texte, de trait et de remplissage par
dfaut dfinis pour une page de dessin lorsque vous dessinez en utilisant lun des
outils de la barre doutils Standard. Vous pouvez aussi dfinir des styles par dfaut
pour la page de dessin dun modle afin que les utilisateurs dessinent de manire
cohrente ou en fonction de normes spcifiques.
Pour changer les st yles par df aut dun document :
1 Veillez ce quaucun lment ne soit slectionn et que la fentre de la page de
dessin soit active, puis choisissez Format > Style.
2 Dans les zones Style du texte, Style de trait et Style de remplissage, slectionnez de
nouveaux styles par dfaut, puis cliquez sur OK.
Les nouveaux styles par dfaut ont une incidence sur toutes les formes que vous
dessinez avec les outils de dessin. Les occurrences des formes de base insres sur la
page de dessin ne sont pas modifies : elles hritent du style de la forme de base.
Les nouveaux styles par dfaut restent actifs dans une page de dessin jusqu ce que
vous les changiez de nouveau.
208 CHAP I TRE 10
Crat ion dun st yle
Vous pouvez crer un style pour linclure dans votre modle ou pour formater
plusieurs formes rapidement et de manire cohrente. Les styles que vous dfinissez
dans vos modles apparaissent dans la fentre Drawing Explorer, dans les botes de
dialogue Style et Dfinir le style, et, sils appliquent un formatage de texte, dans la liste
Tous les styles de la barre doutils Format.
Vous pouvez crer intgralement un style ou llaborer partir dun style existant.
Par exemple, supposons que vous ayez cr un trait de 3 mm pour lequel vous avez
saisi une formule dans la cellule EpaisseurTrait. Si vous dessinez plusieurs traits de 3
mm, il est plus commode de crer un style que vous pouvez rutiliser. En crant des
styles bass sur des styles existants, vous pouvez dvelopper une hirarchie de styles,
dans laquelle les modifications apportes lun des styles sappliquent, comme le
montre la figure suivante, tous les styles quil a permis dlaborer. Vous devez vous
mfier, toutefois, de ne pas modifier par inadvertance plusieurs styles, ainsi que toutes
les formes formates avec ceux-ci, lorsque vous ne souhaitez en modifier quun seul.
Elaboration dun style partir dun
style de base existant
Lorsque vous crez un style, les paramtres sont hrits en fonction du mode de
cration du style, cest--dire partir de zro ou partir dun style existant :
Un style labor partir dun autre style hrite des attributs du style de base.
Un style entirement nouveau hrite des paramtres par dfaut du document pour
les attributs que vous cochez dans la zone Inclure de la bote de dialogue Dfinir les
styles. Pour dfinir votre style, vous pouvez modifier ces paramtres.
Pour crer un style, choisissez Format > Dfinir les styles. Loption Bas sur permet de
savoir si le style est bas sur un autre style. Pour plus dinformations sur lutilisation
de la bote de dialogue Dfinir les styles, recherchez styles dans laide en ligne
fournie avec Visio.
A Dfinition du style de base
B Dfinition du style driv
C Le style driv hrite du trait et du
remplissage du style de base.
D Toute modification du style de base est
reprsente sur le style driv.
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 209
Si vous dfinissez un style pour un dessin et que vous souhaitiez lutiliser dans un
autre dessin, vous pouvez copier le style. Pour cela, faites glisser une forme formate
avec le style dans le fichier dans lequel vous voulez ajouter le style (vous pouvez aussi
insrer la forme par copier-coller). Supprimez ensuite la forme. La dfinition du style
reste dans le fichier. Si le fichier contient dj un style portant le mme nom,
la dfinition existante est prioritaire et le style nest pas copi dans le fichier.
Modif icat ion dun st yle
Vous pouvez modifier un style de deux manires :
En choisissant Format > Dfinir les styles, puis en slectionnant un style existant
dans la liste Style dans la bote de dialogue Dfinir les styles et en changeant les
attributs Texte, Trait ou Remplissage du style.
En apportant des modifications aux formules du style.
Lapport de modifications dans la bote de dialogue Dfinir les styles est rapide et
conviviale. Toutefois, les options disponibles dans la fentre ShapeSheet

du style ne
sont pas toutes accessibles par lintermdiaire de la bote de dialogue Dfinir les styles.
Par exemple, vous pouvez dfinir des formules associes un style en modifiant les
cellules de la feuille de style.
Pour modif ier les f ormules dun st yle :
1 Choisissez Affichage > Fentres > Drawing Explorer.
2 Ouvrez le dossier Styles dans la fentre Drawing Explorer, cliquez avec le bouton
droit sur le style, puis choisissez Afficher la feuille ShapeSheet dans le menu
contextuel.
3 Apportez des modifications aux formules dans la feuille de style.
Inst ruct ions concernant lapplicat ion de st yles aux f ormes
Lorsque vous crez des formes pour vos propres gabarits ou que vous utilisez des
formes de base existantes, lutilisation des styles est un moyen efficace de formater les
formes. Visio offre plusieurs techniques dapplication et de modification des styles.
La technique utiliser dpend de ce que vous souhaitez faire : reformater toutes les
formes qui utilisent un style particulier, reformater la forme de base elle-mme et, par
extension, toutes les occurrences qui lui sont associes, ou modifier les occurrences
qui figurent sur la page de dessin.
Pour modifier lapparence de toutes les occurrences dune forme de base sur la
page de dessin et de celles que vous ajouterez par la suite, vous pouvez modifier les
styles du fichier de dessin.
210 CHAP I TRE 10
Pour modifier lapparence dune forme de base dans un gabarit, vous pouvez
reformater la forme en appliquant diffrents styles dans le gabarit autonome.
Pour reformater rapidement les occurrences dune forme de base sur la page de
dessin, vous pouvez modifier la copie de la forme de base dans le gabarit du
document.
Lorsque vous dfinissez un style,
vous pouvez modifier chaque
paramtre de texte, de trait et de
remplissage (A).
Ref ormat age des f ormes sur la page de dessin
Vous pouvez modifier un style pour changer lapparence de toutes les formes dun
document qui utilisent ce style. Pour cela, utilisez la commande Dfinir les styles du
menu Format afin de rviser les attributs de texte, de trait ou de remplissage dun style
existant. Toutes les formes formates avec le style modifi seront transformes.
Par exemple, supposons que vous utilisiez le gabarit Formes Diagramme de flux -
Elmentaire, mais que vous vouliez que le texte apparaisse en italique avec une taille
de 10 points et une police Times Roman. Les formes issues de ce gabarit sont
formates avec le style de texte Flow Normal. Vous pouvez utiliser la commande
Dfinir les styles pour modifier la dfinition du style Flow Normal afin de formater le
texte dans la police souhaite. La nouvelle dfinition affecte toutes les formes du
document auxquelles le style est appliqu, ainsi que toutes les formes que vous ajoutez
et qui sont formates dans ce style.
Une nouvelle dfinition de style est enregistre seulement avec le fichier de dessin
actuel. Le gabarit autonome et ses formes de base ne sont pas modifies, car le fichier
de gabarit contient ses propres dfinitions de styles.
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 211
Ref ormat age des f ormes de base dans un gabarit aut onome
Vous pouvez reformater des formes de base dans un gabarit autonome en choisissant
de nouveaux styles et en reformatant toutes les occurrences cres par la suite partir
de ces formes de base. Contrairement lopration de modification dun style pour
reformater les formes qui lutilisent, cette procdure modifie la dfinition de la forme
de base dans un gabarit et enregistre les modifications dans le gabarit. Utilisez cette
procdure pour modifier les formes de base dans les gabarits que vous utilisez dans
plusieurs dessins diffrents.
Pour ref ormat er une f orme de base avec un aut re st yle :
1 Ouvrez le fichier de gabarit contenant la forme de base modifier. Pour rendre le
gabarit modifiable, cliquez sur sa barre de titre avec le bouton droit, puis choisissez
Modifier dans le menu contextuel. Dans la zone Ouvrir de la bote de dialogue
Ouvrir un gabarit, vous pouvez galement choisir Original, puis cliquer sur
Ouvrir.
Lorsquun gabarit est modifiable, un astrisque rouge apparat dans langle
suprieur gauche de licne sur la barre de titre du gabarit.
2 Dans la fentre du gabarit, cliquez avec le bouton droit sur la forme de base
modifier, puis choisissez Modifier la forme de base dans le menu contextuel pour
louvrir dans la fentre de dessin de la forme de base.
3 Choisissez la forme modifier ou slectionnez une forme secondaire si la forme de
base est un groupe, puis reformatez la forme selon vos besoins.
Par exemple, choisissez Format > Style, choisissez un style de texte, de trait ou de
remplissage appliquer, puis cliquez sur OK.
4 Dans la fentre de dessin de la forme de base, cliquez sur la case Fermer.
Lorsquun message vous demande de mettre jour la forme de base, cliquez
sur Oui.
5 Assurez-vous que la fentre de gabarit est active, puis choisissez Fichier >
Enregistrer. Vous pouvez galement cliquer avec le bouton droit sur la barre de
menus du gabarit et choisir Enregistrer dans le menu contextuel.
La forme de base modifie est enregistre dans le gabarit. Si vous devez rtablir la
version prcdente de la forme de base, vous pouvez la modifier de nouveau pour
la reformater en utilisant les styles originaux. Sil sagit dun gabarit Visio, vous
pouvez rinstaller loriginal partir du CD de Visio.
212 CHAP I TRE 10
Ref ormat age de t out es les occurrences dune f orme de base
Vous pouvez rapidement reformater toutes les occurrences dune forme de base dun
document sans modifier celle-ci ni sa dfinition de style. Pour reformater dans un
dessin toutes les occurrences dune forme de base, vous pouvez modifier la copie de la
forme de base dans le gabarit du document.
En modifiant la copie dune forme
de base dans le gabarit du
document (A), vous modifiez toutes
ses occurrences sur la page de
dessin.
Pour ref ormat er t out es les occurrences dune f orme de base :
1 Choisissez Fentre > Afficher le gabarit de document.
2 Cliquez avec le bouton droit sur la forme de base dont vous souhaitez modifier les
occurrences, puis choisissez Modifier la forme de base dans le menu contextuel.
3 Dans la fentre de dessin de la forme de base, effectuez des modifications de
reformatage.
4 Fermez la fentre et, lorsquun message vous le demande, enregistrez vos
modifications pour visualiser les effets sur la page de dessin.
REMARQUE : cette technique fonctionne seulement si les occurrences de la forme de base
conservent leur formatage dorigine. Les formes auxquelles vous avez appliqu un style
diffrent ou un formatage local ne sont pas modifies.
A
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 213
Ut ilisat ion de st yles dans les gabarit s et les modles
Lorsque vous crez des gabarits et des modles destins tre utiliss par dautres, vos
styles doivent tre cohrents et faciles appliquer. Lutilisateur peut croire que les
styles sont les seules options de formatage disponibles. Il est donc prfrable dinclure
dans vos modles davantage de styles que ncessaire.
La liste Tous les styles de la barre
doutils Format permet daccder
facilement aux styles qui appliquent
le formatage du texte.
Maint ien de la cohrence dans les f ichiers
Lorsque vous crez un gabarit qui sera utilis avec un modle, les dfinitions de styles
doivent tre identiques dans les fichiers de gabarit et les fichiers de modle. Lorsquun
utilisateur cre une occurrence de forme de base, loccurrence hrite des styles de la
forme de base, qui sont appliqus comme suit :
Si aucun style du mme nom nexiste dans le fichier de dessin, il est copi depuis le
fichier de gabarit et ajout au fichier de dessin.
Si un style du mme nom existe dj dans le fichier de dessin, le style existant est
utilis.
Si, dans le fichier de dessin, la dfinition du style diffre de celle du fichier de gabarit,
la dfinition du dessin est utilise, et lapparence de la forme dans le dessin est
diffrente de celle de la forme de base. Ce comportement est parfois appel rgle de
lquipe qui reoit qui lemporte car le style sur la page de dessin lemporte sur
les attributs de formatage dun style portant le mme nom dans une forme de base. En
inspectant chaque dfinition de style, vous pouvez vrifier que les styles dun modle
sont cohrents avec ceux dun gabarit, mais cette opration est plutt fastidieuse. Une
technique plus simple consiste enregistrer une copie du fichier de gabarit (.vss) sous
la forme dun fichier de modle (.vst), supprimer toutes les formes de base du fichier
de modle et enregistrer le fichier despace de travail (.vsw) pour obtenir des styles et
des couleurs identiques.
Si vous projetez denregistrer la page de dessin sous la forme dun gabarit ou dun
modle, vous enregistrerez lespace de travail en supprimant tous les styles qui ne sont
pas utiliss par vos formes. Pour cela, utilisez la commande Dfinir les styles du menu
Format et supprimez les styles que vous navez pas utiliss. Une autre mthode
consiste ouvrir un nouveau fichier de dessin contenant seulement les styles par
dfaut, puis faire glisser dans le nouveau fichier les formes formates dotes des
styles copier. Pour plus dinformations sur le nettoyage des gabarits et des modles,
reportez-vous au chapitre 13, Diffusion de gabarits et de modles .
214 CHAP I TRE 10
Si une forme de la page de dessin ou du gabarit du document utilise un style que vous
supprimez, vous vous trouvez dans lune des situations suivantes :
Si le style est bas sur un autre, la forme utilise par dfaut le style de base.
Si le style nest bas sur aucun autre style, la forme utilise par dfaut le style Visio
Sans style, qui ne peut pas tre supprim.
Ut ilisat ion de convent ions de dnominat ion pour les st yles
Les styles que vous crez pour vos gabarits et vos modles sont plus faciles utiliser si
vous suivez de manire cohrente une convention. Des noms de styles explicites
comme Trait noir quart de pouce ou 8pt Arial Left sont plus vocateurs et
comprhensibles que des noms abrgs comme Ligne2 ou T8L . Les styles
apparaissent dans lordre alphabtique dans la liste de la barre doutils, et dans les
botes de dialogue Style et Dfinir les styles.
Lutilisation dune convention de dnomination correcte permet de conserver les
liens qui existent entre les divers styles dans les listes, facilitant ainsi la recherche du
style dsir. Les styles de trait, de remplissage et de texte avec des attributs similaires
doivent avoir des noms similaires. Par exemple, si vous nommez Trait 1 pxl un
style de trait large de 1 pixel, vous devez nommer Ligne 3 pxl plutt que Ligne3
un style de trait large de 3 pixels. Il est prfrable de nommer les styles en fonction de
la manire dont vous souhaitez quils soient utiliss :
Nommer des styles spcifiques une forme ou un gabarit en fonction des formes
auxquelles ils sont appliqus, comme Flux - Texte lien.
Nommer des styles de type gnral en fonction de leurs attributs de formatage,
comme Black Line ou Arial Centered.
CONSEIL : pour faire apparatre un style au dbut de la liste Tous les styles, faites prcder
son nom dun caractre ayant une valeur ASCII faible, comme un tiret (-). Par exemple,
- Standard Line ou - Corporate Blue .
Inst ruct ions concernant la df init ion des st yles
Les dveloppeurs Visio suivent ces instructions lors de la dfinition des styles. Elles
peuvent vous tre utiles pour dfinir des styles destins aux solutions que vous crez.
Les styles de texte doivent utiliser les polices TrueType livres avec
Microsoft

Windows

.
Limitez le choix des polices celles dont disposent tous les utilisateurs de
Windows 95, Windows 98 ou Windows NT

. Si vous savez que vos utilisateurs


disposent dautres polices (surtout celles conues pour les marchs spcialiss
comme les symboles cartographiques), vous pouvez utiliser en toute scurit ces
polices dans les styles que vous dfinissez.
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 215
Les styles de remplissage et de trait doivent utiliser des couleurs prises en charge
par un moniteur VGA 256 couleurs standard .
Limitez le choix des couleurs au systme graphique le plus lmentaire que vos
utilisateurs peuvent avoir. En fonction du public vis par votre solution et de la
configuration matrielle standard de ce public, vous pourrez offrir une slection
plus tendue.
Basez de prfrence vos styles sur le style Normal.
Lorsque vous avez une hirarchie de styles bass les uns sur les autres, la
modification dun style modifie automatiquement tous ceux quil a permis
dlaborer. Ce comportement peut perturber les utilisateurs non expriments.
Par consquent, il convient de dfinir des styles qui ne sont pas bass sur dautres
styles. En revanche, pour un public plus professionnel, vous pouvez, si vous le
souhaitez, tirer pleinement profit de cette puissante fonction dans vos solutions.
Crez des styles appliquant seulement un attribut de formatage (remplissage, trait
ou texte) ou les trois.
Pour les nouveaux utilisateurs, les styles avec plusieurs attributs peuvent prter
confusion. Il se peut toutefois que vos utilisateurs emploient toujours le mme style
de remplissage, de trait et de texte pour une forme donne. Si cest le cas, vous
pouvez mettre au point un style contenant les trois types de formatage.
Prot ect ion des f ormat s locaux des f ormes
Lapplication dun style peut modifier les formules dans les sections Format de trait,
Format de remplissage, Format de bloc de texte, Caractres, Paragraphe et
Tabulations dune forme. Si elles ne sont pas protges, les formules (personnalises)
locales risquent dtre remplaces dans les cellules ShapeSheet

correspondantes. Par
exemple, vous pouvez crire une formule personnalise dans la cellule Taille de la
section Caractres dune forme de base pour modifier de manire dynamique la taille
de la police de cette forme de base, en fonction de la hauteur de son bloc de texte. Si
un utilisateur applique la forme un style de texte diffrent, la formule personnalise
est crase.
Vous pouvez protger les formats locaux des formes en utilisant loption Conserver le
formatage local, en activant la cellule VerrFormat ou en utilisant la fonction
PROTECTION pour protger les formules.
216 CHAP I TRE 10
Ut ilisat ion de lopt ion Conserver le f ormat age local
Vous pouvez protger le formatage local des formes en cochant loption Conserver le
formatage local dans la bote de dialogue Style lors de lapplication dun autre style.
Lorsque vous cochez loption Conserver le formatage local, le style est appliqu, mais
le formatage local est conserv. Si la case Conserver le formatage local nest pas
coche, le nouveau style est appliqu et tout formatage local est cras.
Ut ilisat ion de la cellule VerrFormat et de la f onct ion
PROTECTION
Dans la section Protection de la feuille dune forme, vous pouvez donner la cellule
VerrFormat la valeur 1 afin de protger la forme contre toute modification de
formatage et de style. Lutilisation de la fonction PROTECTION dans une formule
empche cette cellule dtre modifie lorsquun utilisateur applique un formatage ou
des styles. Si vous protgez un groupe en utilisant la cellule VerrFormat, vous
empchez automatiquement les formes et les autres groupes quil contient dhriter
du formatage ; en revanche, lutilisateur peut slectionner des formes secondaires du
groupe qui ne sont pas explicitement verrouilles et modifier leur formatage. Pour
plus dinformations sur la protection du formatage dans un groupe, reportez-vous au
chapitre 6, Regroupement et fusion de formes .
Utilisez la cellule VerrFormat et la fonction PROTECTION avec prcaution.
Lorsquune forme est verrouille contre le formatage, le moteur Visio affiche
automatiquement un message si un utilisateur essaie de formater la forme. Au
contraire, la fonction PROTECTION fonctionne sans aucune notification ni aucun
message utilisateur. Ces comportements risquent de gner lutilisateur qui souhaite
formater une forme protge. Lorsque vous crez des formes, il est ncessaire de
trouver un quilibre convenable entre la limitation du comportement des formes et
lamlioration de la flexibilit de lutilisateur dans votre solution.
Gest ion de la couleur dans les st yles, les f ormes et les f ichiers
Lorsque vous crez des formes de base, vous devez prendre en compte lapparence de
la couleur de la forme de base sur diffrents systmes utilisateur. Vous pouvez
appliquer une couleur une forme en utilisant soit la palette de couleurs Visio soit
une couleur personnalise. La mthode choisie a une incidence sur lapparence de la
forme dans un autre document. Vous pouvez appliquer une couleur une forme en
utilisant les mthodes suivantes :
En appliquant une couleur choisie dans la palette de couleurs Visio. Choisissez
lindice de lune des couleurs de la palette. Le moteur Visio enregistre seulement
lindice sur la palette de couleurs et non la couleur elle-mme.
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 217
En dfinissant, soit dans la bote de dialogue Couleur, soit sous la forme dune
formule, une valeur RVB (rouge, vert, bleu) ou TSL (teinte, saturation,
luminosit). Vous appliquez ainsi une couleur personnalise une forme.
Modif icat ion de la palet t e de couleurs
La palette de couleurs apparat dans la bote de dialogue Palette de couleurs, ainsi que
dans la liste droulante des couleurs dans les botes de dialogue Remplissage, Trait,
Dfinir la police, Bloc de texte et dautres. Pour tout document qui utilise la palette
Visio par dfaut, un indice de couleur renvoie la mme couleur : 0 pour noir, 1 pour
blanc, 2 pour rouge, etc.
En revanche, lutilisateur peut, en modifiant la palette de couleurs, choisir la couleur
quil souhaite voir apparatre nimporte quel indice. Dans ce cas, toute proprit de
couleur associe cet indice peut changer de couleur. Par exemple, si vous appliquez
une couleur de remplissage une forme de base en cliquant sur le rouge dans la
palette, la couleur de remplissage de la forme est enregistre sous le nombre 2. Si un
utilisateur cre une occurrence de la forme de base rouge dans un document dans
lequel le second indice de la palette de couleurs a t modifi, la couleur de
remplissage de la forme passe dans cette couleur.
La plupart des utilisateurs ne modifient pas la palette de couleurs dun document, il
est peu vraisemblable que les couleurs changent. Mais vous pouvez vous assurer
quune couleur de forme ne change jamais, quelle que soit la palette de couleurs du
document, en utilisant une couleur personnalise RVB ou TSL. Pour indiquer une
couleur personnalise sous la forme dune formule, utilisez la fonction RVB ou la
fonction TSL. Pour plus dinformations sur lutilisation de ces fonctions,
reportez-vous la section Utilisation dune formule pour dfinir une couleur
personnalise , page 218.
Normalisat ion des palet t es de couleurs pour t ous les
document s
Lorsque vous crez des gabarits que vous avez lintention douvrir avec un modle,
utilisez la mme palette de couleurs dans tous les documents. Si les palettes de
couleurs ne sont pas identiques, les couleurs dfinies par un indice dans les styles
dune forme de base peuvent changer lorsquune occurrence est dplace dans un
document qui dispose dune valeur de couleur diffrente de cet indice. Pour
normaliser la palette de couleurs utilise dans les documents qui sont censs tre
ouverts ensemble, comme les gabarits et les modles, vous pouvez copier dans un
autre fichier la palette de couleurs utilise dans un fichier.
218 CHAP I TRE 10
Si vous modifiez la palette de couleurs dans un fichier de gabarit, vous pouvez copier
les couleurs dans un modle.
Pour copier la palet t e de couleurs dun gabarit dans un modle :
1 Ouvrez le fichier de modle.
2 Choisissez Outils > Palette de couleurs.
3 Dans Copier les couleurs de, slectionnez le gabarit dont vous souhaitez copier la
palette de couleurs dans le fichier de modle, puis cliquez sur OK.
Veillez enregistrer le document.
Ut ilisat ion dune f ormule pour df inir une couleur
personnalise
Vous pouvez dfinir la couleur des formes en utilisant une fonction qui spcifie une
valeur RVB ou TSL. Par exemple, pour garantir quune forme de panneau stop est
toujours rouge, vous pouvez saisir la formule suivante dans la section Format de
remplissage :
Les trois arguments de la fonction RVB spcifient les composants rouge, vert et bleu
de la couleur. Chacun de ces composants peut avoir une valeur de 0 255. Pour
indiquer une couleur laide dune valeur TSL, vous pouvez la place utiliser la
formule TSL(0,240,120) dans la cellule RemplPremPlan. Pour plus dinformations
sur la syntaxe de la fonction, recherchez fonction TSL ou fonction RVB dans
laide en ligne Rfrence du dveloppeur (choisissez ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
Plutt que dindiquer des constantes de couleur en guise dargument de ces fonctions,
vous pouvez utiliser les fonctions ROUGE, VERT et BLEU, ou TEINTE,
SATURATION et LUMINOSITE pour renvoyer la valeur dune constante de couleur
de la palette de couleurs du document ou dune autre cellule. Dans lexemple du
panneau stop, ROUGE(RemplPremPlan) renvoie 255, la valeur du composant de
rouge dans la couleur de remplissage.
Pour dfinir une couleur partir de celle dune autre cellule dans la mme forme ou
dans une autre forme, vous pouvez utiliser la fonction RVB et TSL conjointement
avec les autres fonctions de couleur. Cela est particulirement utile dans un groupe
qui contient des formes de couleurs associes mais non identiques. Vous pouvez
dfinir les couleurs de la forme groupe en tant que couleur de forme pour le groupe.
Par exemple, si la forme au premier plan du groupe est Etoile 7, vous pouvez saisir ce
qui suit dans Etoile 7.2 :
Pemp1PemP1ah = Pv|2SS00)
Pemp1PemP1ah = Pv|P0uCE|Ieu111e.7!Pemp1PemP1ah)00)
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 219
Si un utilisateur applique une nouvelle couleur au groupe, la forme au premier plan
change de couleur, mais Etoile 7.2 modifie seulement la proportion de rouge dans sa
couleur de remplissage.
Lorsque vous indiquez une couleur personnalise laide des fonctions RVB ou TSL,
la couleur est ajoute au bas de la liste des couleurs dans les botes de dialogue
Remplissage, Trait, Dfinir la police, ainsi que dans les autres botes de dialogue dans
lesquelles vous associez une couleur. Si vous crez une forme de base partir dune
forme laquelle une couleur personnalise a t associe, puis que vous dplaciez une
occurrence de cette forme dans un autre document Visio, la couleur personnalise est
ajoute galement aux listes de couleurs du document.
Une couleur personnalise est enregistre seulement avec la forme laquelle elle a t
applique. Si vous supprimez une forme avec une couleur personnalise, puis que
vous enregistriez et fermiez le document, la couleur personnalise napparat plus,
lors de louverture suivante du mme document, dans les listes de couleurs des
diffrentes botes de dialogue, moins quune autre forme utilise aussi cette couleur
dans le document.
Mot if s personnaliss
Vous pouvez crer vos propres motifs de remplissage, motifs de traits et extrmits de
traits. Pour faciliter la prsentation, ces styles sont regroups sous lappellation motifs
personnaliss et apparaissent sous la forme doptions dans les botes de dialogue
Remplissage et Trait. Pour crer un motif personnalis, crez le motif dune forme de
base reprsentant une occurrence du motif, comme un point qui, lorsquil est
appliqu sous la forme dun remplissage, ressemble un motif complet, comme des
points polka. Un motif de forme de base est un type particulier de forme de base qui
apparat seulement sous la forme dun motif de remplissage, dun motif de trait ou
dune extrmit de trait supplmentaire.
Lorsque vous crez un motif de forme de base, vous paramtrez ses proprits pour
indiquer :
Le nom du motif de la forme de base.
Le type de motif personnalis : motif de remplissage, motif de trait ou extrmit de
trait.
Le comportement du motif, cest--dire la manire dont le motif personnalis est
appliqu une forme et la manire dont il volue lorsque la forme est tire ou
formate.
Lutilisation du motif personnalis dans des dessins mis lchelle ou non.
220 CHAP I TRE 10
Un motif personnalis est toujours enregistr sous la forme dun motif de forme de
base, bien quil ne soit pas visible dans le gabarit. Les noms des motifs des formes de
base apparaissent dans lordre alphabtique au bas de la liste doptions, dans la bote
de dialogue Remplissage ou Trait. Lutilisateur peut alors appliquer le motif
personnalis en choisissant Format > Trait ou Format > Remplissage, puis en
slectionnant le nom du motif de la forme de base dans la liste approprie. Les motifs
personnaliss apparaissent dans la fentre Drawing Explorer lorsque le gabarit dans
lequel ils figurent est ouvert et quils ont t appliqus aux formes dans le dessin.
Crat ion dun mot if personnalis
Lorsquun utilisateur applique un motif personnalis, son motif de forme de base est
copi dans le gabarit du document. Le motif personnalis reste alors disponible dans
le document actif, mme si le gabarit autonome contenant le motif de forme de base
dorigine est ferm. Le moteur Visio enregistre le choix en insrant la fonction USE
dans la cellule MotifRempl, MotifTrait, DpartFlche ou FinFlche. Par exemple, si
un utilisateur applique une extrmit de trait personnalise appele Etoile au point de
dpart dun trait, la cellule DpartFlche du trait contiendra la formule USE(Etoile).
Le moteur Visio applique le motif personnalis en fonction de la taille de son
rectangle de slection.
Si un utilisateur napplique pas de motif personnalis particulier partir dun gabarit
lorsque le gabarit est ouvert, il napparat plus dans les botes de dialogue Remplissage
et Trait, une fois que le gabarit dans lequel il figure est ferm.
Si un utilisateur copie dans un autre document une forme formate avec un motif
personnalis, les rgles dhritage habituelles sappliquent. Le motif de la forme de
base est copi dans le nouveau document, moins que le nouveau document
contienne dj un motif de forme de base du mme nom, auquel cas la forme de base
du document de ce nom est applique.
La plupart des techniques utilises pour mettre au point des formes de base
sappliquent galement lors de la cration des motifs des formes de base. Par exemple,
vos utilisateurs et vous obtiendrez des rsultats plus prvisibles si vous utilisez une
forme unique ou un groupe dans votre forme de base (forme ou motif). Vous pouvez
toujours combiner plusieurs gomtries pour crer une forme unique laide des
commandes du sous-menu Oprations du menu Forme. Vous devez, en outre, crer
un motif de forme de base sous la forme dune occurrence unique de llment de
base rpter selon vos besoins.
REMARQUE : nutilisez pas de texte, de bitmaps ou de remplissages graduels dans un
motif de forme de base. Ils napparaissent pas lorsque le motif est appliqu une forme.
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 221
Pour crer un mot if personnalis :
1 Ouvrez un document ou un gabarit.
2 Choisissez Affichage > Fentres > Drawing Explorer. Dans Drawing Explorer

,
cliquez avec le bouton droit sur le dossier Motifs de remplissage, Motifs de ligne ou
Extrmits de trait, puis choisissez Nouveau motif dans le menu contextuel.
3 Dans la zone Nom, saisissez le nom du motif personnalis tel que vous souhaitez
quil apparaisse dans les botes de dialogue Remplissage et Trait.
4 Dans la zone Type, choisissez Motif de trait, Extrmit de trait ou Motif de
remplissage.
5 Dans la zone Comportement, choisissez une option pour indiquer la manire dont
le motif est appliqu une forme.
Pour plus dinformations sur le comportement du motif personnalis,
reportez-vous aux sections suivantes.
6 Cochez la case Mise l'chelle si le motif personnalis reprsente un objet avec des
dimensions relles.
Par exemple, si vous crez un motif de remplissage de carreaux de cuisine de
10 centimtres carrs, cochez la case Mise l'chelle pour conserver les dimensions
du motif lorsque celui-ci est appliqu une forme sur une page de dessin mise
lchelle.
7 Cliquez sur OK pour crer une forme de base vide.
8 Ouvrez le dossier appropri, puis cliquez avec le bouton droit sur le nom du motif
que vous venez dajouter. Choisissez Modifier le motif dans le menu contextuel
pour ouvrir la fentre de dessin de la forme de base, o vous pouvez dessiner un
motif personnalis.
Pour que les utilisateurs puissent modifier la couleur dun motif ou dune
extrmit de trait aprs lavoir applique une forme, crez le motif de la forme de
base en noir et blanc en suivant les indications des rubriques suivantes.
9 Aprs avoir cr le motif, fermez la fentre de dessin de la forme de base et
enregistrez le document en tant que gabarit.
Bien que les icnes des motifs que vous crez ne soient pas visibles lorsque vous
enregistrez un motif dans un gabarit, les motifs que vous avez dfinis apparaissent
au bas des listes dans les botes de dialogue Remplissage et Trait lorsque ce gabarit
est ouvert. Lorsquun motif personnalis est appliqu une forme, le nom du
motif est ajout la liste dans la fentre Drawing Explorer actuelle.
222 CHAP I TRE 10
Crat ion de mot if s de remplissage personnaliss
Vous pouvez crer des motifs de remplissage personnaliss qui remplissent une forme
de trois manires, en fonction du comportement que vous choisissez dans la bote de
dialogue Proprits de la forme de base. La mosaque est le type de comportement le
plus frquent pour les motifs de remplissage. Les occurrences du motif sont rptes
pour remplir la forme partir de langle infrieur gauche vers lextrieur, comme dans
lexemple suivant.
Vous pouvez aussi crer un motif de remplissage centr ou tir. Dans un motif
centr, une seule occurrence du motif remplit la forme. Laxe du motif est align avec
laxe de la forme. Dans un motif tir, une seule occurrence du motif est tire
horizontalement et verticalement pour remplir une forme. La position de laxe du
modle nest pas prise en compte. Lorsque vous redimensionnez la forme, le motif est
galement redimensionn, la diffrence des motifs en mosaque ou intgrs.
Lorsque vous crez un motif de
remplissage personnalis, vous
pouvez aussi indiquer la manire
dont ce modle est appliqu aux
formes. Vous pouvez choisir de
remplir la forme avec des
occurrences du modle partir de
langle infrieur gauche vers
lextrieur (A), centrer une
occurrence du motif sur la forme
(B) ou ltirer pour remplir la
forme (C).
Couleurs du mot if de remplissage
Si vous crez votre motif de remplissage en noir et blanc, lutilisateur peut paramtrer
la couleur du motif lorsquil lapplique une forme comme avec tout motif de Visio.
Les zones blanches (trait ou remplissage) de votre motif hritent de la couleur de
remplissage du premier plan de la forme laquelle le motif est appliqu ; les zones
noires (trait ou remplissage) de votre motif hritent de la couleur de remplissage de
larrire-plan de la forme. Si votre motif contient des couleurs autres que le noir et le
blanc, il conserve ces couleurs lorsquil est appliqu une forme.
A B C
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 223
Crat ion de mot if s en mosaque
La mosaque est le comportement le plus frquent pour les motifs de remplissage : le
motif est mis en mosaque par les bords du rectangle de slection. Vous pouvez
obtenir diffrents effets de mosaque en crant un motif avec un rectangle de slection
plus ou moins grand, comme le montre la figure suivante, ou en dcentrant le motif
lintrieur du rectangle de slection. Pour plus dinformations sur la cration dun
rectangle de slection de taille personnalise, reportez-vous la section Rglage de la
taille du rectangle de slection dune forme , page 240.
Dans cet exemple, le motif de la
forme de base inclut deux formes
triangulaires dcales dans un
grand rectangle de slection (A).
Les motifs de remplissage en
mosaque remplissent la forme
partir de langle infrieur gauche.
Lorsque votre motif en mosaque reprsente un objet rel, cochez la case Mise
l'chelle dans la bote de dialogue Proprits de la forme de base. Par exemple, la
mosaque dun sol en cramique de 30 cm sur 30 cm doit toujours tre de la mme
taille, quelle que soit lchelle du dessin sur lequel elle est utilise. Par dfaut, le motif
de remplissage nest pas mis lchelle, ce qui signifie que le motif se comporte
comme les motifs intgrs Visio : il simprime toujours la mme taille, quelle que
soit lchelle du dessin.
Sur une page de dessin qui utilise
une chelle architecturale, un motif
non mis lchelle (A) est identique
sur une page sans chelle, mais un
motif mis lchelle (B) conserve
ses dimensions.
A
A B
224 CHAP I TRE 10
Crat ion de mot if s de t rait personnaliss
En appliquant un motif de trait personnalis, un utilisateur peut reformater un trait
pour en faire une voie ferre, une alle de jardin pave ou tout autre motif de trait.
Lorsque vous crez un motif de trait, tudiez la faon dont le motif se rpte le long
du trait, dans les courbes et dans les angles. Dterminez si le motif doit tre
redimensionn lorsque lpaisseur du trait est modifie. Ces lments, qui constituent
le comportement du motif, dterminent la manire dont le moteur Visio applique le
motif un trait ; ils peuvent donc affecter de manire significative lapparence du
trait.
Choisissez loption Comportement dans la bote de dialogue Proprits de la forme de
base pour contrler la manire dont un motif de trait est appliqu un trait. Vous
pouvez crer des motifs de trait qui se comportent de quatre faons diffrentes,
comme le montre les illustrations suivantes.
Pour crer une voie ferre, chaque occurrence du motif est incurve pour sadapter
aux courbes au fur et mesure des rptitions sur la longueur du trait.
Le choix de loption de courbure (A)
incurve les occurrences du modle
afin de les adapter au trait courb.
Pour crer une alle de jardin, chaque occurrence du motif est positionne et
pivote au fur et mesure des rptitions sur la longueur dun trait.
Le choix de loption dannotation (B)
rpte les occurrences du modle
afin de les adapter au trait sans les
incurver.
A
B
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 225
Pour crer une ligne incline, une seule occurrence du motif est tire sur la
longueur dune spline.
Le choix de loption dtirement (C)
tire une seule occurrence du motif
sur la longueur dun trait.
Pour crer un trait de flux, le motif est rpt en haut de la ligne, pour recouvrir
lensemble des occurrences du motif entre les angles. Le rectangle de slection est
plus grand que la pointe de flche contrlant lespacement entre les occurrences du
motif.
Le choix de loption de mosaque
(D) rpte les occurrences du motif
en haut du trait et permet dobtenir
un effet collier .
C
D
226 CHAP I TRE 10
Personnalisation du rectangle de slection et de laxe
Pour crer un motif de trait efficace, vous devez prendre en compte la taille du
rectangle de slection et la position de laxe, ainsi que la forme du motif. Pour adapter
un motif un trait, laxe du motif est align sur le trait, et rpte ou tire le motif par
les bords de son rectangle de slection. Si le rectangle de slection est plus grand que le
motif, des espaces apparaissent entre les occurrences du modle au fur et mesure
quils sont rpts sur le trait. Si le rectangle de slection est plus petit que le modle,
vous obtiendrez un effet de superposition lorsque le motif sera appliqu. Pour plus
dinformations sur le rectangle de slection de taille personnalise, reportez-vous la
section Rglage de la taille du rectangle de slection dune forme , page 240.
En changeant le rectangle de
slection dun motif de trait, vous
pouvez contrler la manire dont
les occurrences dun motif se
rptent le long dun trait.
A Le rectangle de slection du motif de trait flche de flux est plus grand que loccurrence du motif.
B Le rectangle de slection du motif de trait flche de superposition est plus petit que loccurrence
du motif.
C Trait avec motif de flche de flux
D Trait avec motif de flche de superposition
Comparaison des motifs de trait mis lchelle et non mis lchelle
Si vous crez un motif de trait non mis lchelle (cest--dire sans cocher la case Mise
l'chelle dans la bote de dialogue Proprits de la forme de base de la forme de
base), lorsquun utilisateur applique un motif de trait, le moteur Visio redimensionne
son rectangle de slection jusqu ce que sa hauteur soit gale lpaisseur du trait. Les
motifs de trait mis lchelle conservent leurs dimensions, quelle que soit lchelle du
dessin ou lpaisseur du trait.
A
C
B
D
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 227
Couleur des motifs de trait
Lorsque vous crez un motif de trait, appliquez du noir aux zones (trait ou
remplissage) que vous souhaitez rendre modifiables par lutilisateur en choisissant
une nouvelle couleur dans la bote de dialogue Trait. Appliquez du blanc ou toute
autre couleur aux zones que vous ne souhaitez pas rendre modifiables par
lutilisateur. Si vous souhaitez que la zone de remplissage soit transparente lors de
lapplication une ligne, paramtrez sur Aucun le remplissage du motif de trait.
Crat ion dext rmit s de t rait s personnalises
Une extrmit de trait personnalise constitue le type de modle personnalis le plus
simple crer. Il sagit simplement dune forme que vous pouvez associer au point de
fin dun trait. Lorsque vous crez une extrmit de trait, vous dterminez si elle peut
tre adapte la direction du trait auquel elle est associe et si elle est redimensionne
lorsque lpaisseur de trait change. Vous pouvez crer une extrmit de ligne qui
adopte les comportements suivants :
Elle est oriente par rapport au trait. Si vous dplacez le trait, lextrmit du trait
sadapte afin dtre oriente dans la mme direction.
Elle est oriente par rapport la page. Si vous dplacez le trait, lextrmit du trait
conserve son orientation sur la page.
Le moteur Visio associe laxe de lextrmit du trait au point de fin dun trait. Si le
comportement de lextrmit du trait est de sorienter par rapport au trait, ce dernier
est coup, entre son point de fin et le rectangle de slection de lextrmit du trait.
Sinon, le trait nest pas coup. Lorsque vous crez une extrmit de trait, dterminez
la position de laxe permettant dobtenir le meilleur effet. Par exemple, pour crer une
tte de flche, vous pouvez dessiner un triangle, puis dplacer laxe vers la pointe.
REMARQUE : une extrmit de trait doit pointer vers la droite ; sinon, elle nest pas
applique correctement.
228 CHAP I TRE 10
A La pointe de flche simple est un triangle droit avec un remplissage noir.
B La pointe de flche raffine est un groupe avec un rectangle de slection lgrement plus troit
que le triangle. Laxe a t dplac vers la pointe de la flche.
C Extrmit de trait Pointe de flche simple applique une ligne de 36 pixels.
D Extrmit de trait Pointe de flche raffine applique une ligne de 36 pixels.
CONSEIL : Pour dplacer laxe dune forme, cliquez avec le bouton droit sur la forme,
choisissez Affichage > Taille et position dans le menu contextuel, puis choisissez une
option du menu dans le champ Pos. axe. Vous pouvez galement slectionner la forme
avec loutil de rotation, puis faire glisser laxe un autre emplacement.
Vous devez galement savoir, lors de la cration dune extrmit de trait, si sa taille
doit dpendre de lpaisseur du trait auquel elle est applique. Si vous crez une
extrmit de trait non mise lchelle (sans cocher la case de mise lchelle dans la
bote de dialogue Proprits de la forme de base de la forme de base), la hauteur du
rectangle de slection de lextrmit du trait est paramtre pour tre gale
lpaisseur du trait, tant que lutilisateur donne au paramtre Taille la valeur Moyen
(la valeur par dfaut) dans la bote de dialogue Trait. En revanche, sur un trait de
1 pixel, lextrmit de trait peut ne pas tre visible. Pour garantir que votre extrmit
de trait fonctionne pour nimporte quelle paisseur de trait, vous pouvez
personnaliser son rectangle de slection. Si un utilisateur donne au paramtre Taille
une valeur autre que Moyen, lextrmit du trait est redimensionne de la mme
manire que nimporte quelle extrmit de ligne est redimensionne. Pour plus
dinformations sur la cration dun rectangle de slection avec une taille
personnalise, reportez-vous la section Rglage de la taille du rectangle de
slection dune forme , page 240.
Si votre extrmit de trait reprsente un objet avec des dimensions relles, comme un
raccord au bout dun tuyau, cochez la case Mise l'chelle dans la bote de dialogue
Proprits de la forme de base de la forme de base. Les paramtres Taille et Epaisseur
de la bote de dialogue Trait nont aucune incidence sur la taille dune extrmit de
trait mise lchelle.
A B
C D
Sommaire
11
Rorganisat ion des f ormes
dun dessin
Lorsque vous crez des modles Microsoft

Visio

, la plus grande attention est


souvent apporte la dfinition du comportement qui dtermine la manire dont les
formes de vos gabarits interagissent entre elles et avec la page de dessin. La mme
attention doit tre apporte leur mode de rorganisation sur la page.
Vous pouvez organiser vos formes sur la page de dessin laide de calques. Vous
disposez pour ce faire de plusieurs outils, notamment des repres de grille et de rgle.
Lalignement des formes sur la page dpend galement des paramtres dattraction du
document et du comportement des rectangles de slection.
En outre, le moteur Visio offre une fonction de mise en page automatique puissante.
Lorsquils sont configurs, les paramtres de cette fonction vous permettent de mieux
contrler la position des formes les unes par rapport aux autres lors de la mise en page
automatique.
Attribution de formes et de formes de base des calques................................ 230
Cration dune grille............................................................................................... 233
Alignement des formes sur des repres et des points de repre...................... 237
Accrochage de formes une grille laide des rectangles de slection........... 240
Cration de formes et mise en page automatique.............................................. 243
230 CHAP I TRE 11
At t ribut ion de f ormes et de f ormes de base des calques
Les calques permettent dorganiser les formes dun dessin. Dans les autres
programmes graphiques, le terme calques fait souvent rfrence lordre (premier
plan/arrire-plan) des objets sur la page. Dans Visio, les calques sont des catgories
regroupant les formes apparentes. Lappartenance dune forme un calque na
aucune incidence sur son ordre daffichage.
Vous pouvez masquer ou afficher des calques, les imprimer ou les paramtrer pour
viter toute modification. Les formes peuvent tre attribues plusieurs calques. Les
informations de calque dune forme ne dpendent pas de son ordre daffichage ni
mme de son appartenance un groupe. En outre, chaque page dun document peut
prsenter son propre jeu de calques. Lorsque vous crez des formes de base, vous
pouvez les associer des calques ; lorsque les utilisateurs crent des occurrences de ces
formes, elles sont automatiquement attribues ces calques.
Les formes peuvent appartenir
plusieurs calques. Dans cet
exemple, les formes du lac et de la
boussole appartiennent aux
calques des rues (A), des lments
gographiques (B) et des routes
(C).
Ut ilisat ion opt imise des calques
Lorsquun utilisateur insre une forme de base dans la page de dessin, loccurrence
hrite des informations de calque de la forme de base. Si la forme de base est attribue
un calque qui nexiste pas sur la page, le moteur Visio le cre automatiquement.
Lorsque les formes sont attribues des calques, les utilisateurs peuvent appliquer une
surbrillance de couleur distincte aux formes de chaque calque afin de pouvoir
imprimer, verrouiller et masquer toutes les formes dun calque. Une forme peut
appartenir plusieurs calques. Vous pouvez par consquent crer des formes
reprsentant une utilisation concrte complexe.
Par exemple, si vous crez des formes pour un gabarit dagencement despace, vous
pouvez attribuer quatre calques distincts aux formes correspondant aux murs et aux
portes, aux fentres, aux prises lectriques et au mobilier. Vous pouvez mettre en
surbrillance toutes les formes du calque des prises lectriques afin de les rendre plus
visibles, ou verrouiller le calque des murs pendant que vous modifiez les formes du
calque des fentres afin dempcher toute modification fortuite.
RORGANI SATI ON DES FORMES D UN DESSI N 231
Les calques appartiennent aux pages ; chaque page est associe une liste de calques.
Les formes peuvent appartenir plusieurs calques. En masquant ou en verrouillant
plusieurs calques sur une page, vous pouvez indiquer les formes qui seront visibles et
celles qui seront modifiables.
Comme les calques appartiennent aux pages, chaque page dun fichier de dessin peut
prsenter un jeu de calques distinct. Les formes des pages de premier plan et
darrire-plan peuvent tre organises grce aux calques. Une forme peut appartenir
plusieurs calques ou lensemble des calques de la page actuelle. Si vous copiez sur
une autre page du dessin une forme appartenant un calque, ce calque est ajout la
page de destination sil nexiste pas encore.
Pour crer des calques et cont rler le comport ement de chacun deux :
Choisissez Affichage > Proprits des calques, puis slectionnez des options.
Pour supprimer des calques :
Choisissez Affichage > Proprits des calques, cochez loption Retirer les calques
non rfrencs dans la bote de dialogue Proprits des calques, puis cliquez sur
OK.
Vous pouvez supprimer de la page de dessin tous les calques qui ne sont associs
aucune forme afin de rduire la taille de fichier du document. Cette prcaution est
particulirement utile lorsque vous crez un gabarit ou un modle destin
dautres utilisateurs.
At t ribut ion de f ormes de base des calques
Lorsque vous crez des calques de page dans la bote de dialogue Proprits des
calques, chaque calque est associ un index numrique qui complte son nom.
Lindex du premier calque cr est 0, lindex du deuxime est 1, etc. Si vous
supprimez le calque 0, les autres calques ne changent pas de numro. Dans la bote de
dialogue, les calques sont rpertoris dans lordre alphabtique. Cet ordre ne
correspond donc pas forcment aux numros dindex des calques.
Lorsque vous attribuez une forme de base un calque, chaque calque cr est associ
un numro. Toutefois, lorsquune occurrence de la forme de base est place sur la
page, les numros dindex des calques correspondants remplacent ceux qui taient
attribus aux formes de base. Par exemple, supposons quune page possde deux
calques, A et B, et que les index correspondants soient 0 et 1. Si vous insrez sur la
page de dessin une occurrence dune forme de base contenant le calque Z, dont le
numro dindex dans la liste des calques de la forme de base est 0, ce calque est ajout
la liste des calques de la page et son numro dindex est remplac. Le calque Z est
dsormais associ au numro dindex 2.
232 CHAP I TRE 11
Lorsque vous attribuez une forme un calque, la section Appartenance au calque de
la feuille de la forme utilise le numro dindex du calque pour indiquer les calques
auxquels est associe la forme de base ou la forme. Si vous envisagez dutiliser la
fentre ShapeSheet

afin dassocier des formes un calque, il est judicieux de faire


figurer dans son nom son numro dindex.
Pour at t ribuer une f orme de base un calque :
1 Cliquez avec le bouton droit sur la forme de base dans la fentre du gabarit, puis
choisissez Modifier la forme de base dans le menu contextuel.
La forme de base apparat dans la fentre de dessin de la forme de base.
REMARQUE : si vous attribuez une forme de base un calque, le gabarit contenant la
forme de base doit tre ouvert en tant quoriginal ou en tant que copie. Si le gabarit est
ouvert en lecture seule, cliquez avec le bouton droit sur sa barre de titre, puis choisissez
Modifier dans le menu contextuel.
2 Slectionnez la forme de base, puis choisissez Format > Calque.
3 Dans la bote de dialogue Nouveau calque, indiquez le nom du calque auquel vous
souhaitez attribuer la forme, puis cliquez sur OK. La bote de dialogue Calque qui
apparat comporte une liste dans laquelle se trouve le nouveau calque.
4 Pour attribuer la forme de base un autre calque, cliquez sur Crer et rptez
ltape 3.
5 Cliquez sur OK afin de fermer la bote de dialogue Calque, puis cliquez sur la case
de fermeture pour fermer la fentre de dessin de la forme de base. Cliquez ensuite
sur Oui afin de mettre jour la forme de base.
REMARQUE : lorsque vous avez fini de modifier les formes de base du gabarit, cliquez
de nouveau avec le bouton droit sur la barre de titre du gabarit,
dslectionnez Modifier, puis enregistrez vos modifications dans le fichier du gabarit.
Pour plus dinformations sur la modification des gabarits, consultez laide en ligne
fournie avec Visio.
Pour at t ribuer une f orme un calque :
1 Cliquez sur la forme avec le bouton droit, puis choisissez Format > Calque.
2 Dans la bote de dialogue Calque, slectionnez le calque auquel la forme de base
doit appartenir, puis cliquez sur OK.
Pour attribuer une forme de base plusieurs calques, appuyez sur la touche Ctrl et
cliquez sur les diffrents calques.
RORGANI SATI ON DES FORMES D UN DESSI N 233
Sil nexiste actuellement aucun calque, la bote de dialogue Nouveau calque
apparat. Saisissez le nom du nouveau calque, puis cliquez sur OK. La bote de
dialogue Calque qui apparat contient une liste dans laquelle figure le nouveau
calque.
3 Cliquez sur OK pour fermer la bote de dialogue Calque.
Pour plus dinformations sur lutilisation de calques sur la page de dessin, recherchez
formes prsentes sur des calques et calques sur les pages dans laide en ligne
fournie avec Visio.
Crat ion dune grille
Par dfaut, la page de dessin Visio affiche une grille. Si vous utilisez la grille au
moment de crer lchelle de vos formes et les pages de dessin, les utilisateurs peuvent
positionner rapidement un dessin par magntisme. Il nest pas ncessaire de
positionner toutes les formes sur une grille par magntisme. De mme, il nest pas
ncessaire de crer une grille personnalise pour tous les modles. Dans les dessins
plus techniques, toutefois, vous devez obligatoirement prendre en compte la grille
pour crer des formes de base.
Pour plus dinformations sur lutilisation des grilles dans les dessins mis lchelle,
reportez-vous au chapitre 12, Formes mises lchelle et dessins cots .
Df init ion de la grille pour la page de dessin dun modle
Lorsque vous configurez la page de dessin dun modle, vous pouvez choisir dutiliser
une grille variable ou fixe. Dans une grille variable, lincrmentation change ds que
vous procdez un zoomavant ou un zoomarrire. En revanche, dans une grille
fixe, le grossissement na aucune incidence sur lincrmentation. Dans les deux cas,
vous pouvez dfinir les graduations de la grille et des rgles. Dans chaque vue, les
utilisateurs doivent pouvoir facilement positionner des lments par magntisme sur
une grille qui utilise le mme espacement que les formes de base.
Les paramtres de grille slectionns dans la bote de dialogue Rgles et grille sont
stocks dans la section Rgles et grille de la ShapeSheet

de la page. Les paramtres des


grilles variables sont stocks dans les cellules DensitGrilleX et DensitGrilleY. Ceux
des grilles fixes sont stocks dans les cellules EspacementGrilleX et
EspacementGrilleY.
Pour df inir lespacement de la grille :
Choisissez Outils > Rgles et grille.
Pour af f icher ou masquer la grille :
Choisissez Affichage > Grille.
234 CHAP I TRE 11
Pour af f icher les f ormules Rgles et grille dune grille :
Lorsquaucun lment de la page de dessin nest slectionn, choisissez Fentres >
Afficher la feuille ShapeSheet, puis passez la section Rgles et grille.
Crat ion de f ormes de base f onct ionnant avec une grille
Si vous crez des formes de base dont les dimensions sont des multiples de
lespacement de grille existant, les utilisateurs peuvent avoir recours la fonction de
grille magntique afin de positionner leurs formes avec prcision. Lorsquun
utilisateur insre une forme de base du gabarit, loccurrence est, une fois insre,
facilement aligne sur les lignes de la grille.
Lorsque la fonction de grille magntique est active, les bords du rectangle de
slection dune forme 2D saccrochent aux lignes de grille visibles. Lutilisateur
connat ainsi la position exacte de la forme. Dans le cas dune forme 2D, la fonction
de grille magntique est plus utile lorsque la largeur et la hauteur de la forme sont des
multiples de lespacement de la grille actuelle, comme lindique la figure suivante. Si
tel nest pas le cas, les cts opposs de lobjet sont positionns par magntisme
sparment. Le comportement de dplacement de la forme est saccad et lutilisateur
doit tenter de dterminer si le bord qui saccroche la grille est le bord gauche ou droit.
Cration dune forme dont la
largeur et la hauteur sont des
multiples des units de la grille
A Largeur = 1 pouce (4 * grille)
B Espacement de la grille = pouce
C Hauteur = pouce (2 * grille)
Pour que la position des formes sur la grille soit correcte, les formes de base doivent
utiliser la mme unit de mesure que la page de dessin. Lorsque vous configurez la
page de dessin pour votre modle, attribuez la grille lunit de mesure des formes de
base qui seront utilises avec ce modle.
Pour df inir lunit de mesure dune f orme de base :
1 Cliquez sur la forme de base avec le bouton droit, puis choisissez Modifier la forme
de base afin douvrir la fentre de dessin correspondante.
REMARQUE : si vous attribuez une forme de base un calque, le gabarit contenant la
forme de base doit tre ouvert en tant quoriginal ou en tant que copie. Si le gabarit est
ouvert en lecture seule, vous pouvez cliquer avec le bouton droit sur sa barre de titre,
puis choisir Modifier dans le menu contextuel.
A
B
C
RORGANI SATI ON DES FORMES D UN DESSI N 235
2 Choisissez Fichier > Mise en page, cliquez sur longlet Proprits de la page, puis
slectionnez une option de la liste Unit de mesure.
REMARQUE : lorsque vous avez termin de modifier les formes de base du gabarit,
cliquez de nouveau sur la barre de titre du gabarit avec le bouton droit, dslectionnez
Modifier, puis enregistrez vos modifications dans le fichier du gabarit. Pour plus
dinformations sur la modification des gabarits, consultez laide en ligne fournie avec
Visio.
Pour df inir les unit s de mesure dun modle :
Choisissez Fichier > Mise en page, cliquez sur longlet Proprits de la page, puis
slectionnez une option Unit de mesure.
Si llment positionner par magntisme nest pas le bord de la forme, vous pouvez
ajuster le rectangle de slection de la forme. Pour plus dinformations sur la
personnalisation du rectangle de slection, reportez-vous la section Accrochage de
formes une grille laide des rectangles de slection , page 240.
CONSEIL : si vous crez deux formes de base devant tre connectes, placez leurs points de
connexion de manire ce que les deux formes de base saccrochent la grille et semblent
tre alignes. Le connecteur circule ainsi directement entre les deux points de connexion
les plus proches. Pour plus dinformations sur les points de connexion, reportez-vous au
chapitre 8, Liaison des formes : formes 1D et collage .
St ockage dinf ormat ions de grille laide de f ormules
Pour crer des formes de base partir dune grille modifiable, vous pouvez stocker
lespacement de grille utilis pour une forme en tant que formule dune forme de
base. En thorie, les informations despacement de grille ne sont pas stockes avec les
formes de base, mais si vous crivez des formules personnalises, vous pouvez
facilement modifier les formes de base dun gabarit afin de pouvoir utiliser diffrentes
grilles.
Cration de formules pour une grille variable
Lorsque vous utilisez un modle, vous pouvez modifier lunit de mesure du
document. Vous modifiez ainsi lunit de la grille du document qui, son tour, a une
incidence sur la grille magntique des formes. Si vous savez quune unit de mesure de
modle risque de changer, vous pouvez dfinir les formes de base du modle de
manire pouvoir utiliser plusieurs systmes.
236 CHAP I TRE 11
Par exemple, vous pouvez tre amen adapter un modle et un gabarit conus pour
une grille au de pouce afin de pouvoir les utiliser avec une autre unit de mesure,
par exemple les centimtres. Si vous dfinissez la largeur et la hauteur des formes de
base du gabarit sous la forme dune variable (dfinie dans une cellule personnalise)
exprime dans lunit de la grille, vous pouvez simplement modifier la variable de
chaque forme de base afin quelle prsente la nouvelle unit de mesure. Dans ce cas,
les formes de base sont redimensionnes automatiquement en fonction de la nouvelle
grille. Vous pouvez attribuer un nom vocateur la cellule personnalise afin
dexpliquer sa fonction.
Par exemple, ces formules crent une forme pour une grille d1 cm.
La formule peut utiliser nimporte quelle unit. La valeur est exprime dans lunit du
dessin, tout comme les cellules de la section Transformation de la forme. Pour que la
forme puisse fonctionner dans une grille en pouces, modifiez simplement la valeur de
la cellule Util.UnitGrille et indiquez 0,25 po. au lieu de 1 cm.
Cration de formules pour une grille fixe
Si la page de dessin de votre modle utilise une grille fixe, vous pouvez dfinir les
formules de la forme en fonction de lespacement de grille stock dans la page ; si
lunit de la grille fixe change dans un nouveau document, les formes du gabarit
rpercutent automatiquement cette modification. Au lieu de stocker lespacement de
grille en tant que variable personnalise, les formules de largeur et de hauteur font
rfrence aux informations de grille de la page :
uf11.uh1fC111e= 1 cm.
Lageu = 6 " uf11.uh1fC111e
haufeu = 4 " uf11.uh1fC111e
Lageu = 6 " LaPage!EspacemehfC111eX
haufeu = 4 " LaPage!EspacemehfC111eY
RORGANI SATI ON DES FORMES D UN DESSI N 237
Alignement des f ormes sur des repres et des point s de repre
Lorsque vous crez un modle, vous facilitez le travail des utilisateurs en insrant des
repres ou des points de repre sur la page de dessin. Les repres sont des lignes non
imprimables qui figurent sur la page de dessin de Visio et sont utilises pour
lalignement, comme lindique la figure suivante. Dfinis comme lignes infinies, les
repres se comportent comme des lignes normales. Ils peuvent donc tre associs du
texte et prennent en charge lutilisation de styles. Un point de repre est un repre en
forme de barre dplac depuis lintersection de deux rgles. Les utilisateurs peuvent
rapidement aligner et dplacer des formes en les collant un repre ou un point de
repre (lorsquun repre est dplac, toutes les formes colles lui le suivent).
Vous pouvez coller sur un repre un
point, un ct ou le centre dune
forme en deux dimensions.
Inst ruct ions concernant lut ilisat ion de repres ou de grilles
Les repres et les grilles permettent daligner des formes sur une page de plusieurs
manires. En rgle gnrale, les repres offrent davantage de flexibilit que les grilles.
Le tableau suivant fournit quelques conseils qui vous aideront dterminer, en
fonction de vos objectifs, si vous devez utiliser des grilles et/ou des repres.
Pour plus dinformations sur lutilisation des grilles pour lalignement de formes,
reportez-vous aux sections Cration dune grille , page 233 et Accrochage de
formes une grille laide des rectangles de slection , page 240.
Comparaison des repres et des grilles
Fonction du
repre ou
de la grille Repres Grilles
O bjets distincts Les repres et les points de repre
sont des objets distincts dont
l apparence et le comportement
peuvent tre contrls par
formule.
Les lignes d une grille ne sont
pas des objets distincts. Vous
ne pouvez donc ni dfinir leurs
proprits, ni crire des
formules les concernant.
Rotation Vous pouvez faire pivoter les
repres par rapport la page en
saisissant une valeur dans le
champ Angle de la fentre
Taille et position (Affichage >
Fentres > Taille et position).
Les lignes d une grille sont
toujours horizontales et
verticales par rapport la
fentre, et non par rapport la
page.
238 CHAP I TRE 11
Manipulat ion des repres et des point s de repre
La gomtrie dun repre se prsente sous la forme dune ligne infinie unique. Vous
pouvez appliquer des styles aux repres comme vous le feriez pour des lignes
normales. Par dfaut, les repres utilisent le style prdfini. Les repres peuvent
facilement tre dplacs sur la page.
Lorsque vous crez un repre, il est parallle la rgle depuis laquelle vous lavez fait
glisser. Les rgles sont toujours verticales et horizontales par rapport la fentre, et
non par rapport la page. Si vous crez un repre sur une page que vous avez fait
pivoter, le repre ne pivotera pas forcment avec la page.
Pour crer un repre :
Pointez vers la rgle horizontale ou vers la rgle verticale. Le pointeur se
transforme en une flche deux pointes. Placez le repre lemplacement souhait
sur la page de dessin en le faisant glisser, puis relchez le bouton de la souris.
Pour crer un point de repre :
Faites glisser votre pointeur depuis lintersection de deux rgles.
Pour slect ionner un repre sur la page de dessin :
Cliquez sur le repre avec loutil Pointeur. Le repre devient vert. Vous pouvez
alors le dplacer, le supprimer ou afficher la fentre Taille et position (choisissez
Affichage > Fentres > Taille et position). Cette fentre permet de faire pivoter le
repre, ou de prciser sa position et son orientation. Vous pouvez galement
ouvrir la fentre ShapeSheet

qui affiche ses proprits.


Pour indiquer prcisment la posit ion dun repre sur la page :
Utilisez des formules. Par exemple, si lchelle de votre dessin au format A5 est
de 1:500, la largeur de la page correspond une distance de 74 mtres. Vous
pouvez placer le repre par rapport la largeur de la page laide dune formule du
type suivant :
I ntervalles de
grille et de repre
Les repres peuvent tre
paramtrs manuellement sur
n importe quel intervalle.
Les lignes de la grille
apparaissent intervalles
rguliers.
I mpression Les repres peuvent tre
imprims : dslectionnez l option
Forme non imprimable dans la
bote de dialogue Comportement.
Les lignes de la grille ne sont
pas imprimes.
AxeX= LaPage!LageuPage-Sm
Comparaison des repres et des grilles (suite)
Fonction du
repre ou
de la grille Repres Grilles
RORGANI SATI ON DES FORMES D UN DESSI N 239
Pour act iver ou dsact iver laf f ichage des repres dun document :
Choisissez Affichage > Repres.
Pour dsact iver le magnt isme des repres dun document :
1 Choisissez Outils > Magntisme et collage.
2 Dans longlet Gnral, dans la zone Activation, dslectionnez Magntisme.
Repres se t rouvant sur une page pivot e
Lorsque vous crez un repre, il est parallle la rgle depuis laquelle vous lavez fait
glisser. Les rgles sont toujours verticales et horizontales par rapport la fentre, et
non par rapport la page. Si vous crez un repre sur une page que vous avez fait
pivoter, le repre ne pivotera pas forcment avec la page.
Pour prciser langle de rot at ion dun repre :
Affichez la fentre Taille et position (choisissez Affichage > Fentres > Taille et
position), puis saisissez une valeur dans le champ Angle. Vous pouvez galement
slectionner un repre, puis le faire pivoter laide de loutil Rotation ( ).
La section Infos sur les repres enregistre le point de rotation du repre dans les
cellules AxeX et AxeY, ainsi que langle de rotation. Une forme colle un repre
possde une section Alignement faisant rfrence au repre par le biais dune formule
qui comprend une fonction IntersectX ou IntersectY.
Regroupement de repres et de f ormes
Vous pouvez utiliser des repres et des points de repre afin daligner des formes et
des groupes lorsque vous crez des formes de base. Par exemple, vous pouvez
regrouper une forme et un repre. Lorsque vous ouvrez la fentre du groupe afin de le
modifier (pour ce faire, slectionnez le groupe, puis choisissez Edition > Ouvrir
Grouper), le repre apparat. Il permet daligner facilement des formes
supplmentaires du groupe.
Si une forme est colle un repre et que vous ajoutiez cette forme (et non le repre)
un groupe, la connexion tablie entre la forme et le repre disparat. De mme, si vous
ajoutez un repre un groupe sans ajouter les formes colles, les connexions de la
forme au repre disparaissent galement. Si vous incluez dans le groupe la fois le
repre et les formes colles, les connexions sont conserves.
240 CHAP I TRE 11
Accrochage de f ormes une grille laide des rect angles
de slect ion
Lorsquun utilisateur fait glisser une forme dans la fentre de dessin, le rectangle de
slection par dfaut de la forme saccroche la ligne la plus proche sur la grille. (Si la
fonction de grille magntique est dsactive pour un document, le moteur Visio laisse la
forme lemplacement o elle a t place.) Toutes les formes comportent un rectangle
de slection dont la taille est par dfaut identique au plan largeur/hauteur de la forme.
Si une forme est asymtrique ou comporte des composants de taille personnalise, les
utilisateurs risquent davoir du mal prvoir son comportement dalignement et de
positionnement par magntisme. Dans certains cas, vous souhaiterez accrocher la
grille dautres lments que les bordures extrieures de la forme. Vous pouvez
personnaliser ce rectangle de slection afin didentifier clairement sa fonction.
Un rectangle de slection peut tre
plus grand ou plus petit que la
forme quil reprsente. Il apparat
lorsquune forme est slectionne
ou dplace.
Si vous faites pivoter une forme selon un angle qui nest pas un multiple de 90 degrs,
le rectangle de slection est le plus petit rectangle suprieur droit pouvant contenir
tous les chemins de la forme comme si leur paisseur de trait tait de zro.
Rglage de la t aille du rect angle de slect ion dune f orme
Vous pouvez personnaliser la taille du rectangle de slection dune forme. Par
exemple, vous pouvez crer un ensemble de formes prsentant le mme rectangle de
slection afin de les positionner et de les aligner correctement, comme ci-dessous.
Formes de base munies de
rectangles de slection
personnaliss
A Comme ils servent tablir des connexions
avec dautres formes, les rectangles de
slection de ces valves 1D prsentent tous la
mme hauteur.
B Pour faciliter lalignement, la
taille du rectangle de slection
de la forme Donnes (en haut)
est identique la forme
Processus (en bas).
RORGANI SATI ON DES FORMES D UN DESSI N 241
Pour crer un rectangle de slection qui ne corresponde pas la gomtrie dune
forme, dessinez dabord le rectangle de slection, puis paramtrez-le de telle manire
que le moteur Visio ne puisse pas le modifier lorsque vous crez et modifiez la
gomtrie de la forme.
Pour df inir un rect angle de slect ion dif f rent du plan largeur/haut eur :
1 Dessinez votre forme.
2 Slectionnez la forme, puis choisissez Fentre > Afficher la feuille ShapeSheet.
3 Dans la section Protection, donnez la valeur TRUE la cellule VerrCalcLH.
Ce paramtre empche le rectangle de slection actuel de changer lorsque vous
modifiez la gomtrie de la forme.
4 Utilisez loutil Crayon, Trait, Arc ou Rectangle pour ajouter des lments la
gomtrie de la forme ou pour la modifier.
Positionnement dune forme lintrieur dun rectangle de slection
de taille suprieure la forme
Vous pouvez insrer une forme dans un rectangle de slection plus grand que son
plan largeur/hauteur. Les utilisateurs peuvent ainsi la positionner plus facilement par
magntisme. Par exemple, le symbole dune prise lectrique est une forme
rectangulaire qui se trouve dans une zone de slection carre plus grande. La forme
peut ainsi tre dplace sans problme.
Pour inclure une f orme dans un rect angle de slect ion de t aille suprieure
la f orme :
1 Dessinez la forme.
2 Dessinez une autre forme de la taille du rectangle de slection souhait.
3 Slectionnez les deux formes, puis appuyez sur Ctrl+G pour les regrouper.
4 Slectionnez le groupe, choisissez Edition > Ouvrir Grouper, puis supprimez le
rectangle de slection du groupe.
242 CHAP I TRE 11
Personnalisation du rectangle de slection dun groupe
Vous pouvez personnaliser la taille du rectangle de slection dun groupe afin que les
utilisateurs puissent facilement positionner la forme de base par magntisme et
laligner. Lorsquune forme de base est un groupe compos dune ou de plusieurs
formes, le groupe fournit le rectangle de slection. Pour certaines formes, le rectangle
par dfaut du groupe nest pas align correctement par rapport la forme. La figure
suivante reprsente un groupe dot dun rectangle de slection personnalis.
Ce rectangle de slection
personnalis (A) est plus petit que
le groupe et ne comprend pas la
forme du libell du groupe.
Pour crer un groupe dot dun rect angle de slect ion de t aille
personnalise :
1 Crez les formes qui composent la forme de base. Ne personnalisez pas encore les
formules de ces formes.
2 Utilisez loutil Rectangle pour crer une forme. Attribuez-lui la taille et la position
souhaites pour le rectangle de slection par rapport aux autres formes de la forme
de base.
3 Slectionnez uniquement le rectangle de slection et regroupez-le avec les formes,
puis choisissez Edition > Ouvrir Grouper pour louvrir dans la fentre de groupe.
4 Slectionnez les autres formes ajouter au groupe, faites-les glisser dans la fentre
du groupe, puis positionnez-les par rapport au rectangle de slection.
5 Supprimez la forme du rectangle de slection, puis fermez la fentre du groupe.
6 Ajoutez aux formes des formules personnalises.
Mise jour dun rect angle de slect ion
Le rectangle de slection dune forme risque de ne plus concider avec son plan
largeur/hauteur une fois que vous avez modifi ses sommets ou, dans le cas dun
groupe, une fois que vous avez ajout ou supprim une forme. Pour raligner
explicitement le rectangle de slection avec le plan largeur/hauteur, choisissez Forme
> Oprations > M. jour rect. slection.
Si vous dfinissez une poigne de contrle sur un sommet dune forme, le
dplacement de cette poigne change galement la gomtrie de la forme. Le rectangle
de slection ne concide donc plus avec le plan largeur/hauteur. Dans ce cas, vous
pouvez donner la valeur TRUE la cellule MseAJourRectSl de la section Divers de
manire ce que le rectangle de slection soit toujours redimensionn lorsque vous
dplacez les poignes de contrle.
RORGANI SATI ON DES FORMES D UN DESSI N 243
Modif icat ion du rect angle de slect ion des f ormes 1D
Par dfaut, les points de fin dune forme 1D sont centrs horizontalement dans le
rectangle de slection. En dplaant les points de dpart et de fin du plan local de la
forme, vous pouvez modifier le rectangle de slection afin que les utilisateurs puissent
aligner votre forme plus facilement. Par exemple, la figure suivante illustre une forme
de mur 1D munie de points de fin sur chaque bord, plutt quau centre. Lorsque les
utilisateurs font glisser la forme, le trait du rectangle de slection suit le bord utilis
pour connecter le mur.
Le rectangle de slection
personnalis dune forme de
mur 1D comporte des points de fin
(A) aligns sur le bord du mur. Son
dplacement est ainsi facilit.
Pour dplacer le rect angle de slect ion dune f orme 1D :
1 A laide de loutil Rectangle, dessinez la forme.
2 Slectionnez la forme, puis choisissez Format > Comportement.
3 Dans longlet Comportement, slectionnez loption Trait (1D), puis cliquez
sur OK.
4 Choisissez Fentre > Afficher la feuille ShapeSheet.
5 Dans la section Transformation de la forme, saisissez 0 po. dans la cellule AxeLocY.
Lorsque vous dplacez la coordonne y de laxe local, vous alignez les points de fin
sur le bord de la forme.
CONSEIL : vous pouvez masquer le rectangle de slection dune forme 1D (par exemple un
connecteur) si son affichage et la fonction dune forme risquent dinterfrer. Choisissez
Format > Comportement, puis dslectionnez loption Afficher la zone d'alignement.
Vous pouvez galement donner la valeur TRUE la cellule PasRectSl dans la section
Divers.
Crat ion de f ormes et mise en page aut omat ique
Le moteur Visio offre des possibilits de mise en page automatique puissantes qui
mettent en place les formes et repositionnent les connecteurs entre les formes sur la
base des options slectionnes par les utilisateurs. Vous pouvez contrler la manire
dont les formes et les connecteurs de vos solutions ragissent lorsquun utilisateur
manipule le dessin ou utilise la commande Mettre en page les formes. Pour ce faire,
personnalisez les paramtres par dfaut des pages dans vos modles. Vous pouvez
galement ne pas prendre en compte le comportement de placement et de
repositionnement de chaque forme de base et de chaque connecteur dans les gabarits
que vous crez.
A A
244 CHAP I TRE 11
Df init ion des opt ions de mise en page de la page
Lorsquun utilisateur dplace un dessin ou choisit Outils > Mettre en page les formes,
le moteur Visio utilise les valeurs des cellules de la section Mise en page figurant sur la
feuille de la page afin de dterminer le comportement de repositionnement et de
placement par dfaut des connecteurs et des formes du dessin. Vous pouvez modifier
directement les valeurs des cellules ou slectionner des options dans longlet
Repositionnement et mise en page de la bote de dialogue Mise en page (choisissez
Fichier > Mise en page).
Vous pouvez galement dfinir le comportement de placement des formes de base et
de chaque forme, et le comportement de repositionnement des connecteurs dans la
section Mise en page des formes. Plusieurs cellules de cette section Mise en page des
formes sont identiques celles de la section Mise en page. Certaines modifications
que vous effectuez localement peuvent donc tre prioritaires par rapport au
paramtrage gnral
En rgle gnrale, lorsque vous indiquez des options de mise en page globales et que
vous limitez le nombre de remplacements locaux, le comportement de
repositionnement est plus cohrent et donc plus prvisible. Par exemple, vous pouvez
indiquer que les formes positionnables disparaissent lorsquune autre forme est
insre sur le dessin par le biais dun paramtre global. Pour interdire le dplacement
de certaines occurrences de la forme, modifiez la section Mise en page des formes
dune forme de base particulire. Vous pouvez galement indiquer que les
occurrences dune forme de connecteur utilisent un style de trait particulier ou une
direction de dviation donne.
RORGANI SATI ON DES FORMES D UN DESSI N 245
Le tableau suivant rpertorie les cellules de la section Mise en page des formes qui
remplacent les paramtres par dfaut de la section Mise en page.
REMARQUE : cette liste nest pas exhaustive et ne prsente pas toutes les cellules que vous
pouvez contrler dans les sections Mise en page et Mise en page des formes. Reportez-vous
laide en ligne Rfrence du dveloppeur fournie avec Visio pour plus dinformations sur
les fonctions de chaque cellule de ces sections ShapeSheet

.
Cellules Mise en page des formes remplaant les paramtres Mise en page
Cellule Mise en
page des formes Sapplique aux Dtermine
CodeTracForme Formes
positionnables
Si les formes positionnables de la page de
dessin disparaissent lorsqu une autre forme
positionnable est insre proximit.
Remplacez les paramtres par dfaut de la
page par Repositionner au besoin (1) ou
Jamais (2).
CodeDvTraitLien Formes
repositionnables
Le moment o le connecteur est dvi.
Remplacez les paramtres par dfaut de la
page par Jamais (1) ou par Toujours (2).
StyleDvTraitLien Formes
repositionnables
Le style d une dviation de connecteur.
Remplacez les paramtres par dfaut de la
page par les dviations Arc (1), I ntervalle (2),
Carr (3) ou plusieurs cts (4-9). Pour plus
d informations, recherchez
ConLineJumpStyle dans l aide en ligne
(choisissez ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
DirDvTraitLienX et
DirDvTraitLienY
Formes
repositionnables
La direction horizontale (X) ou verticale (Y)
d une dviation de connecteur. Dans le cas
de dviations horizontales, remplacez les
paramtres par dfaut de la page par Gauche
(1) ou Droite (2). Dans le cas de dviations
verticales, remplacez les paramtres par
dfaut de la page par Haut (1) ou par Bas (2).
StylePositionForme Formes
positionnables et
repositionnables
Le style et la direction d un connecteur sur la
page de dessin. Pour plus d informations sur
les valeurs ce cette cellule, recherchez
StylePositionForme dans l aide en ligne
Rfrence du dveloppeur fournie avec
Visio.
246 CHAP I TRE 11
Df init ion du comport ement des f ormes et des connect eurs
Lorsque vous crez une forme de base, ses paramtres Mise en page des formes
correspondent aux valeurs par dfaut de la page actuelle. Vous pouvez modifier ces
paramtres afin de dfinir la manire dont les occurrences dune forme de base
interagissent avec les autres formes lorsquun utilisateur manipule un dessin ou
choisit la commande Mettre en page les formes. Par exemple, vous pouvez, si vous le
souhaitez, permettre la superposition des formes. Vous pouvez galement faire en
sorte que les connecteurs se repositionnent en passant travers les formes plutt
quen les contournant.
Le mme processus sapplique aux formes de connecteur : vous pouvez modifier le
comportement des connecteurs dynamiques afin de fournir des interactions plus
personnalises lors de la mise en page automatique des formes. Par exemple, vous
pouvez tre amen empcher la dviation de certains connecteurs ou, au contraire,
dfinir une dviation de trait particulire pour les connecteurs qui peuvent tre
dvis.
Lorsque vous crez des formes de base, vous pouvez galement associer aux points de
connexion un comportement personnalis. Les points de connexion sont associs
une direction qui contrle le mode de connexion des connecteurs la forme. En
modifiant la direction dun point de connexion, vous pouvez contrler encore plus
prcisment la manire dont les connecteurs sont associs une forme.
REMARQUE : les options de direction des points de connexion ne sont disponibles que si
vous excutez Visio en mode Dveloppeur. (Pour ce faire, choisissez Outils > Options,
cliquez sur longlet Options avances, slectionnez Excuter sous le mode dveloppeur,
puis cliquez sur OK.)
RORGANI SATI ON DES FORMES D UN DESSI N 247
Pour modif ier la direct ion dun point de connexion :
1 Choisissez loutil de point de connexion ( dans la barre doutils Standard, puis
cliquez dessus pour slectionner un point de connexion.
2 Cliquez avec le bouton droit sur le point, puis choisissez une direction dans le
menu contextuel. La direction vers lextrieur ne peut pas tre utilise pour les
connexions point point.
3 Cliquez sur le triangle gris associ au point de connexion et faites-le glisser afin
dindiquer une direction. Lorsque le point de connexion a t activ, le triangle
devient vert.
Le changement de direction dun
point de connexion dtermine la
manire dont les connecteurs sont
associs cette forme.
A Pour relier le connecteur lextrieur de la forme, faites glisser le cercle du point de connexion
vers lintrieur de la forme.
B Vous ne pouvez tablir aucune connexion avec les points de connexion vers lextrieur. Ils
permettent uniquement de connecter deux formes par magntisme.
C Les points de connexion vers lintrieur et vers lextrieur fournissent de nombreuses options de
connexion.
A
B
C
Sommaire
12
Formes mises lchelle et
dessins cot s
Lorsque les dessins crs par les utilisateurs reprsentent des objets rel, des formes et
modles sont ncessaires pour quils puissent tre lchelle. Vous pouvez concevoir
des formes de base qui adoptent les dimensions adquates lorsque les utilisateurs les
insrent dans une page de dessin dote dune chelle, par exemple pouce = 1 pied.
Si vous concevez galement le modle, vous pouvez avoir la garantie que lchelle de la
page de dessin est compatible avec celle des formes de base fournies et les oprations
de dessin sont ainsi simplifies.
Ce chapitre explique comment choisir lchelle des dessins et des formes ; il indique
galement comment empcher la mise lchelle des formes, y compris dans un
dessin lchelle. Pour plus dinformations sur la conception dune grille pour les
dessins avec ou sans mise lchelle, et sur la cration de formes ajustes une grille,
reportez-vous au Chapter 11, Rorganisation des formes dun dessin. .
Choix dune chelle de dessin approprie........................................................... 250
Choix des chelles des formes de base................................................................ 253
Cration de formes non mises lchelle............................................................ 257
250 CHAP I TRE 12
Choix dune chelle de dessin approprie
Tout dessin reprsentant des objets physiques trop petits ou trop grands pour tre
dessins aisment, ou qui ne tiennent pas sur la feuille de papier, doit tre mis
lchelle. Par exemple, pour le plan dune maison, pouce sur la page de dessin peut
reprsenter 1 pied de la maison en ralit. Les schmas, tels que les diagrammes de
flux et les organigrammes, permettent de dcrire les objets abstraits ; par consquent,
ces types de dessin nont pas dchelle et les formes apparaissent leur taille relle.
Dans Microsoft

Visio

, les units de dessin reprsentent la taille des objets. Dans


lexemple de maison ci-dessus, 1 pied est lunit de dessin. Les units de page
reprsentent la taille des objets sur la page imprime (pouce dans ce mme
exemple). Le rapport des units de page sur les units de dessin constitue lchelle du
dessin.
Les cellules ShapeSheet

dcrivant la taille ou la position de lobjet (cest--dire la


plupart des cellules) sont exprimes en units de dessin. Les cellules reprsentant des
mesures sur la page imprime, par exemple le format et les retraits de texte, sont
exprimes en units de page. Si vous modifiez lchelle du dessin, toutes les cellules
ShapeSheet exprimes en units de dessin restent identiques, mais la forme est
redessine en fonction de la nouvelle chelle.
FORMES MI SES L CHEL L E ET DESSI NS COTS 251
Prsent at ion des chelles de dessin et de page
Pour comprendre le rapport existant entre lchelle du dessin et lchelle de la page,
observez la figure suivante, qui reprsente une piscine. La piscine mesure 40 pieds de
long sur 20 pieds de large ; lpaisseur du trait de dessin est de 1 point et la police du
texte est de 8 points.
Si vous utilisez lchelle de dessin de pouce = 1 pied (1:48), le dessin de la piscine
mesure 10 pouces de long sur 5 de large. Si vous modifiez lchelle du dessin et
choisissez
1
/8 pouce = 1 pied (1:96), la piscine fait toujours 40 pieds sur 20 ;
cependant, le dessin la reprsentant ne mesure plus que 5 pouces sur 2 . Quelle que
soit lchelle utilise, lpaisseur du trait de dessin est toujours de 1 point et la police
est de 8 points.
En units de dessin, la piscine fait
toujours 40 pieds sur 20 quelle que
soit lchelle de dessin utilise.
A Echelle du dessin :
1
/8 po. = 1 pd (1:96)
B En units de page, la piscine mesure 5 po. sur 2 1/2 avec cette chelle de dessin.
C Echelle du dessin : po. = 1 pd (1:48)
D En units de page, la piscine mesure 10 po. sur 5 avec cette chelle de dessin.
252 CHAP I TRE 12
Fact eurs prendre en compt e lors du choix dune chelle de
dessin
Pour choisir lchelle de dessin approprie inclure dans un modle, prenez en
compte les facteurs suivants :
la taille prvue du dessin, en units de dessin ;
la taille du papier sur lequel les utilisateurs impriment leurs dessins ;
les conventions de dessin ou de la profession qui sappliquent au type de dessin
que les utilisateurs crent laide de votre modle, comme les marges ou les blocs
de titre.
Par exemple, un utilisateur peut imprimer le plan dune maison sur une feuille de
8 pouces sur 11 pouces, en orientation paysage. Si lchelle utilise pour le dessin
est pouce = 1 pied, la page de dessin reprsente une surface de 34 pieds sur 44 pieds
(en supposant quaucune marge nait t dfinie pour la page imprime). Ce format
risque dtre insuffisant pour reprsenter la maison et son amnagement extrieur. Il
est donc prfrable de choisir une chelle plus grande, par exemple
1
/8 pouce = 1 pied ou 1 pouce = 10 pieds.
REMARQUE : les units de dessin peuvent mesurer dautres paramtres que la distance.
Vous pouvez utiliser le temps coul plutt que la distance pour une chelle de page. Pour
ce faire, paramtrez les units de dessin sur des heures, des jours, des semaines ou des
mois. Vous pouvez, par exemple, utiliser les semaines coules (portant labrviation
we dans les formules ShapeSheet) comme units de dessin pour le diagramme dun
planning de projet. Pour obtenir la liste complte des units disponibles, recherchez les
mots-cls units de mesure dans laide en ligne Rfrence du dveloppeur fournie avec
Visio.
Pour df inir lchelle de dessin dune page :
1 Slectionnez Fichier > Mise en page, puis cliquez sur longlet Proprits de la page.
2 Dans la zone Unit de mesure, choisissez les units de dessin souhaites, puis
cliquez sur longlet Taille de la page.
3 Dans longlet Taille de la page, slectionnez lorientation et la taille du papier sur
lequel le dessin va tre imprim.
Les valeurs indiques dans longlet Taille de la page reprsentent les units de
mesure de votre page en fonction de lchelle et du format de papier slectionns.
FORMES MI SES L CHEL L E ET DESSI NS COTS 253
4 Cliquez sur longlet Echelle de dessin, puis, dans la section du mme nom,
choisissez une chelle prdfinie dans la liste :
Slectionnez Architecturale, Gnie civil ou Gnie mcanique parmi les chelles
intgres standard pour ces professions.
Choisissez Mtrique pour dfinir un rapport dchelle mtrique standard pour
la page.
Vous pouvez galement cliquer sur Echelle personnalise, puis saisir un autre
rapport dchelle.
Pour plus dinformations sur les options, cliquez sur le bouton daide.
CONSEIL : pour vous assurer que la forme de base que vous crez correspond lchelle de
dessin dune page de modle, modifiez-la, puis rptez la procdure ci-dessus dans la
fentre de dessin de la forme de base. Pour plus dinformations, reportez-vous la section
Dfinition de lchelle dune forme de base , page 256.
Choix des chelles des f ormes de base
Vous pouvez mettre lchelle les formes de base et les pages de dessin. Laspect dune
forme sur la page de dessin dpend de lchelle de la forme de base et de celle de la
page de dessin. Si une forme est mise lchelle, et que la page nait pas dchelle ou ait
une chelle trs diffrente (ou vice-versa), la forme peut avoir un comportement
inattendu lorsque lutilisateur linsre dans la page. Si les utilisateurs ne connaissent
pas ces diffrences dchelle, ils risquent dtre dus sils tentent dutiliser des formes
sur une page avec une chelle incompatible.
Vous ne pouvez pas empcher les utilisateurs de crer un dessin, dy dfinir une
chelle et dy insrer des formes ; cependant, vous pouvez veiller ce que les chelles
des pages de dessin fournies avec vos modles correspondent celles de vos formes de
base. Vous pouvez galement crer des formes de base compatibles avec le plus grand
nombre dchelles de dessin possible.
254 CHAP I TRE 12
Df init ion dune chelle approprie pour une f orme de base
Il est prfrable que lchelle de dessin dune forme de base corresponde celle de la
page dans laquelle cette forme est insre. Comme ce nest pas toujours possible, Visio
gre, dans une certaine mesure, les diffrences dchelle en sassurant que la taille de la
forme, telle quelle est dessine, est identique celle de la forme de base, en units de
dessin :
Si la diffrence entre lchelle de la forme et celle de la page de dessin nexcde pas
le facteur huit (cest--dire si lchelle de dessin de la forme de base est au
maximum huit fois suprieure ou infrieure celle de la page), Visio calcule la
taille de la forme en units de dessin et la met correctement lchelle sur la page
de dessin. Ce comportement permet dviter quune forme ne devienne trop
grande et dissimule entirement la page de dessin, ou trop petite pour tre visible.
Si une chelle est plus de huit fois suprieure ou infrieure lautre, Visio ne
change pas lchelle de la forme ; la taille de la forme est identique, en units de
page, celle de la forme de base. Lutilisateur peut redimensionner cette forme
aprs son insertion. Par exemple, dans la figure suivante, lorsque la forme de la
table est insre dans un dessin dont lchelle dpasse la limite dun rapport huit,
sa taille, en units de page, est identique celle de la forme de base (2 pouces).
Cependant, Visio recalcule sa largeur laide de lchelle de dessin de la page.
Visio utilise un facteur de huit lorsquil ne met pas lchelle une forme, cest
pourquoi cette mthode est quelquefois appele rgle du rapport huit .
FORMES MI SES L CHEL L E ET DESSI NS COTS 255
Par exemple, vous pouvez crer une forme de base dune table pouvant tre utilise
dans des modles damnagement de lespace dont lchelle varie de pouce = 1 pied
(facteur dchelle de 1:24) 1 pouce = 10 pieds (facteur dchelle de 1:120). Dans la
figure suivante, lorsquune forme de table de 48 pouces est insre dans un dessin
dont lchelle est dans les limites du rapport huit, la table est correctement mise
lchelle. La section Transformation de la forme indique que sa largeur est toujours de
48 pouces.
Formes redessines des chelles
diffrentes en fonction de la rgle
du rapport huit
Visio applique la rgle du rapport huit uniquement aux valeurs de largeur et de
hauteur. Les constantes des formules ne sont pas ajustes. Donc, si vous saisissez, par
exemple, la formule suivante dans lune des cellules de la section Gomtrie, vous
risquez dobtenir des rsultats inattendus :
Visio modifie la largeur de la forme et la rfrence de largeur est mise lchelle, mais
une mesure de 1 pied reste inchange dans les units de dessin. Par consquent, la
forme peut avoir une apparence trange mme aprs avoir t correctement mise
lchelle.
A Facteur de la forme de base :
pouce = 1 pied
Rapport dchelle : 1:24
Taille (en units de dessin) :
4 pieds
Taille limpression (en units
de page) : 2 pouces
B Echelle de dessin : 1 pouce =
10 pieds
Facteur dchelle : 1:120
Taille (en units de dessin) :
4 pieds
Taille limpression (en units
de page) : 0,4 pouce
Facteur dchelle :
(1/24) / (1/120) = 5
5 est infrieur 8 ; la forme est
donc mise lchelle.
C Echelle de dessin : 1 pouce =
20 pieds
Rapport dchelle : 1:240
Taille (en units de dessin) :
40 pieds
Taille limpression (en units
de page) : 2 pouces
Facteur dchelle :
(1/24) / (1/240) = 10
10 est suprieur 8 ; la forme
nest donc pas mise
lchelle.
Lageu - 1 p1ed
256 CHAP I TRE 12
Pour utiliser la rgle de rapport huit lors de la conception des formes de base, suivez
les instructions ci-dessous :
Dfinissez lchelle dune forme de base comprise entre lchelle la plus grande et la
plus petite utilises pour cette forme de base. Ainsi, la forme de base fonctionne
avec la plus grande plage possible dchelles de dessin dans le rapport huit. Cette
chelle moyenne est gale la racine carre du rapport dchelle de dessin le
plus lev multiplie par le rapport dchelle de dessin le moins lev.
Si vous souhaitez quune forme ne soit jamais mise lchelle, paramtrez lchelle
de la forme de base sur une valeur extrme, pour que la forme ne subisse pas de
mise lchelle lorsque vous linsrez dans la page. Vous pouvez par exemple
utiliser une chelle de 1 000 pouces = 1 pouce, ce qui est bien en dehors des limites
du rapport huit. Pour plus dinformations, reportez-vous la section Cration de
formes non mises lchelle , page 257.
Df init ion de lchelle dune f orme de base
En gnral, lchelle dune forme de base est gale lchelle de la page de dessin avec
laquelle cette forme est utilise. Par dfaut, une forme de base utilise lchelle de la
page de dessin dans laquelle elle a t cre, avant que la forme ait t insre dans un
gabarit. Toutefois, si vous utilisez la commande Nouvelle forme de base pour crer
une forme de base directement dans le gabarit, cette forme nest par dfaut pas mise
lchelle.
REMARQUE : pour modifier une forme de base, vous devez ouvrir le fichier de gabarit
dorigine. Si vous ouvrez le gabarit en lecture seule, vous ne pouvez pas modifier ses
formes de base.
Pour df inir lchelle dune f orme de base :
1 Cliquez avec le bouton droit sur lune des formes de base du gabarit, puis
slectionnez Modifier la forme de base dans le menu contextuel.
2 Choisissez Fichier > Mise en page, puis cliquez sur longlet Echelle de dessin.
3 Dans longlet Echelle de dessin, slectionnez une chelle prdfinie dans la liste :
Slectionnez Architecturale, Gnie civil ou Gnie mcanique parmi les chelles
intgres standard pour ces professions.
Cliquez sur Mtrique pour dfinir un rapport dchelle mtrique standard pour
la page.
Vous pouvez galement choisir Echelle personnalise et saisir un rapport dchelle
pour dfinir une autre chelle.
FORMES MI SES L CHEL L E ET DESSI NS COTS 257
Crat ion de f ormes non mises lchelle
Vous pouvez crer des formes de base qui ne sont jamais mises lchelle, cest--dire
des formes dont la taille reste identique en units de page quelle que soit lchelle de
dessin utilise. Par exemple, le bloc de titre dun plan ou la lgende dune carte
doivent toujours conserver la mme taille, quelle que soit lchelle. Pour quune forme
de bloc de titre conserve la mme taille, ses dimensions doivent tre converties en
units de page, mme si elles sont exprimes en units de dessin.
Visio contient deux formules de page qui vous permettent de dterminer lchelle :
LaPage!EchellePage et LaPage!EchelleDessin. Vous pouvez crire une formule de
non-mise lchelle utilisant le rapport de ces deux valeurs pour convertir une valeur
exprime en units de page en une valeur quivalente en units de dessin.
Pour convertir une valeur exprime en units de page en une valeur quivalente en
units de dessin, multipliez-la par le rapport suivant :
Si vous crivez une formule personnalise utilisant ce rapport pour une forme de
base, les utilisateurs peuvent insrer cette forme sans que son chelle de dessin, quelle
quelle soit, change. Par exemple, pour crer sur la feuille une forme qui mesure
toujours 5 cm de largeur et qui ne peut pas tre redimensionne, saisissez la formule
suivante dans la section Transformation de la forme :
Pour que les utilisateurs puissent redimensionner la forme, nutilisez pas la fonction
PROTECTION. Lorsquun utilisateur cre une occurrence de cette forme de base sur
une page avec une chelle de 1 cm= 1 m, la formule de largeur est recalcule en
fonction de lchelle de la page de destination :
Une forme de 500 cm fait 5 cm lorsquelle est imprime ou affiche lcran en taille
relle.
LaPage!Eche11e0ess1h / LaPage!Eche11ePage
Lageu = PP0TECTT0h|S cm " |LaPage!Eche11e0ess1h / LaPage!Eche11ePage))
= S cm " |1 m / 1 cm)
= S cm " 100
= S00 cm
258 CHAP I TRE 12
Si vous crez plusieurs formes de base non mises lchelle, il peut savrer plus
efficace de placer la formule de non-mise lchelle dans une cellule de la feuille
dfinie par lutilisateur, telle que Lapage!Util.NonMiseEchelle. Ainsi, vous pouvez
rapidement modifier cette formule, en saisissant de nouvelles valeurs une seule fois,
savoir dans la feuille. La formule dune forme de base non mise lchelle devient
alors la suivante :
Lageu= S cm " LaPage!uf11.hohM1seEche11e
Sommaire
13
Dif f usion de gabarit s
et de modles
Les formes de base, les gabarits et les modles sont les lments qui composent une
solution graphique. Toutes les solutions ne ncessitent pas ces trois types dlments,
mais cela peut tre le cas dune solution comprenant de nombreuses formes nouvelles
ou personnalises destines la distribution. Vous pouvez en outre joindre des
fichiers daide pour assister les utilisateurs. Avant de distribuer les formes de base, les
gabarits et les modles, vous devez les soumettre un test approfondi. Cest en effet la
seule faon de sassurer que les utilisateurs peuvent comprendre et utiliser facilement
les diffrentes composantes de votre solution Microsoft

Visio

.
Ce chapitre explique comment peaufiner les formes, les gabarits et les modles. Il
dcrit galement comment intgrer une aide sur les formes et donne des instructions
dtailles pour tester votre travail en fonction de la mthode utilise par lquipe
dassurance qualit de Visio.
Conception de formes personnalises pour la distribution ............................... 260
Test des formes de base........................................................................................ 262
Ajout dune aide aux formes de base................................................................... 266
Finalisation et test dun gabarit............................................................................. 268
Finalisation et test dun modle............................................................................ 273
Installation des gabarits et des modles.............................................................. 277
260 CHAP I TRE 13
Concept ion de f ormes personnalises pour la dist ribut ion
Si vous prenez le temps de crer vos propres formes, vous envisagez certainement de
les rutiliser ou de les distribuer dans des gabarits et des modles afin que dautres
puissent les utiliser. Lobjectif dun travail de conception soign est de produire des
formes dont le fonctionnement correspond aux attentes des utilisateurs. Dans tout
travail de cration rptitif les rsultats saffinent au fur et mesure des tentatives :
cest le cas de la conception de formes.
Les lments qui fonctionnent sur votre systme peuvent ne pas fonctionner sur un
autre systme. Les installations de Microsoft

Windows

ne sont pas toutes


rigoureuse-ment identiques. Si vous connaissez la configuration matrielle des
utilisateurs, vous pouvez optimiser les formes, les gabarits et les modles que vous
crez leur intention. Mme si vous crez des formes que vous serez seul utiliser,
vous gagnerez du temps si vous connaissez les caractristiques de votre
environnement informatique car vous pourrez crer des formes immdiatement
oprationnelles.
Quel que soit le systme, lutilisation des gabarits et des modles est lie la vitesse du
processeur et la quantit de mmoire disponible. Les formes comprenant de
nombreuses formules complexes sont recalcules et redessines plus lentement que
des formes simples, et occupent un espace disque plus important. Testez les gabarits
sur tous les systmes dont disposent les utilisateurs, y compris les portables.
Procdure concernant la concept ion des f ormes
La procdure suivante permet de crer une solution de formes de niveau professionnel :
1 Dfinissez la fonction envisage pour une forme. Quels besoins doit-elle satisfaire ?
Quel comportement lui permettra de les satisfaire ? Si la forme fait partie dune
collection dans un gabarit, quel comportement doit-elle adopter pour tre
cohrente avec les autres formes ?
2 Dessinez un prototype de la forme et formatez-le selon lapparence souhaite.
Testez ensuite cette forme laide des outils de dessin de Visio. Comment se
comporte-t-elle lorsque vous la dplacez, la dimensionnez, la faites pivoter ou la
regroupez avec dautres formes ? Que se passe-t-il lorsque vous en verrouillez des
parties ? Quels comportements souhaitez-vous modifier ?
3 Identifiez les cellules ShapeSheet

en rapport avec le comportement modifier.


Quelles sont celles qui doivent contenir des formules personnalises et quelles
cellules les formules doivent-elles faire rfrence ?
4 Crez les formules une une et contrlez leur effet sur le comportement de la
forme. Prenez des notes sur papier ou dans des blocs de texte sur le dessin
contenant le prototype. Si vous essayez plusieurs solutions, vous pouvez copier la
forme chaque nouvel essai et conserver ces copies de faon pouvoir revenir
une version antrieure si ncessaire.
DI FFUSI ON DE GABARI TS ET DE MODL ES 261
5 Rdigez une aide sur la forme afin dexpliquer sa fonction aux utilisateurs.
6 Testez la forme en la transmettant des collgues pour savoir si elle rpond
galement leurs attentes.
Lorsque vous savez exactement lapparence que doit avoir la forme et comment elle
doit se comporter, et que vous connaissez les formules ncessaires son
comportement, recrez-la de toutes pices. Ce travail peut sembler inutile, mais cest
la meilleure faon de sassurer que les cellules ShapeSheet ne contiennent aucune
formule obsolte, et que la forme est dessine et formate proprement.
Remarques concernant la dist ribut ion des f ormes
Lorsque vous crez des gabarits et des modles qui seront distribus, tenez compte des
remarques suivantes :
A propos de la rsolution des diffrents systmes daffichage
Si vous concevez ces lments pour le systme disposant de la rsolution la plus
faible et du plus petit nombre de couleurs, il est probable que lapparence des
prsentations et des formes sera meilleure sur des systmes plus volus. En
revanche, lapparence dun gabarit conu pour une rsolution suprieure et un
plus grand nombre de couleurs sera probablement moins bonne sur un systme
moins performant.
A propos des priphriques de sortie que les utilisateurs peuvent utiliser pour
imprimer des formes
Vous devez connatre les possibilits et les limites des priphriques de sortie des
utilisateurs. Testez les formes que vous crez en les imprimant sur le priphrique
de sortie dont ils disposent afin de vous assurer que les traits et les remplissages ont
lapparence souhaite.
A propos de la protection des formes cres par copyright
Les gabarits, les formes de base, les modles et le code source qui accompagnent les
produits Visio sont protgs par les lois sur les droits dauteur : ils appartiennent
Visio Corporation et sont protgs par les lois des Etats-Unis rgissant les droits
dauteur ainsi que par les traits internationaux. Vous ntes pas autoris
distribuer les formes de base ainsi protges fournies avec un produit Visio,
moins que lutilisateur ne dispose dj dune licence pour un produit Visio les
contenant. Il en va de mme pour les formes que vous crez en modifiant ou en
partant des formes de base protges par ces lois.
Vous pouvez toutefois associer un droit dauteur vos propres formes.
Pour associer un droit daut eur vos propres f ormes :
Choisissez Format > Spcial.
Ajoutez les informations de copyright en dernier lieu du processus de
dveloppement de la forme. Une fois que vous avez saisi ces informations dans la
bote de dialogue Spcial, vous ne pouvez plus les modifier.
262 CHAP I TRE 13
Test des f ormes de base
Vous pouvez tester ensemble toutes les formes de base dun gabarit pour voir si elles
sont cohrentes, puis les tester sparment. Aprs avoir effectu les tests suivants,
consacrez quelques minutes laborer un diagramme ou un graphique tel que ceux
qui seront produits avec les formes. Cest la meilleure faon de tester les interactions
entre les formes, leur prcision et leur utilit, et de dcouvrir leurs limites ou leurs
lacunes.
Cont rle de la cohrence des f ormes de base
Assurez-vous quun gabarit contient toutes les formes de base quil est cens contenir,
que les noms et les formats sont comprhensibles et que lordre dapparition des
icnes dans le gabarit est prvisible. Si vous disposez de spcifications crites pour les
formes de base, prenez soin de comparer chaque forme ces spcifications.
Pour contrler la cohrence des formes de base dun gabarit, ouvrez le fichier de
gabarit avec loption Original, puis vrifiez les points suivants.
Contrle de la cohrence des formes de base dun gabarit
Elment vrifier Action
Nombre de formes de
base prvu dans le
gabarit
Vrifiez ce nombre dans les spcifications dont vous disposez
ventuellement. Si des modifications ultrieures sont
apportes au gabarit et que vous soyez amen le tester une
nouvelle fois, vous saurez si des formes de base ont t
ajoutes ou supprimes.
M essages et noms des
formes de base
Vrifiez que l orthographe, la ponctuation, les majuscules, la
grammaire, le contenu et l espacement dans les messages et
les noms des formes de base sont corrects et cohrents avec
ceux des autres formes.
Supprimez les espaces la fin des noms de formes de base
qui se traduirait par une surbrillance plus longue que
ncessaire lors de la slection de l icne. Pour vrifier ce
point, choisissez Edition > Slectionner tout.
Utilisez le mme alignement pour les noms de toutes les
formes de base du gabarit.
I cnes O rganisez les icnes de faon logique, alignez-les de faon
cohrente, et classez-les de gauche droite et de haut en
bas.
Dfinissez une taille correcte. Le paramtre de taille normale
est le plus couramment utilis.
Vrifiez que chaque icne reprsente de manire significative
la forme de base associe. Contrlez que l apparence des
icnes est claire et comparez-les aux formes de base
correspondantes. Pour ce faire, cliquez avec le bouton droit
sur une forme de base et choisissez M odifier l icne dans le
menu contextuel.
DI FFUSI ON DE GABARI TS ET DE MODL ES 263
Cont rle de la f orme de base dans la f ent re de dessin de
cet t e f orme
Pour tester une forme dans la fentre de dessin de la forme de base, ouvrez le fichier
de gabarit avec loption Original. Pour ouvrir la fentre de gabarit dans la fentre de
dessin de forme de base, double-cliquez, dans la fentre de gabarit, sur une icne de
forme de base. Vous pouvez galement cliquer avec le bouton droit sur une forme de
base et choisir Modifier la forme de base dans le menu contextuel. Procdez alors aux
vrifications suivantes.
Test des dif f rent es chelles de page des f ormes de base
Pour chaque modle fourni, un gabarit et une page de dessin sont ouverts, et vous
devez tester chaque forme avec les diffrentes chelles de page quelle est cense
utiliser. Il est galement utile de tester une forme sur une page dont lchelle est trs
loigne de la sienne.
I cnes Les icnes disposant d un graphique personnalis doivent
tre mises jour manuellement. Pour vrifier ce point, cliquez
avec le bouton droit sur une forme de base et choisissez
Proprits des formes de base dans le menu contextuel.
Dans la bote de dialogue Proprits de la forme de base,
l option Gnrer automatiquement une icne partir des
donnes de la forme de la section Comportement doit tre
slectionne.
Contrle dune forme de base
Elment vrifier Vrification
Echelle utilise par la
forme
La forme doit utiliser l chelle qui convient. Pour vrifier ce
point, choisissez Fichier > M ise en page et cliquez sur l onglet
Echelle de dessin.
Style d interaction en 1D
ou en 2D
Choisissez le comportement qui convient la forme. Pour
vrifier ce point, choisissez Format > Comportement.
Exactitude des
informations relatives
la forme de base dans la
bote de dialogue Spcial
Par exemple, vrifiez que les champs Donnes sont remplis
et que la forme est lie une aide spcifique. Pour vrifier ce
point, choisissez Format > Spcial.
Dfinition des options
de protection
appropries
O uvrez la fentre ShapeSheet

d une forme de base ou


choisissez Format > Protection pour vrifier le paramtrage
des options Protection.
Affichage des points de
connexion
Choisissez Affichage > Points de connexion.
Contrle de la cohrence des formes de base dun gabarit (suite)
Elment vrifier Action
264 CHAP I TRE 13
Pour t est er une f orme dans un dessin de mme chelle :
1 Choisissez Fichier > Ouvrir.
2 Dans la zone contenant les noms des fichiers, slectionnez un fichier de modle
contenant un gabarit dont les formes de base doivent tre testes et une page de
dessin utilisant la mme chelle que ces formes de base.
3 Dans la zone Ouvrir, slectionnez Lecture seule et cliquez sur OK.
4 Insrez une forme de base dans la page de dessin afin de crer une occurrence et de
la tester.
5 Vrifiez les lments du tableau suivant.
Contrle dune forme de base dans un dessin de mme chelle
Elment vrifier Vrification
Comportement
gnral des formes
La forme doit tre correctement aligne dans le rectangle de
slection lorsque vous la dplacez.
La forme doit se comporter comme prvu lorsque vous la liez
d autres formes ; par exemple, une forme Lien doit utiliser le type
de collage appropri.
La forme doit se comporter comme prvu lorsque vous
double-cliquez dessus. Pour vrifier ce paramtre, choisissez
Format > Comportement et cliquez sur l onglet Action du
double-clic.
Vous devez pouvoir supprimer la forme.
L apparence de la forme est celle que vous envisagez lorsque vous
l imprimez sur les priphriques de sortie prvus. Par exemple,
certains motifs de remplissage ont une incidence sur les
performances des imprimantes PostScript.
Comportement des
formes vis--vis de
l attraction et du
collage
La forme et le rectangle de slection rpondent au magntisme de
la grille.
L occurrence est attire par les autres formes, et par la grille et les
repres comme prvu.
DI FFUSI ON DE GABARI TS ET DE MODL ES 265
Texte des formes La zone de texte associe la forme se trouve l emplacement
appropri. Le texte que vous y entrez passe la ligne et s aligne
correctement.
La forme et le texte associ se comportent comme prvu lorsque
vous appliquez un style de remplissage.
La forme et le texte associ se comportent comme prvu lorsque
vous redimensionnez la forme verticalement, horizontalement et
proportionnellement. Ce test est particulirement important si
vous avez programm la forme pour un redimensionnement
unique (par exemple, dans une seule direction).
La forme et le texte associ se comportent comme prvu lorsque
vous faites pivoter la forme l aide des commandes Pivoter
gauche et Pivoter droite, et de l outil Rotation.
La forme et le texte associ se comportent comme prvu lorsque
vous inversez les extrmits, et que vous retournez la forme
verticalement et horizontalement.
La forme et le texte associ se comportent comme prvu lorsque
vous dissociez cette forme. Si la forme de base ne constitue pas
un groupe, la commande Dissocier est grise.
Personnalisation
des formes
Si des proprits personnalises sont associes la forme, elles
doivent tre affiches comme prvu. Pour contrler ce point,
choisissez Affichage > Fentres > Proprits personnalises ou
Forme > Proprits personnalises.
Si des actions personnalises sont associes la forme dans un
menu contextuel, elles doivent fonctionner comme prvu. Pour
contrler ce point, cliquez avec le bouton droit sur la forme et
choisissez la commande correspondant une action.
Le message et l aide propre une forme fournissent des
informations utiles sur cette forme.
La bote de dialogue Spcial contient les informations appropries.
Pour contrler ce point, choisissez Format > Spcial.
Contrle dune forme de base dans un dessin de mme chelle (suite)
Elment vrifier Vrification
266 CHAP I TRE 13
Pour t est er une f orme dans une page de dessin dchelle dif f rent e :
1 Crez une page de dessin avec une chelle trs loigne de celle de la forme tester.
Par exemple, si la forme de base a t cre avec une chelle de 1:1, crez une page
de dessin avec une chelle de pouce = 1 pied.
2 Insrez une forme de base dans la page de dessin afin de crer une occurrence et la
tester.
3 Vrifiez les points suivants :
Lorsque vous dplacez la forme, son alignement dans le rectangle de slection est
correct.
La forme et le rectangle de slection rpondent au magntisme de la grille.
La forme et le texte associ se comportent comme prvu lorsque vous
redimensionnez la forme verticalement, horizontalement et
proportionnellement.
La forme et le texte associ se comportent comme prvu lorsque vous faites
pivoter la forme laide des commandes Pivoter gauche et Pivoter droite, et
de loutil Rotation.
Ajout dune aide aux f ormes de base
Vous pouvez fournir une aide en ligne donnant des instructions gnrales sur
lutilisation des formes de base dun gabarit ou sur les subtilits du comportement
dune forme. Ce produit Visio prend en charge WinHelp (fichiers .hlp) et HTML
Help (fichiers .chm). Cette section suppose que vous connaissez les techniques et la
terminologie relatives la cration de fichiers daide en ligne Microsoft Windows.
Pour plus dinformations, reportez-vous la documentation fournie avec le kit de
dveloppement SDK (Microsoft Platform Software Development Kit).
Associat ion dune aide une f orme de base
Vous pouvez associer une aide aux formes dun dessin, quelles quelles soient, mais
cette aide est gnralement associe aux formes de base dun gabarit. Pour afficher
laide associe une forme ou un gabarit, choisissez ? dans le menu contextuel
correspondant.
Visio localise la rubrique daide associe une forme grce au numro de
lidentificateur de contexte (ID) indiqu dans le fichier .hpj utilis pour compiler les
fichiers .hlp, ou le fichier .hhp utilis pour compiler les fichiers .chm. Pour associer
une rubrique daide une forme, vous devez fournir lidentificateur de contexte de
cette rubrique.
DI FFUSI ON DE GABARI TS ET DE MODL ES 267
Pour associer une aide une f orme de base dun gabarit :
1 Ouvrez un gabarit avec loption Original afin de pouvoir modifier les formes de
base quil contient, ou cliquez avec le bouton droit sur la barre de titre de ce
gabarit et choisissez Modifier.
2 Double-cliquez sur une forme de base pour ouvrir la fentre de dessin associe et
slectionnez une forme.
3 Choisissez Format > Spcial.
4 Dans le champ daide, entrez le nom du fichier daide et le mot-cl correspondant
en respectant la syntaxe suivante :
nomdefichier.hlp!#n ou nomdefichier.chm!#n
Nomdefichier.hlp ou nomdefichier.chm correspondent au nom du fichier daide et n
au numro dID dfini pour la rubrique daide associer la forme (par exemple,
Forme.hlp#63 ou Forme.chm#63).
Pour afficher le sommaire du fichier daide, au lieu dentrer le numro dID,
utilisez la syntaxe suivante :
nomdefichier.hlp ou nomdefichier.chm
5 Cliquez sur OK.
Lorsquun utilisateur choisit la commande ?, la rubrique indique apparat :
dans une fentre contextuelle qui nest lie aucun systme daide parent de
WinHelp ;
dans une fentre standard qui fait partie du systme daide principal dHTML
Help.
Lorsquaucune rubrique daide nest associe une forme, la commande ? du menu
correspondant est grise.
REMARQUE : lactivation de la touche F1 affiche toujours laide en ligne de Visio, et non
laide associe une forme.
Pour que Visio puisse localiser le fichier daide sur une forme, vous devez le placez
dans le dossier appropri. Par dfaut, lapplication Visio recherche dabord ce type de
fichier dans le dossier des fichiers daide par dfaut (il sagit gnralement du dossier
\Help). Vous pouvez changer ce dossier par dfaut en modifiant le paramtre du
chemin daccs laide dans la bote de dialogue Chemins d'accs. Pour ce faire,
choisissez Outils > Options, puis cliquez sur longlet Chemins d'accs.
268 CHAP I TRE 13
Test de laide sur les f ormes
Assurez-vous que laide associe la forme et la forme elle-mme sont finalises.
Testez la cohrence et la prcision de laide et de ses liens.
Pour t est er laide sur les f ormes :
1 Cliquez avec le bouton droit sur une forme de base dun gabarit. Vous pouvez
aussi crer une occurrence de la forme et cliquer dessus avec le bouton droit.
Choisissez ? et vrifiez que la rubrique daide correcte apparat.
2 Crez une autre occurrence de la forme, slectionnez-la et cliquez dessus avec le
bouton droit. Choisissez ? dans le menu contextuel et vrifiez que la rubrique
daide correcte apparat.
3 Testez tous les liens pour vous assurer quils donnent accs aux rubriques
appropries.
4 Vrifiez lorthographe, la grammaire, la cohrence et la prcision de chaque
rubrique.
Finalisat ion et t est dun gabarit
Une fois que vous avez cr un gabarit contenant des formes de base, il vous reste
encore quelques tches effectuer pour prparer ce gabarit en vue de sa distribution.
Par exemple, lutilisation des gabarits que vous crez sera dautant plus facile si les
formes de base sont harmonises et si chacune voque la fonction de la forme
correspondante.
Crat ion de raccourcis vers des f ormes de base
Vous pouvez crer des raccourcis vers des formes de base situes dans dautres
gabarits. Pour ce faire, les formes de base doivent tre stockes dans un gabarit
enregistr. Ces raccourcis apparaissent et se comportent exactement comme une
forme de base, la diffrence prs quils font rfrence une forme de base qui peut
tre stocke dans tout autre gabarit. Les raccourcis de formes de base ne contiennent
aucune donne de forme : lorsque vous dplacez ce raccourci sur la page de dessin, la
forme de base dorigine est extraite et utilise pour crer la forme.
DI FFUSI ON DE GABARI TS ET DE MODL ES 269
En crant des raccourcis vers des formes de base dans un gabarit, vous bnficiez des
avantages suivants :
Vous rduisez la taille des gabarits en faisant rfrence aux formes de base (elles ne
sont plus dupliques).
Vous simplifiez la maintenance des formes de base en conservant les donnes des
formes dans un mme emplacement.
Vous disposez de plusieurs raccourcis vers une mme forme de base et des
dfinitions des actions de chaque raccourci (appeles actions de dplacement)
ayant une incidence sur lapparence de la forme lorsquelle est dplace sur la page.
Pour crer un raccourci vers une f orme de base, ef f ect uez lune des
oprat ions suivant es :
Cliquez avec le bouton droit sur une forme de base et choisissez Crer un raccourci
dans le menu contextuel. Un raccourci apparat dans le mme gabarit que cette
forme de base ; faites-le alors glisser vers un autre gabarit. Un gabarit doit tre
modifiable pour que vous puissiez crer un raccourci vers une forme de base situe
dans le mme gabarit.
Cliquez avec le bouton droit sur une forme de base, puis choisissez Copier. Cliquez
avec le bouton droit sur le gabarit dans lequel vous souhaitez insrer le raccourci,
puis choisissez Coller le raccourci.
Faites glisser une forme de base vers un autre gabarit tout en maintenant les
touches Ctrl+Maj enfonces. Au lieu de crer une copie de la forme de base dans le
gabarit cible, Visio gnre un raccourci vers cette forme.
Pour df inir des act ions de dplacement pour un raccourci vers une f orme
de base :
1 Cliquez avec le bouton droit sur un raccourci de forme de base et choisissez
Proprits de raccourci de forme de base.
2 Dans les champs Actions au dplacement de la bote de dialogue des raccourcis de
forme de base, saisissez tout nom de cellule gal une valeur ou une formule
valide que vous souhaitez appliquer loccurrence de la forme de base. Par
exemple, pour appliquer la couleur de remplissage rouge lorsque vous linsrez
dans une page de dessin, saisissez lexpression suivante :
Vous pouvez sparer tout nombre de valeur de cellule par un point virgule. Par
exemple :
Pemp1PemP1ah = 2
Pemp1PemP1ah = 2 + 3 veIomaf = 1
270 CHAP I TRE 13
Net t oyage des f ormes de base dans un gabarit
Vous pouvez modifier le nom et licne des formes de base pour en faciliter
lidentification. Vous pouvez galement ajouter un message et le faire apparatre dans
la barre dtat de Visio pour quil explique la fonction principale de la forme de base.
Par dfaut, le nom dune forme de base est un identificateur attribu par Visio et son
icne, une reprsentation miniature de la forme. Lorsque vous modifiez une nouvelle
forme de base, sauf indication contraire, licne est mise jour en mme temps que
vous dessinez la forme correspondante.
Pour faciliter lidentification dune
forme de base, vous pouvez
associer une image personnalise
licne.
A Icne de la forme de base Fentre
B Forme Fentre telle quelle apparat dans la fentre de dessin
Pour df inir un nom et un message pour une f orme de base :
1 Ouvrez un gabarit avec loption Original, ou cliquez avec le bouton droit dans la
barre de titre dun gabarit et choisissez Modifier.
2 Dans la fentre de gabarit, cliquez avec le bouton droit sur une forme de base et
choisissez Proprits des formes de base dans le menu contextuel.
3 Dans le champ Nom, saisissez le nom de la forme de base. Pour changer
lalignement du nom de la forme de base sous licne, slectionnez une option
Aligner.
4 Dans le champ Message daide, saisissez le texte qui doit apparatre dans la barre
dtat et dans linfo-bulle lorsque lutilisateur place le pointeur de la souris sur
licne.
5 Dans la zone Taille de l'icne, slectionnez une taille.
Pour crer une icne de f orme de base personnalise :
1 Dans la fentre de gabarit, cliquez avec le bouton droit sur une forme de base et
choisissez Modifier l'icne.
2 Modifiez licne ou crez un dessin dans la fentre de modification dicnes
laide des outils de dessin.
Pour plus dinformations sur lutilisation des outils de dessin dans la fentre de
modification dicnes, effectuez une recherche laide des mots fentre de
modification dicnes dans laide en ligne fournie avec Visio.
3 Lorsque vous avez termin, fermez la fentre de modification dicnes.
4 Pour viter toute modification accidentelle dune icne personnalise, cliquez avec
le bouton droit sur la forme de base, puis choisissez Proprits des formes de base.
Assurez-vous que la case Gnrer automatiquement une icne partir des donnes
de la forme nest pas coche.
A B
DI FFUSI ON DE GABARI TS ET DE MODL ES 271
Fentre de modification dicnes
A Cliquez sur ce bouton avec le bouton gauche pour appliquer cette couleur.
B Cliquez sur ce bouton avec le bouton droit pour appliquer cette couleur.
C Palette de couleurs
D Outils ddition
E Couleur darrire-plan du gabarit
F Fentre de modification dicnes
Net t oyage dun f ichier de gabarit
Avant denregistrer un gabarit termin, effectuez les oprations suivantes pour
liminer les donnes superflues et amliorer les performances :
Agencez les icnes dans les fentres de gabarit de sorte quelles apparaissent
lcran, louverture du fichier, classes de gauche droite et de haut en bas.
Saisissez des informations rcapitulatives sur le fichier de gabarit. Pour ce faire,
activez la fentre de gabarit, puis choisissez Fichier > Proprits.
Pour rduire la taille du fichier de gabarit, assurez-vous quil contient uniquement
la page de dessin requise et que celle-ci ne contient aucune forme.
Supprimez de la page de dessin les styles non utiliss par les formes de base du
gabarit. Un fichier de gabarit ne doit contenir que des formes de base et les styles
associs.
Vrifiez que la dfinition des styles du gabarit correspond celle des styles de
mmes noms dans les modles donnant accs au gabarit. Pour obtenir des
informations sur lutilisation des styles, reportez-vous au chapitre 10, Gestion
des styles, des formats et des couleurs .
Enregistrez le fichier de gabarit laide de la commande Enregistrer sous et vrifiez
que loption Espace de travail de la bote de dialogue est dslectionne. La liste des
espaces de travail dun gabarit doit tre vide.
A
B
C
D
E
F
272 CHAP I TRE 13
Test des gabarit s
Pour tester les gabarits, vous devez passer en revue les informations de la bote de
dialogue Ouvrir un fichier et analyser le gabarit ouvert avec les options Original,
Copie et Lecture seule.
CONSEIL : pour protger le gabarit dorigine, faites-en une copie contenant les formes
tester, puis procdez au test dans cette copie. Entrez ensuite les modifications dans
loriginal et faites-en une copie pour procder de nouveaux tests.
Pour t est er les inf ormat ions de la bot e de dialogue Ouvrir un f ichier :
1 Choisissez Fichier > Ouvrir.
2 Dans la zone contenant les noms des fichiers, slectionnez un fichier de gabarit.
3 Vrifiez les points suivants :
Loption Ouvrir par dfaut est paramtre sur Lecture seule.
Un titre et une description apparaissent dans la zone Description. Dans le cas
contraire, pensez les entrer ultrieurement dans le fichier dorigine via
Fichier > Proprits.
Pour t est er la version dorigine dun gabarit :
1 Ouvrez un fichier de gabarit avec loption Original.
2 Vrifiez les points suivants :
Le nom du fichier est correctement affich dans la barre de titre louverture du
fichier. Par exemple, ce nom doit apparatre sous la forme : Formes de base.vss.
(Si la page de dessin est ouverte, .vss napparat pas.)
La fentre de gabarit occupe le quart gauche de lcran.
Les informations de proprit relatives au fichier sont remplies. Pour contrler
ce point, choisissez Fichier > Proprits et vrifiez lorthographe, la grammaire,
le contenu, lespacement, lutilisation des majuscules et la ponctuation.
Pour t est er la copie dun gabarit :
1 Ouvrez un fichier de gabarit avec loption Copie.
2 Vrifiez les points suivants :
Le fichier est ouvert sous un nom gnrique tel que Gabarit1.
Aucune information de proprit ne doit apparatre, sauf dans le champ Auteur
qui doit afficher le nom dutilisateur dfini dans la bote de dialogue Options
(accessible via le menu Outils) ou lors de linstallation de Visio.
DI FFUSI ON DE GABARI TS ET DE MODL ES 273
Pour t est er la version en lect ure seule dun gabarit :
1 Fermez tous les fichiers et ouvrez le fichier de gabarit avec loption Lecture seule.
2 Vrifiez les points suivants :
Le nom de fichier apparat entre accolades dans la barre de titre.
Dans le menu Fichier, la commande Enregistrer est grise.
Dans le menu Edition, les commandes Couper, Effacer, Coller et Dupliquer sont
grises.
Dans le menu Forme de base, toutes les commandes sont grises.
Finalisat ion et t est dun modle
Avant denregistrer un modle, vrifiez les points suivants :
La liste des espaces de travail ne doit contenir que les fichiers ouvrir.
Toutes les fentres doivent tre positionnes correctement.
Toute fentre que vous souhaitez rduire doit tre mise en icne.
Pour crer un espace de travail pour un modle, cochez la case Espace de travail dans
la bote de dialogue Enregistrer le fichier sous et enregistrez le fichier de modle.
Ensuite, moins que vous nayez dslectionn la case Espace de travail, Visio met
jour la liste des espaces de travail chaque fois que vous enregistrez le fichier dorigine
(ajout des fichiers ouverts et suppression de ceux ferms).
Net t oyage dun modle
Pour optimiser lefficacit dun modle, supprimez les donnes superflues des fentres
et de lespace de travail qui lui sont associs, et ajoutez des informations de rsum
pour le modle. Commencez par ouvrir un modle avec loption Original.
Pour supprimer les f ormes de base inut iles du gabarit de document du
modle :
1 Activez la fentre de dessin et choisissez Fentre > Afficher le gabarit de document.
2 Ne supprimez que les occurrences qui ne figurent dans aucun dessin du fichier de
dessin.
274 CHAP I TRE 13
Pour vrif ier que la t aille des f ent res et des gabarit s apparat
correct ement sur dif f rent s syst mes :
1 Ouvrez un modle sur un systme dont la rsolution daffichage correspond celle
que les utilisateurs sont susceptibles dutiliser.
2 Choisissez Fentre > Mosaque pour positionner les fentres correctement.
3 Prenez soin douvrir le modle sur des systmes de rsolution diffrents pour
vrifier que la position des fentres est correcte.
Pour ent rer des inf ormat ions rcapit ulat ives pour un modle :
Choisissez Fichier > Proprits et cliquez sur longlet Rsum.
Test dun modle
Pour tester un modle, vous devez contrler les informations le concernant qui sont
affiches dans la bote de dialogue Ouvrir un fichier, puis louvrir avec les options
Original, Copie ou Lecture seule pour voir comment il se comporte.
Si vous crez un modle en enregistrant un fichier Visio existant en tant que nouveau
fichier de modle (.vst), il risque dhriter dune liste des espaces de travail non
pertinente. Avant de transmettre un modle aux utilisateurs, prenez soin de le tester
pour vous assurer que la liste des espaces de travail associe ouvre les fentres et les
fichiers adquats.
CONSEIL : pour protger le modle dorigine, faites-en une copie contenant les formes
tester, puis procdez au test dans cette copie. Entrez ensuite les modifications dans
loriginal et faites-en une copie pour procder de nouveaux tests.
Pour t est er les inf ormat ions de la bot e de dialogue Ouvrir un f ichier :
1 Choisissez Fichier > Ouvrir.
2 Recherchez le fichier de modle tester et slectionnez-le.
3 Dans la zone Description, vrifiez quun titre et quune description apparaissent.
Titre : Description doit apparatre dans la zone Description. Dans le cas contraire,
pensez les entrer ultrieurement dans le fichier dorigine par le biais de la
commande Fichier > Proprits.
DI FFUSI ON DE GABARI TS ET DE MODL ES 275
Pour t est er la version dorigine dun modle :
1 Ouvrez le fichier de modle avec loption Original.
2 Vrifiez que le modle est ouvert correctement.
Le nom du fichier doit tre correctement affich dans la barre de titre
louverture du fichier. Par exemple, si le fichier de modle porte le nom
Organigramme.vst, le nom qui apparat dans la barre de titre doit galement tre
Organigramme.vst.
Tous les fichiers de gabarit (.vss) associs au modle doivent tre ouverts en
lecture seule, moins quil ne doivent tre ouverts en tant que fichiers dorigine.
La fentre de la page de dessin doit tre ouverte en vue pleine page, moins que
vous nactiviez expressment une autre option. (La vue pleine page est loption
optimale pour la plupart des crans.)
La position des fentres de gabarit et de dessin doit tre correcte. Choisissez
Fentre > Mosaque pour contrler les positions de ces fentres, moins que
vous ne les ayez dj repositionnes pendant la session de travail en cours.
Le modle doit contenir le nombre de pages adquat. Contrlez les onglets Page
au bas de la page de dessin. Les modles ne doivent contenir quune seule page
moins que des pages supplmentaires naient t cres intentionnellement.
Le contenu de chaque page (y compris larrire-plan) doit tre correct.
Aucun lment ne doit se trouver par erreur dans la zone bleue qui entoure la
page de dessin. Pour contrler ce point, appliquez un zoom de 5 % chaque
page de dessin. Pour vrifier que toutes les formes sont visibles, choisissez
Edition > Slectionner tout.
3 Vrifiez que les paramtres du modle sont corrects.
Lchelle de chaque page doit tre compatible avec les formes destines tre
utilises avec le modle. Pour contrler ce point, choisissez Fichier > Mise en
page et cliquez sur longlet Proprits de la page ; effectuez cette opration pour
chaque page.
La taille de la page doit correspondre lorientation de page utilise pour
limpression. A moins que vous ne souhaitiez que les pages soient juxtaposes
limpression, les paramtres suivants doivent tre utiliss : si la hauteur de la
page est suprieure sa largeur, lorientation portrait doit tre utilise. Dans le
cas contraire, utilisez lorientation paysage.
Le gabarit de document ne doit contenir aucune forme de base, moins que
vous nayez cr un formulaire sur la page de dessin du modle. Dans ce cas,
aucune autre forme de base ne doit apparatre. Pour contrler ce point,
choisissez Fentre > Afficher le gabarit de document.
276 CHAP I TRE 13
Les informations de proprit du fichier doivent tre remplies. Pour contrler
ce point, choisissez Fichier > Proprits et vrifiez lorthographe, la grammaire,
le contenu, lespacement, lutilisation des majuscules et la ponctuation.
Les paramtres de modle des diffrentes pages doivent tre corrects. Pour
contrler ce point, dans le menu Outils, choisissez les commandes Options,
Magntisme et collage, et Rgles et grille. Choisissez Fichier > Mise en page et
cliquez sur les onglets Taille de la page, Echelle de dessin et Proprits de la page.
Vrifiez les listes de styles dans les barres doutils Format.
Le paramtrage des options daffichage du modle doit tre correct : rgles,
grille, repres, points de connexion, barre doutils et barre dtat.
Vrifiez que la palette de couleurs du modle correspond celle de tous les
gabarits ouverts avec ce modle.
Pour t est er la copie dun modle :
1 Ouvrez un fichier de modle avec loption Copie.
2 Vrifiez que le nom de la page de dessin est sous la forme Dessin1:Page-1
louverture du fichier.
3 Vrifiez que lapparence de la page de dessin et des pages que vous avez ajoutes
correspond vos attentes.
4 Tous les fichiers de gabarit (.vss) doivent souvrir en lecture seule.
5 Choisissez Fichier > Proprits et vrifiez quaucune information napparat dans
les proprits de fichier, sauf dans le champ Auteur qui affiche le nom de
lutilisateur dfini via Outils > Options ou lors de linstallation de Visio.
Pour t est er un modle en lect ure seule :
1 Ouvrez un fichier de modle avec loption Lecture seule.
2 Vrifiez que le nom de fichier qui apparat dans la barre de titre de la fentre de
dessin est plac entre accolades et commence par le nom du modle.
3 Dans le menu Fichier, vrifiez que la commande Enregistrer est grise.
DI FFUSI ON DE GABARI TS ET DE MODL ES 277
Inst allat ion des gabarit s et des modles
Pour que Visio puisse trouver vos fichiers de gabarit et de modle, ainsi que les
programmes complmentaires quils utilisent, placez-les dans le dossier \Solutions.
Vous pouvez ajouter vos fichiers ce dossier pour permettre aux utilisateurs de
visualiser vos fichiers de modle et de gabarit lorsquils choisissent Fichier >
Nouveau > Choisir le type de dessin ou Fichier > Ouvrir un gabarit > Ouvrir un
gabarit. Ces fichiers sont galement visibles lorsque lutilisateur lance Microsoft


Visio

2000 et quil choisit Crer un dessin > Choisir le type de dessin dans la bote de
dialogue Bienvenue dans Visio 2000.
Si vous souhaitez installer vos fichiers de gabarit et de modle un autre
emplacement, vous pouvez redfinir le dossier par dfaut dans lequel Visio recherche
les fichiers. Pour ce faire, choisissez Outils > Options et cliquez sur longlet Chemins
d'accs. Dans la bote de dialogue Chemins d'accs, vous pouvez entrer un chemin
daccs par dfaut.
Dplacement des f ichiers de modle
Les noms des diffrents fichiers de gabarit et de dessin ouverts avec un modle sont
rpertoris dans la liste des espaces de travail du modle avec chemin daccs et nom
complets. Des problmes peuvent survenir lorsque des fichiers sont dplacs sur
dautres machines dont les lecteurs locaux ou de rseau ne sont pas configurs de la
mme faon. Pour prvenir en partie ces problmes, Visio procde aux vrifications
suivantes :
1 Lorsquun fichier de la liste des espaces de travail est sur le point dtre ouvert,
Visio commence par examiner le chemin daccs du fichier enregistr.
2 Si le chemin est exactement le mme que celui enregistr pour le fichier qui
contient la liste, Visio considre que ces fichiers se trouvent dans le mme dossier.
3 Visio cherche ce fichier dans le dossier en cours du fichier despace de travail.
Lorsque vous dplacez des fichiers, tant que vous copiez les gabarits et les modles
dans le mme dossier, Visio parvient localiser et ouvrir tous les fichiers de la liste
des espaces de travail.
Prot ect ion des gabarit s et des modles
Louverture en lecture seule est la meilleure faon dviter toute modification
accidentelle des gabarits et des modles. Aucune modification ne peut en effet tre
enregistre dans un fichier dans cet tat. Lorsque vous crez un modle, ouvrez en
lecture seule les fichiers de gabarit inclure avant denregistrer ce modle. Visio ouvre
ensuite automatiquement ces gabarits en lecture seule lorsquun utilisateur ouvre le
modle.
278 CHAP I TRE 13
Lorsque vous utilisez la commande Enregistrer ou Enregistrer sous, vous pouvez
activer loption Lecture seule pour faire bnficier un fichier Visio de la protection en
lecture seule de Windows. Lorsque vous procdez ainsi, les utilisateurs ne peuvent pas
ouvrir le fichier dorigine, mais seulement une copie.
Vous pouvez aussi protger un document par le biais de la commande Protger le
document. Cette commande empche lutilisateur de modifier les pages
darrire-plan dun modle, les formes de base dun gabarit, les formes dun dessin et
les styles du modle. Si vous entrez un mot de passe, les utilisateurs doivent le saisir
pour pouvoir modifier les lments concerns.
Pour protger un document, choisissez Affichage > Fentres > Drawing Explorer,
puis cliquez avec le bouton droit sur le nom de ce document. Vous pouvez alors
slectionner Protger le document dans le menu contextuel.
Sommaire
14
Aut omat ion et
le modle dobjet de Visio
Automation est le programme qui permet dintgrer les fonctionnalits du
programme Microsoft

Visio

ou dutiliser le moteur Visio en tant que moteur


graphique de votre propre application. Avec Automation, vous pouvez utiliser le
moteur Visio pour crer ou mettre jour des dessins en fonction de donnes
provenant dune source externe, pour lire des dessins et en extraire des donnes, ou
simplement pour intgrer le comportement dun dessin dans une macro crite en
Microsoft

Visual Basic

pour Applications (VBA).


Ce chapitre dcrit les objets proposs par Visio via Automation et explique comment
y accder depuis un autre programme. Il aborde brivement la syntaxe permettant
dutiliser des objets, des proprits et des mthodes Visio dans VBA, et prsente des
exemples de code.
Pour plus dinformations sur la gestion des vnements dans votre programme,
reportez-vous au chapitre 21, Gestion des vnements dans Visio .
Pour plus dinformations sur la cration dun programme externe en Microsoft


Visual Basic

, reportez-vous au chapitre 26, Programmation de Visio


avec Microsoft Visual Basic .Pour plus dinformations comparables sur la syntaxe en
C++, reportez-vous au chapitre 27, Programmation de Visio avec C++ .
Prsentation dAutomation.................................................................................... 280
Modle dobjet de Visio......................................................................................... 280
Rcupration et libration dobjets Visio ............................................................. 283
Utilisation des proprits et des mthodes ......................................................... 289
280 CHAP I TRE 14
Prsent at ion dAut omat ion
Automation permet un programme crit en VBA (Microsoft Basic pour
Applications), Microsoft Visual Basic, C/C++, ou en tout autre langage de
programmation prenant en charge Automation, dintgrer les fonctionnalits de Visio
en utilisant simplement ses objets.
Les relations unissant les objets entre eux dans une application, ainsi que les
vnements, les mthodes (comportements) et les proprits (donnes) de chaque
objet sont reprsents par la hirarchie dobjets ou le modle dobjet du programme. La
plupart des objets du modle dobjet de Visio correspondent des lments visibles et
manipulables dans Visio. Par exemple, lobjet Shape reprsente une forme dans un
dessin.
Avec Automation, lapplication qui fournit les objets (telle que Visio, parfois appele
application fournisseur ou serveur dAutomation) permet aux autres applications
daccder ces objets, et fournit les proprits et les mthodes permettant de les
contrler, ce qui est dcrit par lexpression mise disposition des objets.
Lapplication qui utilise les objets (telle que votre programme, parfois dsign par le
terme application de contrle ou client dAutomation) cre des occurrences de ces
objets, puis dfinit leurs proprits ou appelle les mthodes associes pour pouvoir
utiliser ces objets.
Linteraction entre lapplication fournisseur et lapplication de contrle sopre par des
services COM (Component Object Model), installs lors de linstallation de toute
version de Microsoft

Windows

95 ou ultrieure.
Tous les produits Microsoft

Visio

2000 comprennent VBA ; vous navez donc pas


besoin dutiliser un autre environnement de dveloppement pour crire vos
programmes. Vous pouvez nanmoins crire des programmes qui contrlent Visio
dans tout autre langage prenant en charge Automation en tant que contrleur. Les
exemples prsents dans cet ouvrage sont rdigs en VBA, mais leurs principes sont
applicables tout langage de programmation.
Modle dobjet de Visio
Le modle dobjet de Visio reprsente les objets, les proprits, les mthodes et les
vnements proposs par le moteur Visio via Automation ; surtout, il dcrit les
relations unissant ces objets.
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 281
Modle dobjet de Microsoft

Visio

Cell
Cell
Row
Row
Section
Section
Cellule
Application
ActiveWindow
ActivePage
ActiveDocument
ThisDocument
UIObject
UIObject
Document
Documents
Window
Windows
VBE
StatusBar
StatusBars
ToolbarSet
ToolbarSets
AccelTable
AccelTables
MenuSet
MenuSets
VBProject
Color
Colors
Font
Fonts
Style
Styles
Page
Pages
Selection
Master
Page
Document
StatusBarItem
StatusBarItems
Toolbar
Toolbars
AccelItem
AccelItems
Menu
Menus
Shape
Shapes
Layer
Layers
OLEObject
OLEObjects
Connect
Connects
ToolbarItem
ToolbarItems
MenuItem
MenuItems
Path
Paths
Characters
Hyperlink
Hyperlinks
Connect
Connects
Shape. . .
Shapes
MenuItem
MenuItems
Global
Curve
Section
AddOn
AddOns
Ligne
1
6
5 Event
EventList
4
4
3
2
1 Lobjet ThisDocument est une copie
dun objet Document, disponible
uniquement lorsque vous utilisez
Microsoft Visual Basic pour
Applications.
2 Si lobjet Shape reprsente un
groupe, il comporte galement une
collection Shapes.
3 Si lobjet MenuItem, ToolBarItem
ou StatusBarItem reprsente un
menu hirarchique, il comporte
galement la collection
MenuItems, ToolBarItems ou
StatusBarItems correspondante.
4 Un objet UIObject peut reprsenter
des menus et des acclrateurs,
ou des barres doutils et des barres
dtat. Pour plus dinformations,
consultez le chapitre 22,
Personnalisation de linterface
utilisateur Visio du manuel
Developing Visio Solutions.
5 De nombreux objets Visio
possdent une collection EventList.
Pour plus dinformations, consultez
laide en ligne Visio Rfrence
Automation.
6 Lobjet global Visio nest disponible
que lorsque vous utilisez Visual
Basic pour Applications.
Reprsente un mode daccs
plus direct un objet considr
comme une proprit de lobjet
global Visio.
Object
Collection Occurrence
dun objet
Explications
MasterShortcut
MasterShortcuts
Master
Masters
Shape
Shapes
Layer
Layers
OLEObject
OLEObjects
Connect
Connects
Shape
Shapes
2
ToolbarItem
ToolbarItems
3
StatusBarItem
StatusBarItems
3
StatusBars
ToolbarSets
AccelTables
MenuSets
StatusBarItems
Toolbars
AccelItems
Menus
AddOns
EventList
Documents
Windows
Colors
Fonts
Styles
Pages
Shapes
Layers
OLEObjects
Connects
ToolbarItems
MenuItems
Paths
Hyperlinks
Connects
Shapes
MenuItems
MasterShortcuts
Masters
Shapes
Layers
OLEObjects
Connects
Shapes
ToolbarItems
StatusBarItems
Global
Collection
282 CHAP I TRE 14
La plupart des objets du modle correspondent des lments visibles et
manipulables dans Visio. Par exemple, lobjet Shape reprsente un lment dune
page de dessin Visio slectionnable avec loutil Pointeur, savoir une forme, un
groupe, un repre ou un objet issu dune autre application, et li, incorpor ou
import dans un dessin Visio.
Les objets Visio rsident dans une copie de Visio (un programme VBA est excut
dans une copie de Visio, puis accde aux objets dont il a besoin). Un programme
externe est excut de faon autonome par rapport Visio ; il lance donc lapplication
Visio ou accde une session en cours. Il accde ensuite aux objets Visio dont il a
besoin.
Certains objets reprsentent des collections dautres objets. Une collection contient un
nombre variable dobjets dun type prcis. Par exemple, lobjet Document reprsente
un document ouvert dans une copie de Visio ; la collection Documents reprsente
tous les documents ouverts dans cette copie. Pour plus dinformations sur les
collections, reportez-vous la section Rfrence un objet dune collection ,
page 285.
De nombreux objets UI Visio
correspondent des lments
visibles sur la page de dessin de
linterface utilisateur.
A Objet global/Application
B Objets Document
C Objet Page
D Objet Master
E Objet Selection
F Objet Shape
G Objets Window
B
C
D
E
F
G
A
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 283
Lutilisation dun objet Visio se fait en deux tapes : vous rcuprez une rfrence
lobjet, puis vous utilisez les proprits et les mthodes de ce dernier pour effectuer
des oprations. Rcuprer une rfrence un objet consiste gnralement lire une
proprit dun objet situ plus haut dans le modle dobjet de Visio. La plupart des
objets sont utiliss pour accder dautres objets. Par exemple, pour rcuprer une
rfrence un objet Shape, vous devez rcuprer des rfrences aux objets situs plus
haut dans le modle dobjet ( la page qui contient la forme et au document qui
contient la page, par exemple).
Pour obtenir la liste rcapitulative des objets, des proprits, des mthodes et des
vnements Visio, reportez-vous lannexe A, Proprits, mthodes et vnements
classs par objet .
Rcuprat ion et librat ion dobjet s Visio
Pour rcuprer un objet, il faut dclarer une variable objet, effectuer une recherche
dans le modle dobjet pour tablir une rfrence cet objet que vous souhaitez
contrler, puis attribuer la rfrence la variable objet. Vous pouvez ensuite dfinir
les valeurs des proprits de cet objet ou utiliser des mthodes permettant de
contrler lobjet.
Dclarat ion de variables objet s
Une variable stockant une rfrence un objet Visio doit tre dclare avec un type
dobjet Visio, comme Visio.Page ou Visio.Document, dfini dans la bibliothque de
types de Visio. Une fois que vous avez rcupr lobjet que vous souhaitez contrler,
la dclaration Set vous permet dattribuer la rfrence la variable de lobjet.
Il nest pas toujours ncessaire dattribuer dautres rfrences dobjet des variables,
mais cette opration est en gnral conseille, notamment si le programme fait
rfrence plusieurs fois aux mmes objets. La plupart des programmes comportent au
moins une variable objet stockant, par exemple, une rfrence lobjet Page qui
reprsente la page manipule par le programme. Les objets auxquels vous faites
rfrence dpendent de lutilisation du programme. Il est impossible de stocker la
valeur dune variable objet entre les excutions dun programme. Une rfrence
dobjet quivaut un pointeur vers une adresse mmoire : sa valeur peut diffrer
chaque fois que le programme est excut.
284 CHAP I TRE 14
Une variable peut galement tre dclare avec le type gnrique Object. Cependant,
lutilisation des types dobjet de Visio augmente la rapidit de votre programme et
limine les risques de confusion ou de conflits qui pourraient se produire dans les
noms des objets et des proprits lorsque vous programmez avec dautres applications
et avec Visio. Par exemple, lorsque vous dclarez une variable objet pour une page de
Visio, utilisez la syntaxe suivante :
Vous pourriez liminer Visio et nutiliser que Page, mais les autres applications
utilises peuvent comporter un objet Page. Par exemple, Microsoft

Excel comporte
un objet Cell, comme le moteur Visio, mais ces deux objets sont diffrents et ne sont
pas interchangeables.
Les variables dclares peuvent tre locales, de niveau module ou globales. La porte
adopte dpend de lutilisation de ces variables dans le programme. Pour plus
dinformations sur la dclaration des variables, reportez-vous laide en ligne de
Microsoft Visual Basic.
Accs aux objet s de Visio via les proprit s
La plupart des objets Visio ont des proprits dont la valeur fait rfrence dautres
objets. Vous pouvez utiliser ces proprits pour accder aux objets que vous souhaitez
contrler, par lintermdiaire des diverses couches du modle dobjet.
Prenez lexemple suivant : lobjet que vous souhaitez contrler est lobjet Shape. Vous
accdez tout dabord au modle dobjet via lobjet de niveau suprieur, soit lobjet
Application. La proprit Documents dun objet Application renvoie une
collection Documents. Vous progressez dans le modle dobjet de la manire
suivante :
La proprit Documents dun objet Application renvoie une rfrence la
collection Documents.
La proprit Item dune collection Documents renvoie une rfrence un objet
Document.
La proprit Pages dun objet Document renvoie une rfrence la collection
Pages.
La proprit Item dune collection Pages renvoie une rfrence un objet Page.
La proprit Shapes dun objet Page renvoie une rfrence la collection Shapes.
La proprit Item dune collection Shapes renvoie une rfrence un objet Shape.
Inversement, la plupart des objets ont une proprit faisant rfrence lobjet situ
au-dessus dans la hirarchie, comme la proprit Document dun objet Page, qui fait
rfrence lobjet Document qui contient lobjet Page.
01m page0b As v1s1o.Page
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 285
Rf rence un objet dune collect ion
Une collection est un objet reprsentant un nombre variable dobjets de mme type.
Vous pouvez effectuer des itrations dans une collection pour effectuer la mme
opration sur tous ses objets, ou tablir une rfrence un objet de la collection.
Chaque collection comporte deux proprits permettant de faire rfrence aux objets
de la collection :
La proprit Item renvoie une rfrence un objet dune collection ; il sagit de la
proprit par dfaut de la plupart des collections.
La proprit Count renvoie le nombre dobjets de la collection. Pour plus
dinformations sur la proprit Count, reportez-vous la section Itration dans
une collection , page 286 de ce chapitre.
La proprit Item reoit un argument numrique reprsentant lindice de lobjet,
cest--dire sa position ordinale dans la collection. Le premier lment de la plupart
des collections porte le numro 1. Par exemple, si la proprit Index de lobjet
Document renvoie 5, cela signifie que cet objet Document est le cinquime membre
de sa collection Documents.
Les collections suivantes, toutefois, sont indexes partir de 0, et non de 1 :
AccelTables, StatusBars, AccelItems, StatusBarItems, Colors, ToolbarSets,
MenuSets, Toolbars, Menus, ToolbarItems, MenuItems et Hyperlinks. Si la
proprit Index dun objet de lune de ces collections renvoie le numro 5, cet objet
est alors le sixime membre de sa collection.
Pour rcuprer un objet en indiquant son indice, utilisez par exemple le code suivant
(shpsObj reprsente une collection Shapes) :
Si la page comporte au moins une forme, cette instruction renvoie une rfrence au
premier objet Shape de la collection Shapes. Si la collection est vide, linstruction
provoque une erreur.
Sef app0b = v1s1o.App11caf1oh
Sef docs0b = app0b.0ocumehfs
Sef doc0b = 0ocumehfs.Tfem|1)
Sef pags0b = doc0b.Pages
Sef pag0b = pags0b.Tfem|1)
Sef shps0b = pag0b.Shapes
Sef shp0b = shps0b.Tfem|1)
286 CHAP I TRE 14
CONSEIL : vous pouvez vrifier que la proprit Count dune collection nest pas gale 0
avant dutiliser Item.
Objet Shape et objets connexes
situs plus haut dans le modle
dobjet de Visio
Avec certaines collections (Documents, Pages, Masters, Shapes ou Styles), la
proprit Item peut galement recevoir un argument de chane indiquant le nom de
lobjet, ce qui peut tre plus pratique que de faire rfrence un objet par son indice.
Par exemple, le code suivant rcupre lobjet Master appel 2-D Double dans la
collection Masters.
It rat ion dans une collect ion
La proprit Count dune collection renvoie le nombre dobjets de cette dernire. Si la
proprit Count a la valeur 0, la collection est vide. Par exemple, linstruction
suivante affiche le nombre de documents ouverts dans une copie de Visio :
En gnral, la proprit Count est utilise pour fixer la limite dune boucle ditration.
Remarquez lutilisation de Count dans linstruction For de lexemple ci-dessous. La
boucle For tourne sur la collection Documents, en vrifiant les trois derniers
caractres du nom de fichier de chaque objet Document. Si ces caractres sont vss (ce
qui indique que le document est un gabarit), son nom est ajout une zone de liste
droulante modifiable.
Le code situ dans ce type de boucle ne doit pas changer le nombre dobjets de la
collection (par exemple, en ajoutant ou en supprimant des objets). Sinon, la valeur de
Count change chaque itration de la boucle.
Sef masf0b = masfs0b|"2-0 0oub1e")
Msgox "0uv1 1es documehfs = " & Sf$|0ocumehfs.Couhf)
Sef docs = appv1s1o.0ocumehfs
Io Each doc0b Th docs0b
Tf uCase|P1ghf|doc0b.hame, 3)) = "vss" Theh
Comboox1.AddTfem doc0b.Iu11hame
Ehd Tf
hexf
Pages
Pages
Document
Documents
Shape
Shapes
Application
Pages
Documents
Shapes
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 287
Pour supprimer des objets dune collection laide dune boucle, dcrmentez le
compteur au lieu de lincrmenter. Chaque fois quun lment est supprim de la
collection, Count diminue de 1 et les lments restants changent de position ; cest
pourquoi une boucle incrmentielle risque de sauter des lments. Utilisez la place
la boucle suivante :
Librat ion dun objet
Un objet dun programme est automatiquement libr lorsque lexcution du
programme prend fin ou lorsque toutes les variables objets faisant rfrence cet
objet sont hors de porte. Si une variable objet est locale, cest--dire propre une
procdure, elle est hors de porte ds que lexcution de cette dernire prend fin. Si la
variable objet est globale, elle subsiste tant que le programme est en cours dexcution,
sauf si lobjet est libr explicitement.
La libration dun objet dans un programme est sans incidence sur lobjet
correspondant de la copie de Visio. Par exemple, la libration dun objet Document
ne ferme pas le document Visio correspondant. Ce document reste ouvert, mais le
programme ne peut plus y accder.
Pour librer explicitement un objet, attribuez la valeur Visual Basic Nothing sa
variable objet. Par exemple :
Si vous attribuez la mme rfrence dobjet plusieurs variables, noubliez pas de les
associer toutes Nothing la libration de lobjet.
Ne librez pas un objet avant davoir fini de lutiliser. Une fois lobjet libr, le
programme ne peut plus faire rfrence lobjet correspondant dans la copie de Visio.
Par exemple, si vous librez un objet Document, le programme ne peut plus
manipuler ce document Visio ; il lui est donc impossible de lenregistrer ou de le
fermer, ou encore den extraire des objets.
Cependant, vous devrez peut-tre librer explicitement un objet dans votre
programme si la rfrence dobjet est devenue incorrecte. Par exemple, si lutilisateur
ferme le document Visio ou supprime une forme, les rfrences ces objets
deviennent incorrectes. Une erreur se produit si vous tentez dutiliser une variable
objet contenant une rfrence dobjet non valide.
01m shps0b As v1s1o.Shapes
Io 1 = Acf1vePage.shps0b.Couhf To 1 Sfep -1
shps0b|1).0e1efe
hexf 1
Sef doc0b = hofh1hg
288 CHAP I TRE 14
Ut ilisat ion de rf rences dobjet composes
Vous pouvez concatner des rfrences dobjet, des proprits et des rfrences Visio
dans une mme instruction, comme avec les objets Microsoft Visual Basic pour
Applications (VBA). Cependant, les rfrences simples sont parfois plus efficaces,
mme si elles ncessitent plusieurs lignes de code.
Par exemple, linstruction suivante fait rfrence la premire forme de la troisime
page du premier document ouvert dans une copie de Visio :
Lexcution de cette instruction extrait un seul objet, lobjet Shape attribu shpObj.
Comparez-la la srie dinstructions ci-dessous utilisant des rfrences dobjet
simples :
Lexcution de ces instructions extrait cinq objets : un objet Document, une
collection Pages, un objet Page, une collection Shapes et un objet Shape. Les
rfrences ces objets, attribues des variables, peuvent tre rutilises
ultrieurement, contrairement lexemple prcdent. Si votre programme risque de
devoir accder aux objets intermdiaires, la lecture et la maintenance de votre code
seront facilites si vous les rcuprez de cette manire.
Limit at ion de la port e et de la dure de vie des variables
objet s
Les rfrences dobjet existent indpendamment de llment vers lequel elles
pointent ; cest pourquoi elles peuvent tre rendues incorrectes par des actions de
lutilisateur incontrlables par le programme. Par exemple, si vous avez tabli une
rfrence un objet Shape et si lutilisateur supprime la forme correspondante, la
rfrence, qui existe toujours dans le programme, est incorrecte car elle pointe vers
une forme qui nexiste plus.
Pour viter que des rfrences soient incorrectes, il est conseill de limiter la porte et
la dure de vie des variables objets. Par exemple, lorsque lexcution du programme
reprend, aprs des manipulations effectues par lutilisateur, vous pouvez librer
certains objets et les rcuprer de nouveau pour vrifier quils sont toujours
disponibles et que le programme fait rfrence des objets dans leur tat actuel.
Sef shpob = 0ocumehfs|1).Pages|3).Shapes|1)
Sef doc0b = 0ocumehfs.Tfem|1)
Sef pags0b = doc0b.Pages
Sef pag0b = pags0b.Tfem|3)
Sef shps0b = pag0b.Shapes
Sef shp0b = shps0b.Tfem|1)
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 289
La faon la plus sre de conserver des rfrences dobjet valides est de capturer les
vnements dclenchs par lobjet auquel vous faites rfrence. Par exemple, si vous
avez tabli une rfrence un objet Shape, vous pouvez grer tout vnement qui
peut entraner linvalidation de la variable (par exemple, lvnement
BeforeShapeDelete). Pour plus dinformations sur la gestion des vnements de votre
programme, reportez-vous au chapitre 21, Gestion des vnements dans Visio .
Ut ilisat ion des proprit s et des mt hodes
Une fois que vous avez tabli une rfrence un objet, vous pouvez rcuprer et
dfinir les valeurs de ses proprits, ou utiliser les mthodes qui font que lobjet
excute les actions. Pour les proprits et mthodes qui ont des valeurs ou des
arguments renvoys, vous devez dclarer des variables dans votre programme. Ces
variables peuvent tre des rfrences dobjet, ou peuvent avoir pour valeur une chane
ou un nombre. Par exemple, la valeur de la proprit Text dun objet Shape est une
chane, savoir le texte affich dans la forme correspondante.
Dclarat ion de variables ut ilisables comme valeurs
renvoyes et comme argument s
Lorsque vous dclarez des variables utilisables comme valeurs renvoyes par les
proprits ou les mthodes, dclarez une variable avec un type de donnes explicite ou
avec le type de donnes Variant de Microsoft Visual Basic, et utilisez une instruction
simple pour attribuer cette valeur la variable.
Les mmes rgles sappliquent lorsque vous dclarez des variables pour les utiliser
comme arguments de proprits ou de mthodes : utilisez des variables objets pour les
objets, et le type de donnes Variant ou un type de donnes explicite appropri pour
les autres valeurs.
Pour plus dinformations sur la dclaration des variables objets, reportez-vous la
section Dclaration de variables objets , page 283. Par ailleurs, toutes les variables
de proprit et de mthode sont prsentes dans laide en ligne Automation Reference
fournie avec Visio.
Lect ure et df init ion des proprit s
Les proprits dfinissent souvent laspect dun objet. Par exemple, linstruction
suivante dfinit la proprit Text dun objet Shape :
shp0b.Texf = "ohou a fous !"
290 CHAP I TRE 14
Linstruction suivante lit le texte de la forme :
Certaines proprits reoivent des arguments. Par exemple, la proprit Cells de
lobjet Shape reoit une expression de chane indiquant une cellule particulire de la
forme correspondante. Lorsquune proprit reoit des arguments, entourez-les de
parenthses. Par exemple, linstruction suivante dfinit la formule de la cellule AxeX.
Linstruction suivante lit la formule de la cellule AxeX et la stocke dans strPinX :
La plupart des proprits des objets de Visio sont en lecture/criture, cest--dire que
vous pouvez lire et dfinir leur valeur. Certaines proprits sont en lecture seule ; vous
pouvez les lire, mais il nest pas possible de les redfinir. Par exemple, vous pouvez lire
la proprit Application dun objet pour identifier la copie de Visio le contenant,
mais il est impossible de redfinir la valeur de cette proprit pour transfrer lobjet
vers une autre copie.
Quelques proprits sont en criture seule, cest--dire que leur valeur peut
uniquement tre dfinie. Ces proprits grent gnralement un cas particulier pour
des proprits quivalentes en lecture/criture. Par exemple, vous pouvez modifier la
formule dune cellule en dfinissant sa proprit Formula, sauf si la formule est
protge par la fonction PROTECTION. Dans ce cas, vous devez utiliser la proprit
FormulaForce pour redfinir la formule. Cependant, il est impossible de rcuprer la
formule dune cellule en utilisant FormulaForce ; vous devez employer Formula,
mme si la formule est protge.
Pour plus dinformations sur les proprits (en lecture/criture, en lecture seule et en
criture seule) et les mthodes, reportez-vous laide en ligne Developer Reference
(accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
Ut ilisat ion de la proprit par df aut dun objet
La plupart des objets comportent une proprit par dfaut qui est utilise si vous ne
prcisez pas de proprit lorsque vous faites rfrence lobjet. Par exemple, la
proprit par dfaut de lobjet Document est Name, cest pourquoi les deux
instructions suivantes renvoient la mme valeur :
shpTexf = shp0b.Texf
shp0b.Ce11s|"AxeX").Iomu1a = "4,2S po."
sfP1hX = shp0b.Ce11s|"AxeX").Iomu1a
dochame = 0ocumehfs|S).hame fomaf 1ohg
dochame = 0ocumehfs|S) fomaf couf
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 291
La proprit par dfaut de la plupart des collections est Item; vous pouvez ainsi
utiliser linstruction suivante pour accder un objet dune collection :
Pour dfinir la proprit par dfaut dun objet Visio, recherchez cet objet dans laide
en ligne Automation Reference fournie avec Visio. La proprit par dfaut dun objet
Visio est galement repre par un point bleu dans lexplorateur dobjets. Pour plus
dinformations sur cet explorateur, reportez-vous la section Utilisation de
lexplorateur dobjets , page 303.
Ut ilisat ion de mt hodes
Les mthodes correspondent souvent aux commandes de Visio. Par exemple, lobjet
Shape comporte une mthode Copy qui quivaut slectionner une forme et
choisir la commande Copier dans le menu Edition de Visio. Les autres mthodes
correspondent dautres actions. Par exemple, lobjet Fentre comporte une mthode
Activate qui permet dactiver la fentre correspondante, ce qui revient slectionner
cette dernire laide de la souris.
La syntaxe permettant dutiliser une mthode est comparable celle employe pour
dfinir une proprit. Si une mthode cre un objet, comme lobjet Page, elle renvoie
une rfrence lobjet cr, comme dans lexemple suivant. En gnral, les mthodes
qui ne crent pas dobjets ne renvoient pas de valeur.
Sef shp0b = shps0b.Tfem|1) fomaf 1ohg
Sef shp0b = shps0b|1) fomaf couf
01m pag0b As v1s1o.Page
Sef pag0b = pags0b.Add
Sommaire
15
Programmat ion dans Visio
avec Microsof t VBA
Chaque langage de programmation qui prend en charge Automation peut servir
crire des programmes qui permettent daccder des objets Microsoft

Visio

,
rcuprer et paramtrer des proprits, appeler des mthodes et recevoir des
vnements. Les produits Visio fournissent un environnement de dveloppement
intgr standard idal pour la mise au point de projets Microsoft

Visual Basic

pour
Applications (VBA).
Si votre solution utilise Automation pour grer les formes et les dessins, lire des
donnes de sources externes ou en crire (comme une base de donnes) ou agir en
interaction avec dautres applications, vous pouvez crire du code VBA dans
lapplication Visio pour accomplir ces tches. Lenvironnement de dveloppement
intgr VBA Visio est compatible avec lenvironnement de dveloppement intgr
dans toutes les applications actives par VBA, par exemple, Microsoft

Office. Si vous
avez utilis VBA dans lune de ces applications, lenvironnement Visio vous semblera
familier.
Ce chapitre est un bref aperu de certaines tches communes qui utilisent VBA dans
Visio. Pour obtenir des dtails complets sur lutilisation de lenvironnement de
dveloppement VBA et sur lcriture du code VBA, reportez-vous laide en ligne
livre avec VBA.
Utilisation de lEditeur Visual Basic...................................................................... 294
Cration dun projet VBA....................................................................................... 298
Utilisation de la bibliothque de types Visio ....................................................... 303
Utilisation des objets global et ThisDocument.................................................... 306
Excution du code VBA depuis Visio.................................................................... 310
Gestion des erreurs................................................................................................ 313
Gestion dun projet VBA........................................................................................ 315
294 CHAP I TRE 15
Ut ilisat ion de lEdit eur Visual Basic
Pour crer un programme Microsoft Visual Basic pour Applications (VBA), vous
devez crer un projet VBA laide de lEditeur Visual Basic. Chaque document ou
fichier Visio contient un projet auquel vous pouvez ajouter des modules et des
formulaires, en fonction des besoins de votre solution. Au minimum, chaque projet
contient un module de classe ThisDocument. Ce module de classe reprsente les
proprits, mthodes et vnements dun document associ votre projet Visio VBA.
Editeur Visual Basic :
lenvironnement VBA
A Lexplorateur de projet affiche la listes de projets et des lments de projet contenus dans les
documents Visio.
B La fentre Proprits affiche la liste des proprits de llment slectionn.
C Fentre de code
D Lespace de travail de programmation affiche tous les modules ouverts, les modules de classe et
les formulaires utilisateur au cours de la cration. Le programme est cr dans cette zone.
E La barre de menus affiche les commandes utiliser pour crer, excuter et dboguer votre
programme.
F La barre doutils permet daccder rapidement aux commandes frquemment utilises dans
lenvironnement de dveloppement.
Dans la fentre de code, vous pouvez crire, afficher et modifier le code des nouvelles
procdures ou des procdures dvnement existantes. Vous pouvez ouvrir le nombre
ncessaire de fentres de code sur diffrents modules, modules de classe ou
formulaires utilisateur de manire pouvoir facilement visualiser le code, le copier et
le coller dune fentre lautre.
A
B
C
D
E F
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 295
Dmarrage de lEdit eur Visual Basic
Vous pouvez dmarrer lEditeur Visual Basic sans ouvrir de document Visio, mais
vous pouvez commencer par ouvrir un document pour voir le projet VBA de ce
document. Loccurrence Visio ajoute seulement des projets aux documents ouverts en
tant quOriginal ou Copie ; en revanche, si le document comporte dj un projet,
vous pouvez visualiser ce projet en lecture seule.
Pour dmarrer lEdit eur Visual Basic
1 Dmarrez lapplication Visio et ouvrez un modle, un gabarit ou un dessin en
slectionnant Original ou Copie, pas Lecture seule.
2 Choisissez Outils > Macros > Editeur Visual Basic ou cliquez sur le bouton Editeur
Visual Basic ( de la barre doutils Dveloppeur.
Dans VBA, vous pouvez personnaliser votre environnement de travail en paramtrant
les options comme la taille de la police, la couleur du code, les options derreurs de
syntaxe ainsi que les exigences en matire de dclaration de variables.
Pour paramt rer les opt ions denvironnement dans lEdit eur Visual Basic :
Choisissez Outils > Options, cliquez sur longlet Format de lditeur et paramtrez
les options souhaites.
Par dfaut, les projets auront le mme nom que le document avec lequel ils sont
associs. En revanche, chaque projet dispose dune fentre Proprits dans laquelle
vous pouvez renommer votre projet et fournir des informations supplmentaires
(dcrire le projet, par exemple). Vous pouvez galement verrouiller votre projet.
Pour ouvrir la f ent re Proprit s :
Choisissez Outils > Nom du projet > Proprits et paramtrez les proprits du
projet. Vous pouvez galement cliquer avec le bouton droit sur le nom du projet
dans lexplorateur de projet.
296 CHAP I TRE 15
Navigat ion parmi les projet s
Pour parcourir les projets dans lEditeur Visual Basic, utilisez lexplorateur de projet.
Celle-ci rpertorie les modules, les modules de classe et les formulaires utilisateur des
projets de tous les fichiers Visio ouverts. Vous pouvez double-cliquer sur un module,
un module de classe ou un formulaire utilisateur dans lexplorateur de projet pour
ouvrir sa fentre de code.
Explorateur de projet affichant cinq
fichiers Visio ouverts dans une
occurrence Visio
A Gabarit des diagrammes de base et lments de son projet ; ouvert avec accs lecture/criture.
B Dessin Visio ouvert et lments de son projet ; ce dessin na pas t enregistr.
C Dessin Visio ouvert, enregistr sous Agencement despaces, et lments de son projet.
Si vous ne voyez pas lexplorateur de projet lorsque vous ouvrez lEditeur Visual
Basic, choisissez Affichage > Explorateur de projet.
Enregist rement dun projet
Un projet VBA est stock dans le document Visio le contenant. Un document Visio
peut tre enregistr sous lun des types de fichier suivants :
Modle (.vst)
Gabarit (.vss)
Dessin (.vsd)
A
B
C
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 297
Lorsquun utilisateur cre un document Visio partir dun modle, loccurrence
Visio copie le projet VBA et ses lments dans le nouveau document.
Exemple de dessin Visio aprs ajout
dlments dans le projet par
dfaut et enregistrement du dessin.
A Premire procdure Sub dans le module (macro)
B Premire procdure Function dans le module (fonction dfinie par lutilisateur)
Pour enregist rer le document Visio et son projet VBA :
Dans linterface utilisateur Visio, choisissez Fichier > Enregistrer. Dans lEditeur
Visual Basic, choisissez Fichier > Enregistrer Nom de fichier.
Dans lexplorateur de projet de VBA, le nom de fichier et lemplacement du
document sont affichs entre parenthses aprs le nom du projet.
298 CHAP I TRE 15
Crat ion dun projet VBA
Un projet Microsoft Visual Basic pour Applications (VBA) est constitu de modules,
de modules de classe et de formulaires utilisateur.
Un module est une srie de dclarations suivies de procdures, soit une liste
dinstructions quun programme excute.
Un module de classe dfinit un objet, ses proprits et ses mthodes. Il agit comme
un modle partir duquel loccurrence dun objet est cre au moment de
lexcution. Chaque projet VBA de type Visio contient un module de classe appel
ThisDocument ; ce module de classe reprsente les proprits, les mthodes et les
vnements du document Visio contenant le projet VBA.
Un formulaire utilisateur contient les commandes de linterface utilisateur, comme
les boutons de commande et les zones de texte.
Des projets complexes peuvent contenir plusieurs modules, modules de classe et
formulaires utilisateur, un projet simple peut nexiger quun seul formulaire
utilisateur ou module. Par exemple, une solution gnrant un dessin peut inclure un
formulaire utilisateur pour rassembler les informations de lutilisateur. Elle peut aussi
inclure du code, organis en un ou en plusieurs modules et/ou modules de classe, qui
effectue les oprations suivantes :
Il valide la saisie de lutilisateur.
Il traduit le code en donnes qui serviront gnrer un dessin.
Il utilise Automation pour crer le dessin dans la fentre de dessin Visio.
Si la solution doit tre excute en rponse un vnement, comme louverture dun
document, elle peut inclure du code devant tre excut lorsque cet vnement se
produit.
Vous pouvez ajouter dans votre projet des modules, des modules de classe ou des
formulaires utilisateur en important des fichiers ; vous pouvez aussi exporter des
lments du projet pour les utiliser dans dautres projets. Vous pouvez aussi insrer
un contrle ActiveX

dans votre document Visio. Pour plus dinformations sur les


contrles ActiveX, reportez-vous au Chapitre 23, Utilisation de contrles ActiveX
dans une solution Visio .
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 299
Insert ion de modules et de modules de classe dans un projet
De nombreux programmes VBA comportent un ou plusieurs modules, une srie de
dclarations suivies de procdures. Chaque projet VBA Visio contient le module de
classe ThisDocument, qui est un objet reprsentant le document du projet. Vous
pouvez crer des modules de classe supplmentaires pour dfinir les objets VBA
personnaliss dans votre projet.
Pour insrer un module ou un module de classe :
Choisissez Insertion > Module.
La fentre de code affiche un module vide o vous allez pouvoir insrer des
procdures qui crent des modles dans lesquels vous allez saisir du code VBA.
Bote de dialogue Ajouter une
procdure
Pour ajout er des procdures aux modules et aux modules de classe :
1 Choisissez Insertion > Procdure pour ouvrir la bote de dialogue Ajouter une
procdure.
2 Dans la zone Nom, nommez la procdure.
Dans le sous-menu des macros de Visio, le nom dune procdure apparat dans le
sous-menu de son module. Le nom dune procdure ne peut pas contenir
despaces ou de mots rservs, comme MsgBox, If ou Loop, que VBA utilise dans
le cadre de son langage de programmation.
3 Dans la zone Type, slectionnez le type de procdure : Sub, Function ou Property.
Les modules et les modules de classe peuvent contenir) plusieurs types de
procdure.
Pour crire une procdure qui nenglobe aucun argument, insrez une
procdure Sub.
Pour crire une fonction qui englobe des arguments et renvoie une valeur,
insrez une procdure Fonction.
Pour ajouter des proprits dans un module de classe, insrez une procdure
Property.
300 CHAP I TRE 15
4 Dans la zone Porte, slectionnez Public ou Private.
Le domaine correspond laccessibilit dune procdure par dautres modules et
programmes.
Une procdure dont le domaine est priv est accessible seulement par le module
qui la contient ; seule une procdure contenue dans le mme module peut
appeler une procdure prive, et une procdure prive napparat dans aucun
des menus ou aucune des botes de dialogue.
Une procdure dont le domaine est public est accessible par dautres
programmes et modules. Lapplication Visio affiche les procdures publiques
des modules et le module de classe ThisDocument qui nenglobe aucun
argument dans le sous-menu Macros.
5 Pour dclarer toutes les variables locales comme tant statiques, cochez la case
Toutes les variables locales statistiques.
Vous pouvez dclarer les variables de votre procdure comme tant locales ou
statiques (globales).
Les variables statiques existent pendant toute la dure de vie du programme.
Les variables locales existent seulement lorsque la procdure dans laquelle elles
sont dclares est excute. A lexcution suivante de la procdure, toutes les
variables locales sont rinitialises. En revanche, vous pouvez conserver pendant
toute la dure de vie de votre programme la valeur de toutes les variables locales
dune procdure en les dfinissant comme tant statiques, ce qui fixe leur valeur.
6 Cliquez sur OK.
VBA insre un modle de procdure dans la fentre de saisie du code de llment.
Le modle contient la premire et la dernire lignes du code correspondant au type
de procdure insre.
Pour obtenir des informations sur les procdures, reportez-vous laide en ligne
Microsoft Visual Basic.
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 301
Insert ion de f ormulaires ut ilisat eur dans un projet
Pour que votre programme indique lutilisateur de saisir des informations, vous
pouvez crer une interface utilisateur en insrant des formulaires utilisateur. Un
formulaire utilisateur contient des commandes dinterface utilisateur, comme des
boutons de commande et des zones de texte. Lorsque vous ajoutez un formulaire
utilisateur au projet, VBA ouvre automatiquement la bote outils Contrles. Un
contrle est un objet que vous placez dans un formulaire utilisateur qui a ses propres
proprits et mthodes ; un contrle dclenche aussi des vnements auxquels vous
pouvez rpondre. Utilisez les contrles pour recevoir la saisie utilisateur, afficher la
sortie et dclencher les procdures dvnement.
Bote outils et formulaire
utilisateur contenant des contrles
A Onglet Contrles de la bote outils
B Formulaire utilisateur
C Contrle de zone de texte
D Contrle de bouton de commande
Pour ajout er un f ormulaire ut ilisat eur au projet :
1 Choisissez Insertion > UserForm.
2 Slectionnez les contrles ajouter au formulaire utilisateur partir de la bote
outils Contrles et placez-les sur le formulaire utilisateur.
Pour obtenir des informations sur lajout de contrles, comme les boutons de
commande et les zones de texte, reportez-vous laide en ligne Visual Basic.
3 Double-cliquez sur un formulaire utilisateur ou sur un contrle pour afficher sa
fentre de code.
4 Choisissez lvnement auquel vous souhaitez rpondre dans la liste droulante
des vnements et des procdures situe dans la fentre de code ; vous pouvez alors
commencer saisir votre code. Vous pouvez galement insrer une procdure et
commencer saisir le code dans le modle de procdure.
A
B
C
D
302 CHAP I TRE 15
CONSEIL : pour plus de clart, ce guide utilise les noms VBA par dfaut des formulaires et
des contrles ; sachez pourtant que le changement des noms par dfaut en noms plus
vocateurs savre tre une excellente technique de programmation. De nombreux
programmeurs utilisent les conventions de dnomination suivantes :
Nom par dfaut du formulaire utilisateur = UserForm1
Nom rvis = frmGetDocName
Remarquez lutilisation de frm dans le nom modifi du formulaire utilisateur. Dans le
nom du contrle, de nombreux programmeurs utilisent frm, txt (zone de texte), lbl
(libell), cmd (bouton de commande) et ainsi de suite, de manire rapidement
reconnatre le type dobjet.
Import at ion de f ichier et export at ion dun projet
Pour importer un lment dans un projet, choisissez Fichier > Importer un fichier.
Pour ajouter une copie de fichier dans un projet, vous pouvez choisir un module VBA
(fichiers portant lextension .bas), un formulaire utilisateur (fichiers portant
lextension .frm) ou un module de classe (fichiers portant lextension .cls). Pour
exporter un lment dun projet afin quil puisse tre import dans dautres projets,
slectionnez-le dans lexplorateur de projet et choisissez Fichier > Exporter un fichier,
puis saisissez lemplacement dans lequel vous souhaitez enregistrer le fichier.
Lexportation dun lment ne le supprime pas de votre projet.
Vous pouvez aussi dplacer des projets ou des lments de projet dun fichier Visio
lautre en slectionnant, dans lexplorateur de projet, le projet ou llment de projet
dplacer et en plaant son icne sur une icne de projet Visio. Llment de projet est
automatiquement stock dans le dossier des projets appropri. Le projet est rfrenc
dans le dossier Rfrences ; un fichier Visio peut seulement contenir un projet, lequel
peut, par contre, faire rfrence dautres projets.
REMARQUE : vous ne pouvez pas dplacer le module de classe ThisDocument dun fichier
Visio lautre, mais vous pouvez dplacer, copier et coller du code partir de
ThisDocument dans dautres lments de projet.
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 303
Ut ilisat ion de la bibliot hque de t ypes Visio
La bibliothque de types Visio contient des descriptions Automation dobjets, de
proprits, de mthodes et dvnements que le moteur Visio met disposition. Les
projets Microsoft Visual Basic pour Applications (VBA) appartenant aux documents
Visio font automatiquement rfrence la bibliothque de types Visio, que vous
utilisez pour dfinir des types dobjet Visio dans votre programme. Lutilisation des
types dobjet Visio dclars dans la bibliothque de types Visio augmente la vitesse du
programme car VBA interprte les objets Visio au moment de la compilation plutt
quau moment de lexcution. Lorsque vous compilez un programme au cours de la
cration, VBA recherche les erreurs de syntaxe et de programmation et compare les
types dobjet aux bibliothques de types. Si vous utilisez un type de variable gnral,
comme Object, VBA ne linterprte pas avant lexcution ; ce moment, VBA effectue
une requte dans le moteur Visio et recherche des rfrences dobjet. Cette tape de
recherche supplmentaire diminue la vitesse de votre programme.
La bibliothque de types contient galement les constantes symboliques globales
dfinies pour les arguments et les valeurs de retour des proprits et des mthodes.
Comme la plupart des arguments des proprits et des mthodes sont des valeurs
numriques, lutilisation de ces constantes peut faciliter lcriture et la lecture du
code. Par exemple, supposons que vous souhaitiez connatre le type de fentre quun
objet Window reprsente. La proprit Type dun objet Window renvoie un entier
qui indique le type de fentre. Si vous paramtrez une rfrence la bibliothque de
types Visio ou incluiez Visconst.bas dans votre projet, vous pouvez, pour vrifier le
type de fentre, utiliser une constante la place dun entier, dans cet exemple,
visDrawing au lieu de 1.
Pour obtenir la liste des constantes utilises par une mthode ou une proprit
donne, reportez-vous cette mthode ou cette proprit dans laide en ligne
Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur)
fournie avec Visio.
A laide de lexplorateur dobjets VBA, vous pouvez visualiser le contenu de la
bibliothque de types Visio.
REMARQUE : les exemples de ce guide correspondent un paramtrage de rfrence sur la
bibliothque de types Visio. Pour vrifier que ce paramtrage est actif, choisissez Outils >
Rfrences et cochez loption de bibliothque de types Visio 2000.
Ut ilisat ion de lexplorat eur dobjet s
Vous pouvez utiliser lexplorateur dobjets pour afficher la bibliothque de types
Visio. Lexplorateur dobjets affiche des constantes, des classes (objets) et des
membres de classe (proprits, mthodes et vnements) des bibliothques de types
auxquelles des projets ouverts font rfrence.
304 CHAP I TRE 15
Lexplorateur dobjets affiche, dans la liste Membres de, les proprits, les mthodes,
les vnements et les constantes Visio sous la forme de membres. Le volet des dtails
affiche la syntaxe de chaque membre sous la forme dun modle de code que vous
pouvez copier, coller ou dplacer dans un module ; vous pouvez alors substituer vos
propres variables et arguments. Lutilisation des modles de code diminue les risques
derreur.
Explorateur dobjets
A Zone des projets/bibliothques
B Zone de recherche
C Liste Classes
D Liste Membres de
E Volet des dtails
Pour ut iliser lexplorat eur dobjet s :
1 Choisissez Affichage > Explorateur dobjets ou le bouton Explorateur dobjets
( ) situ dans la barre doutils Microsoft Visual Basic pour Applications (VBA).
2 Pour explorer ou rechercher un objet, une proprit, une mthode, un vnement
ou une constante Visio, saisissez son nom dans la zone de texte Rechercher ou
cliquez sur un membre de la liste Membres de.
Paramt rage des rf rences aux bibliot hques de t ypes
Les applications prenant en charge Automation contiennent une bibliothque de types
pour dcrire les objets quelles mettent la disposition dAutomation. Si vous
souhaitez accder aux objets de la solution Visio partir dune autre application,
choisissez Outils > Rfrences et slectionnez la bibliothque de types que vous
recherchez dans la liste Rfrences disponibles. Vous pouvez aussi utiliser cette
procdure pour paramtrer une rfrence Visio partir de toute autre application
prenant en charge Automation. Vous pouvez, par exemple, partir de Microsoft


Word, paramtrer une rfrence Visio afin dutiliser des objets Visio dans Word.
A
B
C
E
D
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 305
Toutes les bibliothques de types coches dans la liste Rfrences disponibles
apparatront dans la zone de projet/bibliothque de votre projet. Vous pouvez aussi
paramtrer une rfrence tout document Visio ouvert ou accder tout document
ferm dans la bote de dialogue des rfrences.
Liste Rfrences disponibles
tendue
REMARQUE : pour nafficher que la classe et les membres de la bibliothque de types Visio,
choisissez Visio dans la zone de projet/bibliothque.
Ut ilisat ion des t ypes dobjet Visio
La bibliothque de types Visio prsente des fonctionnalits qui vous permettent de
travailler plus efficacement lors de lcriture du code. A laide de types dobjet Visio
dclars dans la bibliothque de types, vous pouvez dclarer des variables sous la
forme de types spcifiques, comme Visio.Page :
Lutilisation dun type dobjet Visio, comme Visio.Page, permet votre programme,
au moment de la compilation, de vrifier le type dobjet auquel il fait rfrence dans la
bibliothque de types Visio. Cette fonctionnalit sappelle liaison prliminaire. Cet
exemple utilise Visio pour informer le programme quil fait rfrence aux types
dobjet Visio dans la bibliothque de types Visio et quil utilise Page pour linformer
que la variable pagObj est un objet Page. Pour plus dinformations sur les objets Visio,
reportez-vous au Chapitre 14, Automation et le modle dobjet de Visio .
01m pag0b as v1s1o.Page
306 CHAP I TRE 15
Voici quelques types dobjet frquents :
Lorsque vous saisissez un point aprs un objet ou un type de bibliothque, une liste
apparat automatiquement : elle contient les types dobjet, les proprits et les
mthodes disponibles de lobjet prcdent ou du type de variable. Pour insrer dans le
code un type dobjet de la liste, double-cliquez sur ce type.
CONSEIL : si la fentre de liste automatique napparat pas lorsque vous travaillez dans la
fentre de code, choisissez Outils > Options > Editeur et cochez Complment automatique
des instructions.
Dans cet exemple, le type dobjet appropri est Page.
Fentre de liste automatique de la
bibliothque de types Visio
Ut ilisat ion des objet s global et ThisDocument
A la diffrence dun programme autonome qui doit obtenir une rfrence lobjet
Application Visio en la crant ou en la rcuprant, le code dun projet Microsoft Visual
Basic pour Applications (VBA) sexcute dans une occurrence Visio en cours
dexcution pour que vous nayez pas obtenir de rfrence lobjet Application. Le
moteur Visio fournit lobjet global qui reprsente loccurrence Visio. Le moteur Visio
fournit aussi lobjet ThisDocument qui reprsente le document Visio associ au projet.
01m docs0b As v1s1o.0ocumehfs uhe co11ecf1oh de documehfs
01m doc0b As v1s1o.0ocumehf uh obef documehf
01m shps0b As v1s1o.Shapes uhe co11ecf1oh de fomes |Shapes)
01m shp0b As v1s1o Shape uh obef fome |Shape)
01m masf0b As v1s1o.Masfe uh obef fome de base |Masfe)
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 307
Ut ilisat ion de lobjet global Visio
Lobjet global reprsente loccurrence et permet un accs plus direct certaines
proprits. Les proprits de lobjet global Visio ne sont pas prfixes avec une
rfrence un objet.
Objet global Visio et ses proprits
Lobjet Application est une proprit de lobjet global Visio, qui vous permet
daccder aux proprits de lobjet Application en faisant directement rfrence la
proprit Application de lobjet global Visio.
Voici trois exemples de code qui rcuprent le premier document dun ensemble
Documents, tous les trois utilisant une syntaxe diffrente.
Lexemple 1 cre un objet Application. Ce code est gnralement utilis lors de
lcriture dun programme externe :
Lexemple 2 utilise la proprit Application de lobjet global Visio :
01m appv1s1o As v1s1o.App11caf1oh
01m docs0b As v1s1o.0ocumehfs
01m doc0b As v1s1o.0ocumehf
Sef appv1s1o = Ceafe0becf|"v1s1o.app11caf1oh")
Sef docs0b = appv1s1o.0ocumehfs
Sef doc0b = docs0b.Tfem|1)
01m docs0b As v1s1o.0ocumehfs
01m doc0b As v1s1o.0ocumehf
Sef docs0b = App11caf1oh.0ocumehfs
Sef doc0b = docs0b.Tfem|1)
Application
ActiveDocument
Global
Document
Documents
Window
Windows
ActivePage
ActiveWindow
Addon
Addons
VBE
Documents
Windows
Addons
308 CHAP I TRE 15
Lexemple 3 permet daccder directement la proprit Documents de lobjet global
Visio :
Notez dans les exemples 2 et 3 que Application et Documents ne sont pas prcds
dun objet. Lorsque vous faites rfrence une proprit ou une mthode
quelconque de lobjet global Visio, il nest pas ncessaire de dclarer une variable pour
lobjet global ni de le rfrencer comme tant lobjet qui prcde une proprit
lobjet global est implicite. Le troisime exemple est la mthode daccs la plus directe
la collection Documents dun projet VBA.
Voici des exemples de code pour les proprits les plus frquentes de lobjet global
Visio :
Pour plus dinformations sur les proprits et les mthodes de lobjet global Visio,
reportez-vous laide en ligne Rfrence du dveloppeur (choisissez ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio.
REMARQUE : Lobjet global Visio est disponible seulement lorsque vous crivez du code
dans le projet VBA dun document Visio.
Ut ilisat ion de lobjet ThisDocument
Dans lapplication Visio, chaque projet VBA contient un module de classe par dfaut
appel ThisDocument qui reprsente les proprits, les mthodes et les vnements
du document associ au projet. Comme tout module de classe, dautres programmes
peuvent accder ThisDocument au moment de lexcution.
Objet Document et objets
suprieurs associs dans le module
dobjet Visio
Si vous souhaitez manipuler un document, mais pas ncessairement le document
associ au projet VBA, rcuprez lobjet Document de la collection Documents. Pour
manipuler le document associ au projet VBA, utilisez lobjet ThisDocument.
01m doc0b As v1s1o.0ocumehf
Sef doc0b = 0ocumehfs.Tfem|1)
Sef doc0b = Acf1ve0ocumehf
Sef pag0b = Acf1vePage
Sef W1h0b = Acf1veW1hdoW
Global
Document
Documents
ActiveDocument
ThisDocument
Documents
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 309
Par exemple, pour rfrencer la premire page du dessin Bonjour.vsd, vous pouvez
rcuprer lobjet Document de lensemble Documents de lobjet global. Lexemple
suivant rcupre la premire page de Bonjour.vsd de la collection Pages du document.
Si Bonjour.vsd est le document associ votre projet VBA, il vous suffit dutiliser
lobjet ThisDocument comme dans lexemple suivant :
Une fois que vous faites rfrence un objet Document, extrayez dautres objets Visio
en rcuprant les proprits de lobjet Document, puis des autres objets de la
hirarchie.
Vous pouvez ajouter des proprits et des mthodes lobjet ThisDocument, car il
sagit dun objet extensible, cest--dire dun objet dont les fonctionnalits peuvent tre
tendues. Lobjet ThisDocument est le seul objet extensible fourni par le moteur
Visio. Vous pouvez aussi slectionner ThisDocument dans lexplorateur de projet et
changer ses proprits, comme les paramtres de la page et les styles par dfaut ; dans
la fentre Proprits, vous pouvez aussi changer les proprits du document, comme
le titre, le crateur et le sujet.
Pour plus dinformations sur les proprits, les mthodes et les vnements de
ThisDocument, slectionnez lobjet ThisDocument dans lexplorateur de projet qui
vous intresse, ouvrez lexplorateur dobjets, affichez le projet Visio contenant
ThisDocument dans la liste des projets et parcourez les membres de ThisDocument.
Sef doc0b = 0ocumehfs.Tfem|"bohou.vsd")
Sef pag0b = doc0b.Pages.Tfem|1)
Sef pag0b = Th1s0ocumehf.Pages.Tfem|1)
310 CHAP I TRE 15
Excut ion du code VBA depuis Visio
Vous pouvez excuter le code Microsoft Visual Basic pour Applications (VBA) dans
lEditeur Visual Basic pour le tester et le dboguer au cours du dveloppement. Cette
partie traite des diffrentes manires dexcuter du code dans lEditeur Visual Basic.
Pour plus dinformations sur le dbogage dun programme VBA, comme lajout de
points darrt, des espions et lexcution pas pas, reportez-vous laide en ligne
Microsoft Visual Basic.
Lutilisateur peut excuter vos macros termines dans linterface utilisateur Visio en
effectuant son choix dans le sous-menu Macros du menu Outils. Une macro est une
procdure VBA qui nutilise aucun argument. Les procdures qui emploient des argu-
ments napparaissent pas dans le sous-menu Macros.
Bote de dialogue Macros
Lexcution dun programme peut tre dclenche de diffrentes manires, par
exemple en rponse des vnements. Pour plus dinformations sur lexcution dun
programme en rponse des vnements, reportez-vous au Chapitre 21, Gestion
des vnements dans Visio . Pour connatre les autres manires dexcuter un
programme, reportez-vous au Chapitre 25, Distribution dune solution Visio
Automation .
A Nom de la macro slectionne
B Liste des macros disponibles et
des programmes
complmentaires
C Liste des projets, des modules
et des dessins accessibles
A
B
C
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 311
Pour excut er une macro depuis lEdit eur Visual Basic :
1 Choisissez Outils > Macros.
2 Dans la liste Macros, slectionnez la macro souhaite et cliquez sur Excuter.
Si la macro souhaite nest pas rpertorie, assurez-vous que vous avez choisi le
projet, le module ou le dessin correct dans la zone Macros dans. Les procdures
prives napparaissent pas dans tous les menus ou dans toutes les botes de
dialogue.
Ou
1 Dans lexplorateur de projet, ouvrez le module qui contient la macro.
2 Dans la fentre de code, cliquez lintrieur de la macro pour placer le point
dinsertion.
3 Choisissez Excuter > Excuter Sub/UserForm.
La macro o figure le point dinsertion est excute.
Pour excut er une macro part ir de la bot e de dialogue Macros de Visio :
1 Dans lapplication Visio, choisissez Outils > Macros > Macros.
2 Dans la liste Macros, slectionnez votre programme et cliquez sur Excuter.
REMARQUE : du point de vue de lutilisateur, peu importe si le programme que
lutilisateur excute est un programme complmentaire ou une macro car lapplication
Visio combine donc ces programmes dans des botes de dialogue. Par exemple, vous
pouvez excuter un programme complmentaire ou une macro partir de la bote de
dialogue Macros ou partir du sous-menu Macros.
Pour dcrire la macro qui apparat dans la bot e de dialogue Macros :
1 Dans lEditeur Visual Basic, ouvrez lexplorateur dobjets.
2 Dans la zone de projet/bibliothque, choisissez le projet qui contient la macro.
3 Dans la liste Classe, slectionnez le module qui contient la macro et cliquez avec le
bouton droit sur la macro dans la liste Membres de, puis choisissez Proprits.
4 Saisissez une description dans la zone Description.
Pour excut er la macro depuis le sous-menu Macros Visio :
1 Choisissez Outils > Macros.
2 Dans le sous-menu Macros, choisissez le projet contenant vos macros, puis
choisissez-en une.
312 CHAP I TRE 15
Lillustration suivante montre comment un module apparat dans le sous-menu
Macros Visio avec ses macros affiches dans le sous-menu du module.
Sous-menu Macros Visio
Si vous souhaitez que vos macros apparaissent dans le sous-menu Macros, mais que le
module contenant vos macros soit masqu, nommez votre module ShowInMenu. Le
module ShowInMenu napparat pas dans le sous-menu Macros Visio mais, comme le
montre lillustration suivante, ses macros y figurent :
Sous-menu Macros utilisant
le module ShowInMenu
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 313
Gest ion des erreurs
Lorsquune erreur se produit au cours de lexcution du programme, Microsoft
Visual Basic pour Applications (VBA) gnre un message derreur et interrompt
lexcution. En testant les hypothses avant dexcuter rellement le code qui risque
dchouer, vous pouvez viter de nombreuses erreurs. Vous pouvez dceler les erreurs
et les rsoudre en utilisant la formulation On Error de votre programme. Pour plus
dinformations sur On Error, reportez-vous votre documentation VBA.
Les erreurs peuvent provenir dune grande varit de situations. Cette partie
rpertorie les situations communes conduisant des erreurs et suggre des moyens de
les viter.
Excut ion du programme dans le cont ext e correct
Si vous avez dcid du contexte dans lequel le programme sera excut, vous pouvez
effectuer des hypothses concernant lenvironnement. Par exemple, si vous crivez un
programme VBA pour grer le comportement du double-clic, vous pouvez
probablement supposer quun document est ouvert et que la forme ayant fait lobjet
dun double-clic est slectionne dans la fentre active. En revanche, il existe des
limites la capacit dun programme contrler les actions utilisateur. Par exemple,
rien ne peut empcher un utilisateur de tenter, au lieu de double-cliquer sur la forme,
dexcuter un programme VBA conu pour grer un vnement de double-clic
partir de la bote de dialogue Macros.
Si votre programme exige quune forme soit slectionne, cochez la proprit
Selection dans la fentre active pour vous assurer quelle contient au moins un objet.
01m se1ecf0b As v1s1o.Se1ecf1oh
Sef se1ecf0b = Acf1veW1hdoW.Se1ecf1oh
Tf se1ecf0b.Couhf = 0 Theh
Msgox "vous devez d`abod s1ecf1ohhe uhe fome." , , "S1ecf1ohhe
uhe fome"
E1se
Su1fe du fa1femehf
Ehd Tf
314 CHAP I TRE 15
Verif icat ion de lexist ence des objet s et des valeurs
renvoyes
Avant daccder des objets, il est prudent de contrler leur existence dans la
collection. Avant deffectuer une itration dans la collection Masters, ce qui
provoquerait une erreur si lensemble tait vide, lexemple suivant vrifie si le
document comporte des formes de base.
Si une proprit ou une mthode est cense renvoyer une valeur, il peut tre judicieux
de sassurer quelle la rellement fait. Par exemple, si votre programme formate un
texte de forme, vous pouvez vrifier que lobjet Forme contient du texte :
Vrif icat ion des valeurs derreur
VBA comporte une fonction Error qui renvoie une chane. Lorsquune erreur se
produit dans Visio, un code derreur et une chane descriptive sont renvoys. Pour
obtenir la chane associe au code derreur renvoy par lapplication Visio, utilisez la
fonction Error.
Lobjet Cell Visio comporte une proprit Error qui indique si une erreur sest
produite lors du calcul de la formule dune cellule. Si votre programme modifie les
formules ShapeSheet

, cochez cette proprit pour vous assurer que la formule


fonctionne comme prvu. Pour obtenir la liste des valeurs possibles, recherchez
Error, proprit dans laide en ligne Rfrence du dveloppeur (choisissez ?
(Aide) > Rfrence du dveloppeur) fournie avec Visio.
Tf Th1s0ocumehf.Masfes.Couhf = 0 Theh
Msgox "Ce documehf he compofe aucuhe fome de base."
A11e au gesf1ohha1e d`eeu
Ehd Tf
01m shp0b As v1s1o.Shape
01m sfTexf As Sf1hg
Sef shp0b = Acf1vePage.Shapes.Tfems|1)
sfTexf = shp0b.Texf
Tf sfTexf = "" Theh
Msgox "La fome s1ecf1ohhe h`a aucuh fexfe a fomafe." , , "Iomafe
1e fexfe d`uhe fome"
E1se
Su1fe du fa1femehf
Ehd Tf
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 315
Gest ion dun projet VBA
Pour travailler de manire efficace et pour rduire les tches de maintenance,
effectuez ces oprations de gestion de projet :
Supprimez les lments du projet qui ne sont plus ncessaires afin de rduire la
taille des fichiers et faciliter la gestion du projet.
Empchez laffichage et la modification de votre code, si ncessaire.
Concevez des modules, des modules de classe et des formulaires utilisateur afin de
pouvoir les rutiliser, pour conomiser du temps lors de lcriture du code. En
outre, Microsoft Visual Basic pour Applications (VBA) 6.0 vous permet dexcuter
des programmes complmentaires qui peuvent tre partags dans plusieurs
applications.
Pour plus dinformations sur la rutilisation des lments du projet, reportez-vous
la section Importation de fichier et exportation dun projet , page 302 de ce
chapitre.
Suppression dlment s dun projet
Lorsque vous supprimez un lment, vous le supprimez dfinitivement de la liste des
projets ; cela signifie que vous ne pouvez pas annuler cette action. Assurez-vous que le
code restant dans les autres modules et formulaires utilisateur ne fait pas rfrence au
code contenu dans llment supprim.
Pour supprimer un lment de projet :
1 Slectionnez llment dans lexplorateur de projet.
2 Choisissez Fichier > Supprimer <Nom>.
3 Indiquez si vous souhaitez exporter llment avant de le supprimer.
Cliquez sur Oui pour ouvrir la bote de dialogue Exporter un fichier.
Cliquez sur Non pour supprimer llment.
316 CHAP I TRE 15
Prot ect ion du code
Pour empcher laffichage ou la modification du code, vous pouvez verrouiller un
projet : vous paramtrez un mot de passe qui doit tre saisi pour que le projet puisse
tre affich dans lexplorateur de projet.
Pour empcher laf f ichage dun projet VBA :
1 Choisissez Outils > Proprits de Nom du dessin.
2 Cliquez sur longlet Protection et slectionnez Verrouiller le projet pour
laffichage.
3 Saisissez un mot de passe et confirmez-le.
4 Enregistrez votre fichier Visio et fermez-le.
A louverture suivante du fichier Visio, le projet est verrouill. Si un utilisateur
souhaite lafficher ou le modifier, il doit saisir le mot de passe.
Ut ilisat ion du gest ionnaire des programmes
complment aires
Dans lEditeur Visual Basic, vous pouvez utiliser le gestionnaire de programmes
complmentaires pour grer les programmes qui tendent lenvironnement de
dveloppement VBA. Ces complments COM procurent au dveloppeur le moyen
dutiliser un seul complment pour ajouter des fonctionnalits dans nimporte quelle
application incluant VBA 6.0, notamment lapplication Visio. Pour plus
dinformations sur les complments, reportez-vous laide en ligne VBA.
Pour af f icher le gest ionnaire des programmes complment aires depuis
lEdit eur Visual Basic :
Choisissez Complments > Gestionnaire de complments.
La bote de dialogue Gestionnaire de complments apparat et affiche la liste des
complments enregistrs avec Visio.
Sommaire
16
Ut ilisat ion des objet s Visio
Document , Page et Shape
Dans le modle dobjet Microsoft

Visio

, lobjet de base utiliser est lobjet Shape.


Pour parcourir les objets Shape, il convient, en gnral, dutiliser les objets Document
et Page qui les prcdent dans la hirarchie des objets.
Ce chapitre dcrit lutilisation des objets Document, Page et Shape, comment
rcuprer et paramtrer leurs proprits, et appeler leurs mthodes. Lors de
lutilisation des autres objets Visio du modle dobjet, vous pouvez appliquer la
plupart des techniques traites dans ce chapitre.
Pour plus dinformations sur les objets, les proprits, les mthodes et les vnements
du modle dobjet Visio, reportez-vous laide en ligne Rfrence du dveloppeur
(choisissez ? (Aide) > Rfrence du dveloppeur) fournie avec Visio. Pour obtenir la
liste rcapitulative des objets, proprits, mthodes et vnements Visio,
reportez-vous lAnnexe A, Proprits, mthodes et vnements classs par objet .
REMARQUE : dans Microsoft

Visio

2000, tout objet pouvant tre nomm (par exemple,


une page ou une forme) peut avoir deux noms : un nom local et un nom universel. Si vous
dveloppez des solutions qui seront localises, reportez-vous la section Utilisation de
noms universels dans une solution page 493.
Utilisation des objets Document........................................................................... 318
Utilisation des objets Page.................................................................................... 324
Utilisation des objets Shape.................................................................................. 326
Exemple de cration dun dessin simple............................................................. 337
318 CHAP I TRE 16
Ut ilisat ion des objet s Document
Un objet Document reprsente un fichier de dessin (.vsd), un fichier de gabarit (.vss)
ou un fichier de modle (.vst) ouvert dans une occurrence Visio. Lors de lutilisation
dun dessin existant dans un programme, vous devrez probablement utiliser
uniquement la page active du document actif, cest--dire le dessin affich dans la
fentre de dessin active. Toutefois, dans certains circonstances, le programme peut
ouvrir un document pour automatiquement rcuprer un document ouvert et inactif.
Rcuprat ion dun objet Document
Pour rcuprer des informations sur un document, vous devez rcuprer la rfrence
dun objet Document.
Objet Document et objets associs
de niveau suprieur dans le modle
dobjet Visio
En fonction de la conception de votre solution, il existe plusieurs manires de
rcuprer la rfrence dun objet Document. Pour tous les exemples suivants,
supposons que vous avez dfini une variable dobjet docObj :
Les objets Global et Application ont une proprit ActiveDocument qui fait
rfrence au document de la fentre active, quel que soit le type de cette fentre.
Cette instruction rcupre le document actif dans une occurrence Visio et
lattribue docObj :
En guise dalternative, si vous avez rcupr la fentre active, vous pouvez
rcuprer la proprit Document de cet objet Window : il renvoie au mme objet
Document quActiveDocument.
Pour plus dinformations sur lobjet global, reportez-vous la section Utilisation
de lobjet global Visio , page 307.
01m doc0b As v1s1o.0ocumehf
Sef doc0b = Acf1ve0ocumehf
Application
ActiveDocument
Document
Documents Global Documents
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 319
Si vous connaissez le nom de fichier dun document ouvert, vous pouvez lextraire
de la collection Documents, que le document soit actif ou inactif. Par exemple :
Linstruction prcdente extrait le document Bonjour.vsd de la collection
Documents. Si Bonjour.vsd nest pas ouvert, la tentative dextraction provoque
une erreur.
Vous pouvez utiliser la mthode Open dune collection Documents pour ouvrir
un document si vous connaissez son chemin et son nom de fichier :
Cette instruction ouvre le document Bonjour.vsd sous sa forme originale et
lajoute la collection Documents.
Avec la mthode Open, vous pouvez ouvrir tout document Visio (fichier de gabarit,
de modle ou de dessin), bien que cela ne soit pas conseill pour les gabarits et les
modles. Au lieu dune copie ou dune version en lecture seule, la mthode Open
ouvre loriginal du document. Un document original peut tre modifi ; ce type
douverture est donc dconseill pour les gabarits et les modles car rien nempche
lutilisateur de modifier les formes de base, de changer lespace de travail du modle
ou deffectuer dautres modifications pouvant savrer fcheuses.
Pour ouvrir un document Visio en lecture seule, utilisez la mthode OpenEx. Vous
pouvez aussi utiliser OpenEx pour ouvrir les lments suivant :
La copie dun document.
La copie dun document sans ajouter son nom au menu Fichier Visio.
Un gabarit ancr dans une fentre de dessin.
Un gabarit mis en icne.
Pour plus dinformations, reportez-vous OpenEx dans laide en ligne Rfrence du
dveloppeur fournie avec Visio.
Sef doc0b = 0ocumehfs.Tfem|"bohou.vsd")
Sef doc0b = 0ocumehfs.0peh|"c:\v1s1o\dess1hs\bohou.vsd")
320 CHAP I TRE 16
Rcuprat ion dinf ormat ions sur des document s
Vous pouvez rcuprer des informations sur un document en extrayant ses
proprits, comme Description, Mots-cls, Sujet et Titre. Ces proprits
correspondent aux zones de texte de la bote de dialogue Proprits (choisissez
Fichier > Proprits).
Un objet Document comporte trois proprits que vous pouvez utiliser pour
rcuprer le nom de fichier dun document :
Name, qui renvoie seulement le nom de fichier dun document, par exemple,
Bonjour.vsd. Tant que le document nest pas enregistr, Name renvoie son nom
provisoire, comme Dessin1.
FullName, qui renvoie le lecteur et le nom de fichier du document. Par exemple,
c:\Visio\Dessins\Bonjour.vsd. Comme pour la proprit Name, tant que le
document nest pas enregistr, FullName renvoie un nom provisoire.
Path, qui renvoie seulement le lecteur et le chemin du document. Par exemple,
c:\Visio\Dessins\. Tant que le document nest pas enregistr, Path renvoie une
chane de caractres Null ("").
Ces proprits sont en lecture seule. Pour changer le nom, lunit ou le chemin dun
document, utilisez la mthode SaveAs pour enregistrer le document sous un nom
diffrent, ou dans une unit ou un chemin diffrents.
Vous pouvez obtenir le statut dun document en rcuprant sa proprit ReadOnly
ou Saved :
ReadOnly renvoie TRUE si un document est ouvert en lecture seule.
Saved renvoie TRUE si toutes les modifications du document ont t enregistres.
Vous pouvez aussi obtenir des informations sur un objet Document en obtenant la
proprit DocumentSheet de lobjet Document. Cette proprit renvoie un objet
Shape dont la proprit Cells renvoie des objets Cell qui contiennent les formules du
document. Ces objets Cell correspondent aux cellules qui figurent dans la fentre
ShapeSheet

du document. Pour plus dinformations sur lutilisation des formules,


reportez-vous au chapitre 17, Automatisation des formules
Ut ilisat ion des st yles dun document
Pour dterminer les styles disponibles dun document, rcuprez la proprit Styles
dun objet Document. Cette proprit Styles renvoie une collection Styles, qui
reprsente la collection des styles dfinis pour un document. La proprit Name dun
objet Style renvoie le nom du style qui apparat dans les listes de styles et dans la bote
de dialogue Dfinir les styles (choisissez Format > Dfinir les styles).
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 321
Lexemple suivant effectue une itration dans la collection Styles du document et
dresse la liste des noms de styles dans une zone de liste sur un formulaire utilisateur :
CONSEIL : vous pouvez modifier les styles par dfaut dun objet Document dans lEditeur
Microsoft Visual Basic. Slectionnez lobjet ThisDocument dans lexplorateur de projet et
modifiez les styles indiqus dans la fentre Proprits. Les styles de la fentre Proprits
sont : DefaultFillStyle, DefaultLineStyle, DefaultStyle et DefaultTextStyle.
Crat ion dun st yle pour un document
Pour crer un style partir dun programme, utilisez la mthode Add dune collection
Styles et spcifiez le nom du nouveau style. Vous pouvez galement spcifier le nom
dun style, crer un nouveau style et indiquer si ce style inclut des attributs de texte, de
trait et de remplissage.
Par exemple, pour crer un nouveau style nomm Lgende daprs le style Normal qui
inclut seulement des attributs de texte :
Pour crer un nouveau style qui nest pas bas sur un autre style avec des attributs de
texte, de trait et de remplissage :
Sub L1sfSfy1es |)
01m sfy1s0b As v1s1o.Sfy1es
01m sfy10b As v1s1o.Sfy1e
01m sfy1ehame As Sf1hg
Sef sfy1s0b = Th1s0ocumehf.Sfy1es
useIom1.L1sfox1.C1ea
Io Each sfy10b Th sfy1s0b
sfy1ehame = sfy10b.hame
useIom1.L1sfox1.AddTfem sfy1ehame
hexf
useIom1.ShoW
Ehd Sub
Sef sfy10b = sfy1s0b.Add|"Lgehde", "homa1", 1, 0, 0)
Sef sfy10b = sfy1s0b.Add|"Pahheau de ue","", 1, 1, 1)
322 CHAP I TRE 16
Vous pouvez modifier le nom du style en paramtrant sa proprit Name, ou
indiquer sil comporte des attributs de texte, de trait ou de remplissage en
paramtrant sa proprit IncludesFill, IncludesLine ou IncludesText. Pour plus
dinformations sur la cration de styles dans lapplication Visio, recherchez styles
dans laide en ligne fournie avec Visio.
Un objet Style comporte une proprit Cells que vous pouvez utiliser pour
paramtrer des formules pour les cellules ShapeSheet qui dfinissent le style. Cette
proprit renvoie un objet Cell qui correspond une cellule dans un style.
Par exemple, pour modifier la taille de police dun style :
Pour plus dinformations sur lutilisation des formules, reportez-vous au chapitre 17,
Automatisation des formules
Impression et enregist rement de document s
Votre programme peut imprimer ou enregistrer le dessin quil cre. Pour les
utilisateurs qui connaissent les commandes de menu Visio, vous allez probablement
crer le dessin partir de votre programme, et laisser les oprations dimpression et
denregistrement lutilisateur. Vous pouvez galement grer ces tapes partir de
votre programme.
Impression de documents et de pages
Vous pouvez imprimer un document ou une page en utilisant la mthode Print.
Pour imprimer lintgralit des pages dun document, utilisez Print avec un objet
Document. Cela quivaut choisir Tout dans la bote de dialogue Imprimer
(choisissez Fichier > Imprimer). Pour imprimer une seule page, utilisez la mthode
Print avec un objet Page. Cela revient afficher cette page et choisir Page en cours
dans la bote de dialogue Imprimer.
Lors de limpression partir de Microsoft

Visual Basic

pour Applications (VBA) ou


Visual Basic, vous devez :
Appliquer la mthode une variable de type Objet. Vous ne pouvez pas utiliser un
type dobjet Visio spcifique.
Appliquer le rsultat de la mthode Print une variable fictive.
Sef fohfs1zeCe110b = sfy10b.Ce11s|"Ca.Ta111e")
fohfs1zeCe110b.Iomu1a = "1 pf"
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 323
Par exemple, pour imprimer un document :
Enregistrement de documents
Pour enregistrer un document partir dun programme, utilisez la mthode Save ou
SaveAs dun objet Document.
Utilisez la mthode SaveAs et indiquez un nom de fichier et un chemin pour
enregistrer et nommer un nouveau document, pour enregistrer une copie dun
document existant sous un nom diffrent, ou pour enregistrer un document existant
dans une unit ou un chemin diffrents. Par exemple :
Utilisez la mthode Save seulement si le document a dj t enregistr et nomm. Par
exemple :
A la diffrence de la commande de menu Enregistrer de linterface utilisateur Visio,
qui affiche la bote de dialogue Enregistrer le fichier sous si un document est sans
nom, lutilisation de la mthode Save sur un document sans nom nappelle pas la
mthode SaveAs, mais entrane une erreur.
Pour savoir si un document a dj t enregistr, vrifiez sa proprit Path qui renvoie
le lecteur et le chemin complet du document ou, sil na pas t enregistr, une chane
Null. Pour savoir si un document a t enregistr depuis les dernires modifications,
vrifiez sa proprit Saved.
01m doc0b As v1s1o.0ocumehf
01m doc0bTemp As 0becf
01m dummy As Sf1hg
Sef doc0b = Th1s0ocumehf
Sef doc0bfemp = doc0b
dummy = doc0bTemp.P1hf
Th1s0ocumehf.SaveAs "c:\v1s1o\dess1hs\mohf1ch1e.vsd"
Th1s0ocumehf.Save
324 CHAP I TRE 16
Ut ilisat ion des objet s Page
Un objet Page reprsente une page de dessin pouvant tre soit une page
darrire-plan, soit une page de premier plan. Une fois que vous avez la rfrence un
document, vous devez rcuprer un objet Page de la page de dessin utiliser.
Si vous vous attendez ce que lutilisateur cre ou affiche un dessin, puis excute
votre programme, mieux vaut partir du principe que la page active contient le dessin
souhait. Vous pouvez soit rcuprer la page active dans loccurrence Visio, soit
rcuprer le document actif et extraire une page de sa collection Pages.
Rcuprat ion dun objet Page
Pour utiliser une page de dessin, vous devez rcuprer une rfrence un objet Page.
Objet Page et objets associs
suprieurs dans le modle dobjet
Visio
Pour rcuprer une page dun document, rcuprez la collection Pages de lobjet
Document ou ThisDocument, puis rcuprez un objet Page de la collection. Vous
pouvez rcuprer une page par son indice dans la collection, ou si vous connaissez le
nom de la page, par son nom. Par exemple, pour extraire une page nomme
Ingnierie :
Pour rcuprer la page active dune application, vous pouvez rcuprer la proprit
ActivePage de lobjet global ou Application. Par exemple, en utilisant lobjet global :
Pour plus dinformations sur lobjet global, reportez-vous la section Utilisation de
lobjet global Visio page 307
Sef pag0b = Th1s0ocumehf.Pages.Tfem|"Thgh1e1e")
Sef pag0b = Acf1vePage
Application
ActivePage
Document
Global
Page
Document Page
Documents Pages Documents Pages
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 325
Rcuprat ion des inf ormat ions sur les pages
Vous pouvez rcuprer des informations sur une page en lisant des proprits, comme
Name et Background, qui sont affiches dans les zones de texte de longlet Proprits
de la page de la bote de dialogue Mise en page (choisissez Fichier > Mise en page). La
proprit Document dune page renvoie lobjet Document qui contient la page.
Un objet Page comporte aussi des proprits que vous pouvez utiliser pour identifier le
contenu dune page de dessin :
Shapes renvoie la collection de tous les objets Shape dune page.
Connects renvoie la collection de tous les objets Connect dune page.
OLEObjects renvoie la collection de tous les objets lis OLE 2.0 et les objets
incorpors, ainsi que les contrles ActiveX dune page.
Vous pouvez aussi rcuprer des informations sur les dimensions et sur lapparence
dune page de dessin en rcuprant la proprit PageSheet dun objet Page. Cette
proprit renvoie un objet Shape dont la proprit Cells renvoie des objets Cell qui
contiennent les formules de la page. Ces objets Cell correspondent aux cellules qui
figurent dans la fentre ShapeSheet

de la page.
Par exemple, les instructions suivantes renvoient la largeur de la page :
Pour plus dinformations sur lutilisation des formules, reportez-vous au chapitre 17,
Automatisation des formules .
Ajout de pages dans un dessin
Un document Visio peut contenir plusieurs pages. Chaque page dun document peut
contenir un dessin unique, et certaines pages peuvent servir darrire-plans pour
dautres pages.
Vous pouvez, partir dun programme, crer des documents plusieurs pages en
ajoutant des pages et en leur attribuant des arrire-plans. Vous pouvez aussi modifier
les paramtres de la page, comme lchelle du dessin, la largeur et la hauteur de la page.
Au dpart, un nouveau document contient une page. Pour crer une autre page,
utilisez la mthode Add de la collection Pages du document. Par exemple :
Une fois que vous avez ajout une page la collection, vous pouvez utiliser la
proprit Name de lobjet Page pour nommer votre page.
Sef shp0b = pag0b.PageSheef
Sef ce10b = shp0b.Ce11s|"LageuPage")
dW1dfh = ce10b.Pesu1f|"pouces")
Sef pag0b = Th1s0ocumehf.Pages.Add
326 CHAP I TRE 16
Ut ilisat ion des objet s Shape
Lobjet Visio essentiel que vous allez utiliser est lobjet Shape. Un objet Shape
reprsente une forme de base, un groupe, un repre ou un point de repre, ou encore
un objet li ou incorpor. Un objet Shape peut aussi reprsenter les formules dune
page, dune forme de base ou dun document. Une collection Shapes reprsente tous
les objets Shape dune page de dessin.
Rcuprat ion dun objet Shape
Pour obtenir des informations sur une forme, vous devez rcuprer la rfrence
lobjet Shape. Pour ce faire, vous devez tout dabord rcuprer la rfrence la
collection Shapes de lobjet qui contient la forme qui vous intresse.
Obj et Shape et objets associs
suprieurs dans le modle
dobjet Visio
Pour rcuprer la collection Shapes dune page, rcuprez la proprit Shapes de
lobjet Page. Pour rcuprer une collection Shapes dune forme de base, rcuprez la
proprit Shapes de lobjet Master. Si un objet Shape reprsente un groupe ou la
feuille dune page ou dune forme de base, cet objet Shape dispose aussi dune
proprit Shapes.
Vous pouvez rcuprer un objet Shape de la collection Shapes par son indice, son
nom ou son ID unique.
Rcupration dune forme par son indice
Lordre des lments dans une collection Shapes est identique celui des formes
dessines. Le premier lment dune collection Shapes est la forme larrire-plan de
la page de dessin (la premire forme dessine), et le dernier lment est la forme au
tout premier plan (la dernire forme dessine). Par exemple, pour placer sur la page la
forme au tout premier plan :
shpThdex = shps0b.Couhf
Sef shp0b = shps0b.Tfem|shpThdex)
Page
Pages
Shape
Shapes
Application Document
Global
Documents
Pages
Shapes
Documents
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 327
Rcupration dune forme par nom ou par ID unique
Un objet Shape comporte trois proprits qui identifient la forme : Name, NameID et
UniqueID.
Name : renvoie NomDeForme[.nnnn]. Le nom de la forme est NomDeForme ; vous
pouvez paramtrer ce nom soit laide de la proprit Name, soit en saisissant un
nom dans la bote de dialogue Spcial (choisissez Format > Spcial).
Si vous nattribuez pas de nom une forme, la proprit Name renvoie lune des
valeurs suivantes :
Si la forme est la premire ou la seule occurrence dune forme de base sur une page
ou dans un groupe, NomDeForme est le nom de la forme de base sans numro
didentification, par exemple, Dcision.
Si la forme nest pas la premire occurrence dune forme de base sur une page ou
dans un groupe, NomDeForme est le nom de la forme de base suivie du numro
didentification de la forme, par exemple, Dcision.43.
Si la forme nest pas loccurrence dune forme de base, NomDeForme correspond
Feuille suivie du numro didentification de la forme, par exemple, Feuille.34.
Dans ce cas, les proprits Name et NameID de la forme renvoient la mme
chane.
Un nom de forme peut tre constitu de 1 31 caractres et il dcrit gnralement
la forme, comme Ordinateur de bureau. Par exemple, pour rcuprer une forme
nomme Ordinateur de bureau
NameID : renvoie Feuille.n, n tant lID entier de la forme, par exemple, Feuille.34.
Cet ID est attribu la forme lorsquelle est cre sur une page de dessin ; il est
unique dans la page ou dans la forme de base de la forme. Par exemple, pour
rcuprer une forme dont lID est 5 :
UniqueID(visGetGUID) : renvoie lventuel ID de la forme. Vous pouvez accder aux ID
uniques seulement partir dun programme, pas depuis linterface utilisateur Visio.
La plupart du temps, les ID permettent didentifier les formes ayant des
enregistrements correspondants dans une base de donnes. Dans le cas dun plan de
local commercial par exemple, il existe des douzaines de formes de bureau, de sige et
de PC identiques, vous pouvez utiliser lID unique de chaque forme pour associer une
forme spcifique du plan un enregistrement de la base de donnes dquipements.
Sef shp0b = shps0b.Tfem|"0d1hafeu de bueau")
Sef shp0b = shps0b.Tfem|"Ieu111e.S")
328 CHAP I TRE 16
Tant que le programme ne le gnre pas, une forme na pas dID unique. En revanche,
une forme de base dispose toujours dun ID unique, gnr par le moteur Visio. Un
ID unique est stock en interne sous la forme dune valeur de 128 bits, mais le moteur
Visio renvoie cette valeur sous la forme dune chane. Vous pouvez passer la chane ID
unique avec la mthode Item pour rcuprer une forme par son ID unique. Par
exemple :
Pour plus dinformations sur les ID uniques des formes et des formes de base,
reportez-vous au chapitre 20, Intgration de donnes et dune solution Visio
Rcuprat ion dinf ormat ions sur une f orme
Etant donn quun objet Shape peut reprsenter plus quune forme de base, il
convient parfois de dterminer son type. Lobjet Shape comporte une proprit Type
qui indique le type de la forme. Les valeurs renvoyes par cette proprit sont
reprsentes par les constantes suivantes dfinies dans la bibliothque de types Visio :
visTypeShape identifie une forme qui nest pas un groupe, comme une ligne, une
ellipse ou un rectangle, et les formes avec chemins multiples.
visTypeGroup identifie un groupe. Un groupe peut contenir des formes, des
groupes, des objets externes et des repres.
visTypeForeignObject identifie un objet import, incorpor ou li partir dune
autre application.
visTypeGuide identifie un repre ou un point de repre.
visTypePage identifie une forme contenant les proprits dune page ou dune
forme de base.
visTypeDoc identifie une forme contenant les proprits dun document.
Loccurrence dune forme de base peut tre une forme de base ou un groupe, en
fonction de la manire dont la forme de base a t cre.
Sef shp0b = shps0b.Tfem|"{6674SA1-936-101C-9107-0060CI4660}")
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 329
Dans la collection Shapes dun objet Page, chaque groupe est considr comme une
seule forme. En revanche, un groupe dispose de sa propre collection Shapes. La
fonction suivante comptabilise les formes dune page, y compris celles des groupes
(mais pas les groupes eux-mmes), en effectuant une itration dans la collection
Shapes dun objet Page. Elle vrifie galement la proprit Type de chaque objet Shape
pour voir si la forme est un groupe. Si Type renvoie visTypeGroup, lexemple extrait
le nombre de formes du groupe et ajoute ce nombre au nombre total de formes.
Crat ion et modif icat ion de f ormes
Quil sagisse de cration ou de modification, la plupart des oprations excutes par
le programme seffectuent avec des formes. Pour crer des formes, vous insrez
gnralement des formes de base dans la page de dessin en les faisant glisser, comme le
dcrit le chapitre 18, Cration de dessins par automatisation
Iuhcf1oh ShapesCouhf |oof As 0becf) As Thfege
01m 1Couhf As Thfege va1eu de efou
01m shps0b As v1s1o.Shape Co11ecf1oh Shapes
01m shp0b As v1s1o.Shape obef Shape
1Couhf = 0 Suppose que oof.Shapes esf uh goupe ou
uhe page
Sef shps0b = oof.Shapes
Io Each shp0b Th Shps0b
Tf shp0b.Type = v1sTypeCoup Theh
1Couhf = 1Couhf + ShapesCouhf|shp0b)
E1se
1Couhf = 1Couhf + 1
Ehd Tf
hexf
ShapesCouhf = 1Couhf
Ehd Iuhcf1oh
330 CHAP I TRE 16
Cration de formes
A partir dun programme, vous pouvez dessiner des lignes, des ellipses et des
rectangles en utilisant les mthodes DrawLine, DrawOval et DrawRectangle dun
objet Page. Lorsque vous dessinez des lignes, des ovales et des rectangles au lieu
dinsrer une forme de base dans la page de dessin, vous attribuez des coordonnes
aux deux angles opposs du plan largeur-hauteur de la nouvelle forme.
Cration de formes laide des
mthodes DrawLine,
DrawRectangle et DrawOval
A pagObj.DrawLine 1,9,3,10
B pagObj.DrawRectangle 1,6,3,7
C pagObj.DrawOval 1,3,3,4
Lorsque vous dessinez des ellipses et des rectangles, lordre dans lequel vous spcifiez
les angles na pas rellement dimportance. En revanche, il est important pour les
lignes. Il convient gnralement de connatre lextrmit dune ligne correspondant
au point de dpart et celle correspondant au point de fin.
Si vous le souhaitez, vous pouvez par exemple appliquer un style de ligne qui formate
le point de fin dune ligne avec une flche, ou coller le point de dpart dune ligne sur
une autre forme. Lorsque vous dessinez une ligne partir dun programme, les
premires coordonnes x,y dterminent le point de dpart de la ligne, et les secondes
coordonnes x,y dterminent le point de fin de la ligne ; le rsultat est le mme que
lorsque vous dessinez une forme avec la souris.
1 2 3 4
1
1
1
0
9
8
5 6 7 8
7
6
5
4
3
2
1
0
0
A
B
C
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 331
Outre les lignes, les ovales et les rectangles, vous pouvez aussi dessiner des formes
laide des mthodes DrawBezier, DrawNURBS, DrawPolyline et DrawSpline. Pour
plus dinformations sur ces mthodes, reportez-vous laide en ligne Rfrence du
dveloppeur (choisissez ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
Modification des formes
Vous pouvez aussi dessiner des formes originales, modifier des formes existantes, ou
en changer lapparence et le comportement en paramtrant leurs formules. Un objet
Shape comporte une proprit Cells qui renvoie un objet Cell contenant une formule.
Par exemple, pour masquer le texte dune forme :
Pour plus dinformations sur lutilisation des formules, reportez-vous au chapitre 17,
Automatisation des formules
Copie, coupe, suppression et duplication de formes
Vous pouvez copier, couper, supprimer et dupliquer des formes en utilisant les
mthodes Copy, Cut, Delete et Duplicate dun objet Shape. Ces mthodes
fonctionnent de la mme manire que les commandes de menu Copier, Couper,
Supprimer et Dupliquer de linterface utilisateur Visio. Vous pouvez utiliser ces
mthodes avec un objet Shape, que la forme correspondante soit slectionne ou non
dans la fentre de dessin.
Pour dupliquer une forme un endroit donn de la page, utilisez la mthode Drop de
lobjet Page. Pour ce faire, attribuez une rfrence la forme dupliquer et aux
coordonnes de destination du centre du rectangle de slection et de rotation de la
forme. Ce point se confond gnralement avec laxe de la forme. Par exemple :
Pour coller des formes partir du Presse-papiers, utilisez la mthode Paste de lobjet
Page. Pour plus dinformations sur le collage partir du Presse-papiers, reportez-vous
la mthode Paste dans laide en ligne Rfrence du dveloppeur fournie avec Visio.
Sef ce10b = shp0b.Ce11s|"MasqueTexfe")
ce10b.Iomu1a = "Tue"
Sef shp0b = pag0b.Shapes|"Ieu111e.1")
pag0b.0op shp0b,1,2
332 CHAP I TRE 16
Ajout de t ext e aux f ormes
Il est plus frquent de paramtrer le texte dune forme partir du programme que de
le considrer comme partie intgrante dune forme de base. Vous pouvez ajouter du
texte une forme ou modifier le texte existant en paramtrant la proprit Text dun
objet Shape sur une expression de chane. Par exemple :
Pour inclure des guillemets dans le texte, utilisez deux caractres guillemets ("") de
part et dautre de la chane. Par exemple :
Pour contrler le retour la ligne, utilisez la fonction Chr$ de Microsoft

Visual
Basic

pour inclure un saut de ligne ASCII. Par exemple :


Paramtrez la proprit Text dun
objet Shape pour ajouter du texte
la forme correspondante.
Pour modifier une partie du texte dune forme, rcuprez la proprit Characters de
la forme, qui renvoie un objet Characters. Paramtrez les proprits Begin et End de
lobjet Characters pour marquer le texte modifier.
Le texte dune forme est contenu dans son bloc de texte et est positionn dans son
propre systme de coordonnes relatif la forme. Vous pouvez contrler la taille et la
position du bloc de texte dune forme en paramtrant des formules dans la section
Transformation du texte de la forme. Pour plus dinformations sur lutilisation des
formules, reportez-vous au chapitre 17, Automatisation des formules . Pour
connatre les techniques Visio de modification de bloc et de contrle des
comportements du texte, reportez-vous au chapitre 9, Cration dun
comportement de texte .
shp0b.Texf = "Efo11e"
shp0b.Texf = """Efes-vous c11ehf de XYZ ?"""
shp0b.Texf = "Pef1fe" & Ch$|10) & "fo11e" & Ch$|10) & "b111ahfe"
Petite
toile
brillante
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 333
Rcuprat ion du t ext e dune f orme
La proprit Text dun objet Shape renvoie une chane contenant le texte affich dans
la forme. Si le texte dune forme contient des champs, comme une date, une heure ou
des formules personnalises, la chane renvoye par la proprit Text de la forme
contient un caractre dchappement (1E en hexadcimal, 30 en dcimal), non pas le
texte tendu affich dans les champs.
Pour que le texte de la forme apparaisse avec des champs correspondant
intgralement ce quils affichent dans la fentre de dessin, rcuprez la proprit
Characters de la forme, puis rcuprez la proprit Text de lobjet Characters
obtenu. Vous pouvez aussi rcuprer un sous-ensemble du texte de la forme en
paramtrant les proprits Begin et End de lobjet Characters.
Les champs du texte dune forme correspondent aux rsultats des formules que vous
pouvez visualiser dans la section Champs de texte de la forme. Utilisez la proprit
FieldFormula et les proprits associes de lobjet Characters pour contrler les
champs du texte dune forme.
REMARQUE : dans les versions prcdentes de Visio, la chane renvoye par la proprit
Text dune forme contenait un code de champ de 4 octets commenant par un caractre
dchappement. Les trois octets suivants contenaient les valeurs FieldCategory, FieldCode
et FieldFormat du champ. Dans Visio 2000, un seul caractre dchappement est stock et
les valeurs FieldCategory, FieldCode et FieldFormat sont stockes dans les cellules
Fields.UICat[i], Fields.UICod[i] et Fields.UIFmt[i] de la section Champs de texte de la
forme. (Ces cellules napparaissent pas dans la fentre ShapeSheet). Dans visFieldCodes,
les constantes de codes de champs sont dfinies dans la bibliothque de types Visio.
Outre le texte affich dans la forme, dautres parties dune forme peuvent contenir du
texte :
Une forme peut contenir du texte dans les cellules dfinies par lutilisateur ou des
proprits personnalises. Pour accder ce texte, utilisez la proprit Formula de
lobjet Cell contenant le texte.
Une forme peut contenir du texte dans ses champs Donnes1, Donnes2 et
Donnes3 ; ils apparaissent dans la bote de dialogue Spcial de Visio
correspondant cette forme. Pour accder ce texte, utilisez les proprits Data1,
Data2 et Data3 de lobjet Shape.
Ident if icat ion et applicat ion des st yles aux f ormes
Un objet Shape comporte des proprits qui identifient les styles de texte, de trait et
de remplissage appliqus cette forme :
FillStyle identifie le style de remplissage de la forme.
LineStyle identifie le style de trait de la forme.
TextStyle identifie le style de texte de la forme.
334 CHAP I TRE 16
Vous pouvez rcuprer ces proprits pour dterminer un style de texte, de trait ou de
remplissage dune forme, ou paramtrer ces proprits pour appliquer des styles la
forme. Lexemple suivant dessine un rectangle et applique deux styles :
Vous pouvez aussi paramtrer la proprit Style pour appliquer une forme un style
comportant plusieurs attributs. Si vous rcuprez la proprit Style dune forme, elle
renvoie le style de remplissage de cette forme, car une proprit ne peut pas renvoyer
plusieurs objets.
Conservat ion du f ormat age local
Le programme ou lutilisateur peut appliquer une forme des attributs de formatage
spcifiques qui sajoutent aux styles de texte, de trait ou de remplissage. Ce type de
formatage est appel formatage local. Si vous appliquez ultrieurement un style cette
forme, ce style remplace le formatage local sauf si vous faites en sorte de le conserver.
Pour conserver le formatage local lors de lapplication dun style partir dun
programme, utilisez lune des proprits suivantes la place de FillStyle, LineStyle ou
de TextStyle :
FillStyleKeepFmt
LineStyleKeepFmt
TextStyleKeepFmt
StyleKeepFmt
Ces proprits reviennent cocher la case Conserver le formatage local de la bote de
dialogue Style.
Sub App1ySy1es|)
01m pag0b As v1s1o.Page
01m shp0b As v1s1o.Shape
Sef pag0b = Acf1vePage
Sef shp0b = pag0b.0aWPecfahg1e|S, 4, 3, 2)
shp0b.I111Sfy1e = "v1s1o 20 Iace3"
shp0b.L1heSfy1e = "v1s1o 10 Iace2"
Ehd Sub
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 335
Crat ion de groupes part ir dun programme
Un groupe est une forme compose dautres formes. Pour crer un groupe partir
dun programme, utilisez la mthode Group de lobjet Window ou un objet Selection.
Linstruction suivante cre un groupe partir des formes slectionnes dans la fentre
de dessin :
La mthode Group cre un groupe
partir de formes slectionnes.
Pour ajouter une forme un groupe, utilisez la mthode Drop de lobjet Shape qui
reprsente le groupe, et faites rfrence la forme ajouter et sa position dans le
groupe. Par exemple :
Utilisez la mthode Drop dun
groupe pour ajouter une forme au
groupe.
A 0,0
B 0,375; 0,125
C grpObj
D shpObj
E grpObj aprs grpObj.Drop
W1h0b.Coup
gp0b.0op shp0b, 0,37S 0,12S
336 CHAP I TRE 16
Les coordonnes 0,375; 0,125 sont exprimes en coordonnes locales du groupe. Si la
forme dplace est un objet Master, le point plac par rapport ces coordonnes est
laxe de la forme de base. Si la forme dplace est un objet Shape, ce point est le centre
du rectangle de slection de la forme.
Vous pouvez contrler le comportement dun groupe en paramtrant des formules
dans la section Proprits de groupe de la forme. Pour plus dinformations sur
lutilisation des formules, reportez-vous au chapitre 17, Automatisation des
formules .
Crat ion de f ormes de base
Pour crer des formes de base partir dun programme, vous insrez une forme
provenant dune page de dessin dans un document (souvent un gabarit), comme vous
le faites lors de la cration dune forme de base avec la souris. Attribuez une rfrence
lobjet Shape convertir en forme de base laide de la mthode Drop du
document. Avant de pouvoir insrer un objet Shape dans un gabarit, vous devez
ouvrir le gabarit sous sa forme originale plutt quen lecture seule, comme cest
gnralement le cas lorsquun gabarit est ouvert par un fichier de modle (.vst). Pour
ouvrir un gabarit sous sa forme originale, utilisez la mthode Open, par exemple :
Une forme de base est souvent constitue de plusieurs composants qui, pour de
meilleures performances, doivent tre groups. Vous ntes pas tenu de grouper les
composants dune forme de base dans un gabarit. Notez cependant que si vous ne les
groupez pas, le moteur Visio groupe automatiquement les formes lorsque lutilisateur
insre la forme de base dans un dessin. Cette opration augmente le temps de cration
dune occurrence de la forme de base.
REMARQUE : outre les objets Shape et Master, la mthode Drop accepte les objets
Selection, ou tout objet qui fournit une interface IDataObject. Pour plus dinformations
sur la mthode Drop, reportez-vous laide en ligne Rfrence du dveloppeur fournie
avec Visio.
01m sfh0b As v1s1o.0ocumehf
01m shp0b As v1s1o.Shape
Sef sfh0b = 0ocumehfs.0peh|"Iomes de base.vss")
sfh0b.0op shp0b, 0, 0
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 337
Exemple de crat ion dun dessin simple
Voici un programme qui dmontre comment vous pouvez utiliser le modle dobjet
laide des objets Document, Page et Shape pour crer un dessin. Cet exemple cre des
objets Visio ; il ne fait pas rfrence des objets Visio existants. Ce programme est
constitu des tapes suivantes :
1 Rcupration de la premire page de la collection Pages du document associ au
projet Microsoft Visual Basic pour Applications (VBA).
2 Ajout du gabarit Formes de base.vss la collection Documents.
3 Insertion dans la page de dessin dune occurrence de la forme de base Rectangle
depuis le gabarit.
4 Choix de Bonjour tous ! comme texte de la forme rectangle sur la page de
dessin.
5 Enregistrement du document.
Sub he11oWo1d |)
va1ab1es obef a uf111se dahs ce pogamme.
01m sfh0b As v1s1o.0ocumehf 0ocumehf gaba1f qu1 cohf1ehf 1a fome
de base
01m masf0b As v1s1o.Masfe Iome de base a dpose
01m pags0b As v1s1o.Pages Co11ecf1oh Pages du documehf
01m pag0b As v1s1o.Page Page de fava11
01m shp0b As v1s1o.Shape 0ccuehce de 1a fome de base
su 1a page
L1e 1a pem1e page du documehf assoc1 au pogamme vA.
uh houveau documehf a fouous uhe page, dohf 1`1hd1ce dahs 1a
co11ecf1oh Pages vauf 1.
Sef pags0b = Th1s0ocumehf.Pages
Sef pag0b = pags0b.Tfem|1)
L1e 1e gaba1f dahs 1a co11ecf1oh 0ocumehfs ef df1h1 1a
fome de base.
Sef sfh0b = 0ocumehfs.Add|"Iomes de base.vss")
Sef masf0b = sfh0b.Masfes|"Pecfahg1e")
0pose 1e ecfahg1e au m111eu d`uhe page au fomaf uS 1effe.
Sef shp0b = pag0b.0op|masf0b, 4.2S, S.S)
0f1h1 1e fexfe du ecfahg1e.
Shp0b.Texf = "ohou a fous !"
Eheg1sfe 1e dess1h. Le message 1hfeompf 1e pogamme,
vous s1gha1ahf a1hs1 que 1e dess1h esf fem1h.
Th1s0ocumehf.SaveAs "bohou.vsd"
Msgox "Le dess1h esf fem1h !", , "ohou a fous !"
Ehd Sub
338 CHAP I TRE 16
Le dessin cr par ce programme apparat de la manire suivante.
Dessin cr par le programme
Bonjour tous !
Ce programme utilise les types dobjet Visio comme Visio.Document, Visio.Master,
Visio.Pages, Visio.Page et Visio.Shape dfinis dans la bibliothque de types Visio.
Lutilisation de types dobjet Visio la place du type de variable gnrale Object
augmente la vitesse dexcution du programme.
Ce programme utilise les variables dobjet pour conserver les rfrences aux objets
Visio. Chaque instruction Set attribue une rfrence dobjet une variable dobjet, en
commenant par lobjet ThisDocument. Remarquez la progression depuis lobjet
ThisDocument vers la collection Pages, puis vers lobjet Page.
Set pagsObj = ThisDocument.Pages utilise lobjet ThisDocument, qui est quivalent
lobjet Document spcifique associ un projet VBA. Pour faire rfrence lobjet
Document du fichier associ votre projet VBA, vous navez pas le rcuprer depuis
la collection Documents ; il suffit de faire rfrence lobjet ThisDocument.
Set stnObj = Documents.Add("Formes de base.vss") ne fait pas rfrence un objet
suprieur du modle dobjet Visio prcdant Documents. Documents est une
proprit de lobjet global Visio. Cet objet Visio comporte des proprits et des
mthodes auxquelles vous pouvez faire rfrence sans indiquer dobjet. Pour plus
dinformations sur lobjet global Visio, reportez-vous au chapitre 15,
Programmation dans Visio avec Microsoft VBA .
Set shpObj = pagObj.Drop(mastObj, 4,25; 5,5) utilise la mthode Drop pour insrer
une forme de base sur la page reprsente par la variable pagObj. Bien quil soit
possible de crer des formes de toutes pices dans un programme, une technique
beaucoup plus facile consiste dplacer une forme de base. Largument mastObj
spcifie la forme de base dplacer ; 4,25; 5,5 sont les coordonnes sur la page de
lemplacement de laxe de la nouvelle forme (son centre de rotation). Ces
coordonnes sont mesures partir de langle infrieur gauche de la page de dessin
dans des units de dessin exprimes en pouces. La mthode Drop renvoie une
rfrence lobjet Shape, cest--dire au nouveau rectangle, qui est attribu la
variable shpObj.
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 339
shpObj.Text = "Bonjour tous !" attribue la chane "Bonjour tous !" la proprit
Text de lobjet Shape ; cette chane est alors affiche dans le rectangle. Cela revient
slectionner une forme avec loutil Pointeur dans une fentre de dessin Visio et
saisir Bonjour tous !.
ThisDocument.SaveAs "bonjour.vsd" utilise la mthode SaveAs pour enregistrer lobjet
ThisDocument dans le fichier nomm Bonjour.vsd. Comme aucun chemin de
dossier nest spcifi, le document est enregistr dans le dossier de travail (en gnral,
le dossier qui contient le programme). Linstruction MsgBox indique simplement que
le dessin est termin. Lorsque vous cliquez sur OK dans la zone de message, vous
mettez fin au programme.
Pour plus dinformations sur tout objet, proprit, mthode ou vnement Visio,
reportez-vous laide en ligne Rfrence du dveloppeur (choisissez ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio. Pour rechercher des informations sur
la programmation VBA, reportez-vous laide en ligne Microsoft Visual Basic,
accessible partir du menu daide de lEditeur Visual Basic.
Sommaire
17
Aut omat isat ion des f ormules
Outre les proprits que le modle dobjet Microsoft

Visio

met disposition, vous


pouvez contrler les objets Shape, Style, Page, Master et Document laide des
formules contenues dans les objets Cell. Comme vous pouvez visualiser, saisir et
modifier des formules dans les cellules dune fentre ShapeSheet

, vous pouvez
rcuprer et paramtrer des formules contenues dans les objets Cell qui
appartiennent une forme. Il est donc essentiel pour un dveloppeur Automation de
comprendre les fonctionnalits dont le moteur Visio dispose avec sa technologie
SmartShapes

. Tout ce quune formule peut effectuer dans une fentre ShapeSheet


peut tre effectu dans votre programme.
Vous pouvez apporter des modifications importantes une forme laide de
lensemble des sections et des lignes de ses formules. Par exemple, vous pouvez
ajouter des sections Gomtrie, supprimer des sommets ou modifier le type de ligne
des segments en convertissant des lignes en arcs ou des arcs en lignes.
IMPORTANT : pour obtenir la liste complte des sections, des noms des rfrences de cellule
et des constantes dindice de section, de ligne et de cellule, reportez-vous lAnnexe B,
Indices de section, de ligne et de cellule ShapeSheet . Vous pouvez aussi obtenir la liste
des constantes dindice et leurs valeurs en recherchant VisSectionIndices, VisRowIndices
et VisCellIndices dans la bibliothque de types Visio.
Ce chapitre prsente lautomatisation des formules des objets Cell appartenant aux
objets Shape, Style, Page, Master et Document. Il traite galement de lutilisation des
sections et des lignes partir de votre programme. Pour plus dinformations sur
lutilisation des formules Visio, reportez-vous au chapitre 4, Formules Visio
Utilisation des formules dans les cellules............................................................ 342
Utilisation des sections et des lignes ................................................................... 349
Utilisation de donnes hrites ............................................................................ 356
342 CHAP I TRE 17
Ut ilisat ion des f ormules dans les cellules
Dans le modle dobjet Visio, un objet Shape comporte plusieurs cellules ; chaque
cellule contient une formule dont la valeur dtermine un aspect de laffichage ou du
comportement dun objet.
Objet Cell et objets suprieurs
associs dans le modle dobjet
Visio
Supposons que vous souhaitiez modifier la largeur dun objet Shape de votre
programme. Dans le modle dobjet Visio, un objet Shape nindique pas de proprit
de largeur. Vous pouvez cependant modifier la largeur de la forme en rcuprant une
rfrence la cellule de la forme qui dfinit la largeur de la forme. Lorsque vous
disposez dune rfrence lobjet Cell qui dfinit la largeur de la forme, vous pouvez
rcuprer ou paramtrer ses formules. Ainsi, toutes les fonctionnalits votre
disposition dans la fentre ShapeSheet

dun objet sont aussi votre disposition par


lintermdiaire de lautomatisation.
Pour utiliser les formules dun objet Shape ou Style, utilisez la proprit Cells ou
CellSRC de lobjet pour rcuprer un objet Cell donn.
Pour utiliser les formules dune page (Page) ou dune forme de base (Master),
utilisez la proprit PageSheet de lobjet, qui renvoie un objet Shape. Vous pouvez
ensuite utiliser la proprit Cells ou CellSRC de cet objet Shape.
Pour utiliser les formules dun objet Document, utilisez la proprit
DocumentSheet de lobjet, qui renvoie un objet Shape. Vous pouvez ensuite
utiliser la proprit Cells ou CellSRC de cet objet Shape.
Rcuprat ion dun objet Cell
Vous pouvez rcuprer un objet Cell dans une collection soit par son nom, soit par
son indice de section, de ligne et de cellule. Aprs avoir rcupr un objet Cell, vous
pouvez utiliser ses mthodes et ses proprits pour rcuprer ou paramtrer la
formule de la cellule ou sa valeur.
Rcupration dun objet par son nom
Pour rcuprer un objet Cell, utilisez la proprit Cells dun objet Shape et spcifiez le
nom de la cellule. Avec la proprit Cells, vous pouvez utiliser toute rfrence de
cellule valide.
Document
Documents
Master
Masters
Page
Pages
Shape
Shapes
Section
Section
Section
Row
Row
Ligne
Cell
Cell
Cellule
Documents Masters
Pages
Shapes
AUTOMATI SATI ON DES FORMUL ES 343
Par exemple, pour rcuprer la cellule AxeX dune forme :
Pour rcuprer la coordonne y du quatrime point de connexion de la forme :
Dans ces exemples, nous rcuprons par leurs noms des objets Cell partir dune
collection. Remarquez que ces noms de cellule sont identiques ceux qui figurent
dans la fentre ShapeSheet de la forme.
Rcupration dun objet Cell par son indice de section, de ligne et de
cellule
Vous pouvez utiliser la proprit CellsSRC pour rcuprer toute cellule par son indice
de section, de ligne et de cellule.
Par exemple, pour rcuprer la cellule Police dans la premire ligne de la section
Caractres dune forme :
Si une section contient plusieurs lignes et que vous souhaitiez faire rfrence une
cellule qui nest pas sur la premire ligne, ajoutez un dcalage de valeur entire la
constante de ligne pour cette section. Bien que vous puissiez utiliser une constante de
ligne sans dcalage pour rcuprer la premire ligne dune section, il est prfrable en
pratique dutiliser la constante de ligne comme base et de lui ajouter un dcalage de
valeur entire, en commenant par 0 pour la premire ligne. Par exemple :
La position dune section ou dune ligne peut changer en fonction des oprations
effectues sur les autres sections et lignes. Par exemple, si une section Montage
contient trois lignes et que vous supprimiez la deuxime ligne, la troisime ligne est
dplace pour devenir la deuxime ligne. En consquence, visRowScratch + 2 nest
plus une rfrence valide car la section na plus de troisime ligne.
Vous pouvez aussi utiliser des indices de section et de ligne pour ajouter ou supprimer
des sections ou des lignes dune forme ou pour effectuer une itration dans les lignes
dune section.
Sef p1hXCe110b = shp0b.Ce11s|"AxeX")
Sef cohYCe110b = shp0b.Ce11s|"Cohhecf1ohs.Y4")
Sef fohfCe110b = shp0b.Ce11sSPC |v1sSecf1ohChaacfe,
v1sPoWChaacfe + 0, v1sChaacfeIohf)
v1sPoWScafch + 0 Pem1e 11ghe de 1a secf1oh Mohfage
v1sPoWScafch + 1 0eux1me 11ghe de 1a secf1oh Mohfage
v1sPoWScafch + 2 To1s1me 11ghe de 1a secf1oh Mohfage
344 CHAP I TRE 17
REMARQUE : dans la version 5.0 de Visio, les cellules Gomtrien.NoFill et
Gomtrien.AucunAff apparaissaient dans une fentre ShapeSheet dans les troisime et
quatrime cellules de la ligne Dpart dune section Gomtrie, et taient nommes
Gomtrien.A1 et Gomtrien.B1 (Gomtrien.X0 et Gomtrien.Y0, respectivement,
dans les versions antrieures Visio 5.0). Vous pouvez faire rfrence ces cellules avec
lun de ces noms.
Rcupration dune cellule dfinie par lutilisateur ou de proprits
personnalises
Certaines formes peuvent avoir des cellules nommes par lutilisateur ou par le
dveloppeur de formes. Les cellules personnalises sont dfinies dans la section
Cellules personnalises de la forme ; les cellules de proprits personnalises sont
dfinies dans la section Proprits personnalises de la forme. Chaque ligne de la
section Cellules personnalises ou Proprits personnalises comporte une cellule
Valeur qui contient la valeur de la cellule ou de la proprit dfinie par lutilisateur, et
une cellule Message pouvant contenir une chane. Une ligne de proprit
personnalise comporte des cellules supplmentaires qui contrlent le mode
dutilisation de la proprit personnalise.
La cellule Valeur constitue la cellule par dfaut dune ligne dfinie par lutilisateur ou
de proprit personnalise, vous pouvez donc rcuprer la cellule Valeur en spcifiant
simplement la section et le nom de la ligne. Par exemple, pour rcuprer la cellule
Valeur dune cellule dfinie par lutilisateur nomme Point de fuite :
Pour rcuprer toute autre cellule dans une cellule dfinie par lutilisateur ou dans
une ligne de proprit personnalise, vous devez inclure le nom de la cellule
souhaite. Par exemple, pour rcuprer la cellule Message dune proprit
personnalise nomme Numro de srie :
Pour plus dinformations sur la dfinition des proprits personnalises dans une
fentre ShapeSheet, reportez-vous la section Proprits personnalises page 146.
Sef ce10b = shp0b.Ce11s|"uf11.Po1hf de fu1fe")
Sef ce10b = shp0b.Ce11s|"Pop.humo de s1e.Message")
AUTOMATI SATI ON DES FORMUL ES 345
Modif icat ion des f ormules de cellule laide de la proprit
Formula
Pour modifier une formule de cellule, paramtrez la proprit Formula dun objet
Cell sur une chane correspondant une formule valide pour cette cellule. Par
exemple, pour paramtrer la formule de la cellule AxeLocX dune forme sur = 2 *
Largeur :
Si vous omettez le signe gal dune chane de formule, le moteur Visio lajoute
automatiquement la formule.
Si la chane de formule contient des guillemets, par exemple, si des pouces sont
spcifis sous la forme de guillemets (") plutt que par pouces ou po., utilisez deux
caractres de guillemets ("") pour transmettre un guillemet dans le moteur Visio.
Pour saisir une formule dans la cellule Message dune ligne de proprit
personnalise, utilisez linstruction suivante :
Rcuprat ion du rsult at dune f ormule
Chaque cellule possde une formule, et chaque formule permet de calculer un
rsultat. En choisissant Formules ou Valeurs dans le menu Affichage, vous pouvez
afficher le rsultat dans la fentre ShapeSheet. Si vous affichez des formules, une
cellule peut afficher Largeur * 0,5. Si vous visualisez des valeurs, et si la largeur est de
5,0 po (5 pouces), la mme cellule affiche 2,5 po (2,5 pouces).
Pour rcuprer le rsultat dune formule :
Result renvoie le rsultat dune formule sous la forme dun nombre virgule
flottante dans les units que vous spcifiez.
ResultIU renvoie le rsultat sous la forme dun nombre virgule flottante dans
les units internes Visio : pouces, radians ou jours couls.
ResultInt renvoie le rsultat sous la forme dun nombre entier dans les units
que vous spcifiez.
ResultStr renvoie le rsultat sous la forme dune chane dans les units que vous
spcifiez.
GetResults renvoie les rsultats de plusieurs cellules dans les units que vous
spcifiez.
Sef ce10b = shp0b.Ce11s|"AxeLocX")
ce10b.Iomu1a = "2 " Lageu"
shp0b.ce11s|"pop.11ghe1.message").Iomu1a = """Ehfez uhe pop1f"""
346 CHAP I TRE 17
Par exemple, les formules qui dterminent les coordonnes locales du centre de
rotation dune forme sont stockes dans ses cellules AxeLocX et AxeLocY. Les
formulations suivantes obtiennent le rsultat de la formule dans la cellule AxeLocX :
Les proprits Result et ResultIU renvoient un nombre virgule flottante. Lors de la
rcupration des rsultats de certaines formules de formes, surtout celles qui
dterminent les dimensions ou les sommets dune forme, vous voudrez probablement
prserver ce niveau de prcision. Pour ce faire, attribuez des rsultats aux variables
Variant ou Double. Cela rduit la possibilit darrondissement des erreurs et
maintient le mme niveau de prcision si vous utilisez des nombres pour recrer des
formes dans dautres dessins Visio.
Vous pouvez spcifier des units en utilisant toute chane acceptable par le moteur
Visio. Pour spcifier les units internes Visio (pouces ou radians), spcifiez une chane
Null ("") pour les units ou utilisez la proprit ResultIU au lieu de Result.
Comme alternative la spcification dunits sous forme de chane, utilisez les
constantes dunit dfinies dans la bibliothque de types Visio. Par exemple, vous
pouvez spcifier des centimtres en utilisant la constante visCentimeters.
Utilisez visPageUnits pour spcifier les units dfinies pour la page ou
visDrawingUnits pour spcifier les units dfinies pour le dessin.
Comme toute autre proprit de rsultat, ResultStr prend largument des units et
vous permet ainsi deffectuer des conversions entre toutes les units. Vous pouvez
utiliser ResultStr surtout pour accder aux formules des cellules qui contiennent des
chanes, comme la cellule Message dans une ligne de proprit personnalise, ou pour
rcuprer une chane destine servir de commande dans linterface utilisateur.
Remplacement dune f ormule par un rsult at
Si vous le souhaitez, vous pouvez remplacer une formule par son rsultat exprim
sous la forme dune constante, soit pour amliorer la performance dune forme, soit
parce que vous navez plus besoin de conserver ses formules. Le moteur Visio calcule
des formules chaque fois quune modification apporte une forme a une incidence
sur ses formules. La frquence des calculs peut avoir un effet notable sur les
performances. Pour remplacer une formule par son rsultat, utilisez la proprit
Result de la cellule afin de paramtrer sa formule. Cela revient paramtrer la
proprit Formula de la cellule : il sagit dun raccourci permettant de calculer la
formule et de la remplacer par la constante quivalente sous la forme dune nouvelle
formule de cellule.
Sef ce10b = shp0b.Ce11s|"AxeLocX")
1oca1CehfeX = ce10b.Pesu1f|"pouces")
1oca1CehfeX = ce10b.Pesu1f|v1sCehf1mefes)
AUTOMATI SATI ON DES FORMUL ES 347
Supposons, par exemple, que la formule AxeLocX dune forme est = 3 pouces + 1 pied/
2 ; son rsultat est donc gal 9 pouces. Pour remplacer cette formule par son
rsultat, utilisez la formulation suivante :
Une fois que cette formulation est excute, la formule de la cellule AxeLocX est
= 9 sin.
Vous pouvez aussi amliorer les performances en rduisant le nombre
dinterdpendances dans vos formules. Pour plus dinformations sur la conception
des formules, reportez-vous la section Contrle du recalcul des formules page 84.
Remplacement de f ormules prot ges
Lapplication Visio comporte une fonction PROTECTION qui protge des
modifications la formule dune cellule. Si la formule dune cellule est protge avec
PROTECTION, tenter de paramtrer la formule avec la proprit Formula, Result ou
ResultIU provoque une erreur. Vous pouvez, en revanche, modifier la formule de la
cellule comme suit :
Utilisez ResultForce ou ResultIUForce la place de Result ou de ResultIU.
Utilisez FormulaForce la place de Formula.
Soyez vigilants lors du remplacement de formules protges. Souvent, un dveloppeur
de formes protge les formules dune forme de base afin de prserver son
comportement intelligent des modifications accidentelles par un utilisateur. Si vous
remplacez ces formules, la forme peut ne plus avoir son comportement dorigine.
ce1LocP1hX.Pesu1f|"pouces") = ce1LocP1hX.Pesu1f|"pouces")
348 CHAP I TRE 17
Exemple dut ilisat ion de f ormules pour dplacer des f ormes
Cet exemple de programme dplace les formes slectionnes dans la fentre active en
paramtrant des formules pour laxe dune forme en deux dimensions (2D) ou pour
les points de dpart ou de fin dune forme en une dimension (1D). Le programme
utilise un formulaire utilisateur avec quatre boutons qui appellent la sous-routine
Nudge avec les paramtres affichs.
Sub hudge |dx As 0oub1e, dy As 0oub1e)
vo1c1 commehf acf1ve
0p1ace 0, -10escehde d`uhe uh1f
0p1ace -1, 00p1ace d`uhe uh1f ves 1a gauche
0p1ace 1, 00p1ace d`uhe uh1f ves 1a do1fe
0p1ace 0, 1Pemohfe d`uhe uh1f
0h Eo CoTo 1b1E
01m se10b As v1s1o.Se1ecf1oh
01m shp0b As v1s1o.Shape
01m uh1f As 0oub1e
01m 1 As Thfege
Efab11 1`uh1f de base |uh pouce)
uh1f = 1
Sef se10b = Acf1veW1hdoW.Se1ecf1oh
S1 1a s1ecf1oh esf v1de 11 h`y a 1eh a fa1e.
S1hoh, dp1ace chaque obef de 1a s1ecf1oh a a1soh d`uhe uh1f :
Io 1 = 1 To se10b.Couhf
Sef shp0b = se10b|1)
0ebug.P1hf "hudge " shp0b.hame " |" shp0b.hameT0 ")"
Tf |hof shp0b.0he0) Theh
shp0b.Ce11s|"AxeX").Pesu1fTu = |dx " uh1f) + shp0b.Ce11s|"AxeX").Pesu1fTu
shp0b.Ce11s|"AxeY").Pesu1fTu = |dy " uh1f) + shp0b.Ce11s|"AxeY").Pesu1fTu
E1se
shp0b.Ce11s|"0pafX").Pesu1fTu = |dx " uh1f) +
shp0b.Ce11s|"0pafX").Pesu1fTu
shp0b.Ce11s|"0pafY").Pesu1fTu = |dy " uh1f) +
shp0b.Ce11s|"0pafY").Pesu1fTu
shp0b.Ce11s|"I1hX").Pesu1fTu = |dx " uh1f) + shp0b.Ce11s|"I1hX").Pesu1fTu
shp0b.Ce11s|"I1hY").Pesu1fTu = |dy " uh1f) + shp0b.Ce11s|"I1hY").Pesu1fTu
EhdTf
hexf 1
Ex1f Sub
1b1E:
Ehd Sub
AUTOMATI SATI ON DES FORMUL ES 349
Ut ilisat ion des sect ions et des lignes
Vous pouvez modifier certaines caractristiques dune forme, dun style, dune page,
dune forme de base ou dun document en ajoutant et en supprimant des sections et
des lignes. Vous pouvez aussi effectuer une itration dans les sections ou dans les
lignes pour effectuer la mme opration sur chaque lment, comme lnumration
de toutes les formules de gomtrie dune forme.
Ajout de sect ions et de lignes
En gnral, vous souhaiterez ajouter une section complte une forme. Par exemple,
vous pouvez ajouter une section Gomtrie pour crer une forme avec plusieurs
chemins ou une section Montage qui serve de zone de travail pour la cration de
formules complexes. Avant de pouvoir utiliser une nouvelle section, vous devez y
ajouter au moins une ligne. En fonction du type de ligne que vous ajoutez, vous
pouvez aussi avoir besoin de paramtrer les formules des cellules dans la ligne.
Pour ajouter une section, utilisez la mthode AddSection dun objet Shape. Par
exemple, pour ajouter une section Montage une forme :
Pour ajouter une ligne une section, utilisez la mthode AddRow et spcifiez la
section, la ligne et ltiquette de ligne. Lorsque vous ajoutez une ligne une section
Gomtrie, ltiquette de ligne indique le type de ligne ajouter ; par exemple,
visTagLineTo indique une ligne TraitVers. Largument de ltiquette de ligne est tout
dabord utilis pour ajouter des lignes la section Gomtrie. Pour la plupart des
autres sections, utilisez une tiquette de ligne de 0 comme emplacement. Par exemple,
pour ajouter une ligne une section Montage :
shp0b.AddSecf1oh v1sSecf1ohScafch
shp0b.AddPoW v1sSecf1ohScafch, v1sPoWScafch + 0, 0
350 CHAP I TRE 17
Les constantes des tiquettes de ligne sont dfinies dans la bibliothque de types Visio
dans la zone VisRowTags. Le tableau suivant rpertorie les tiquettes de ligne et la
ligne quelles reprsentent dans la section Gomtrie dune fentre ShapeSheet

.
Une forme peut disposer dune seule section par type, sauf pour Gomtrie. Si une
forme dispose dj dune section particulire et si vous tentez den ajouter une autre,
vous obtenez une erreur. Vous pouvez utiliser la proprit SectionExists pour savoir
si elle dispose dune section, et lajouter ensuite si besoin est.
REMARQUE : vous ne pouvez pas ajouter ni supprimer des lignes de visSectionCharacter,
visSectionParagraph, visSectionTextField ou visSectionTab.
Etiquette de ligne Ligne de gomtrie
visTagComponent Affichage des proprits
visTagMoveTo Ligne DplacerVers (cellules X et Y dans une
ligne Dpart)
visTagLineTo Ligne TraitVers
visTagArcTo Ligne ArcVers
visTagEllipticalArcTo Ligne ArcElliptiqueVers
visTagSplineBeg Ligne DbutSpline
visTagSplineSpan Ligne NoeudSpline
visTagEllipse Ligne Ellipse
visTagInfiniteLine Ligne LigneI nfinie
visTagPolylineTo Ligne PolyligneVers
visTagNURBSTo Ligne NURBSVers
AUTOMATI SATI ON DES FORMUL ES 351
Exemple dajout dune sect ion Gomt rie une f orme
Dans un dessin Visio, une forme de base est constitue de zro, un ou plusieurs
composants, ou chemins. Chaque chemin est une squence de segments relis. Dans
la plupart des formes, un segment est soit un segment de ligne, soit un segment darc,
qui peut tre un arc dellipse. Chaque chemin est reprsent par une section
Gomtrie et chaque segment par une ligne de cette section.
Pour ajouter une section Gomtrie une forme, utilisez la mthode AddSection avec
visSectionFirstComponent pour linsrer avant les sections Gomtrie existantes ou
visSectionLastComponent pour lajouter aprs ces mmes sections. Par exemple,
pour ajouter une section Gomtrie aprs les sections Gomtrie existantes :
Aprs avoir ajout une section Gomtrie, vous devez ajouter au moins deux lignes
(les lignes ne sajoutent pas automatiquement une section ajoute partir dun
programme). Utilisez la mthode AddRow avec les tiquettes de ligne suivantes :
visTagComponent dtermine les proprits daffichage du composant dfini par
la section Gomtrie. Il doit sagir de la premire ligne de chaque section
Gomtrie.
visTagMoveTo, visTagEllipse ou visTagInfiniteLine dterminent le premier
sommet, cest--dire le point de dpart du composant. Il doit sagir de la seconde
ligne de chaque section Gomtrie. La ligne visTagEllipse ou visTagInfiniteLine
est la ligne finale car les ellipses et les lignes infinies sont reprsentes par des
sections dune seule ligne.
Les tiquettes de ligne visTagLineTo, visTagArcTo, visTagEllipticalArcTo,
visTagMoveTo, visTagPolylineTo ou visTagNURBSTo vous permettent dajouter
des lignes de sommet supplmentaires. Chaque ligne de sommet dfinit les
coordonnes locales dun sommet et le type de segment qui relie ce sommet au
prcdent.
Avec les tiquettes de ligne visTagSplineBeg et visTagSplineSpan, vous pouvez
ajouter des lignes de spline. Faites prcder la ligne de dpart de la spline
(visTagSplineBeg) dune ligne de dpart (visTagMoveTo) ou dune ligne de sommet
et utilisez visTagSplineSpan pour ajouter des lignes de noeuds de spline.
shp0b.AddSecf1oh v1sSecf1ohLasfCompohehf
352 CHAP I TRE 17
La procdure suivante insre une section Gomtrie avant les sections Gomtrie
existantes dune forme. Elle ajoute la ligne de composant, la ligne DplacerVers et
quatre lignes TraitVers (il sagit des lignes gnralement utilises pour dfinir une
ligne droite). Elle paramtre ensuite les formules des cellules dans chaque ligne pour
que la ligne soit trace diagonalement dans le plan largeur-hauteur de la forme.
Lillustration suivante montre la forme avant et aprs linsertion de la section
Gomtrie.
Insertion dune section Gomtrie
dans une forme
Sub AoufComf1e |)
01m shp0b As v1s1o.Shape
01m 1Secf1oh As Thfege
01m 1 As Thfege
M1se eh oeuve d`uh "gesf1ohha1e d`eeu" pou fa1fe 1`eeu s1 aucuhe fome h`esf s1ecf1ohhe
0h Eo CoTo ehoShp
Sef shp0b = Acf1veW1hdoW.Se1ecf1oh|1)
0h Eo CoTo 0
1Secf1oh = shp0b.AddSecf1oh|v1sSecf1ohI1sfCompohehf)
shp0b.AddPoW 1Secf1oh, v1sPoWI1sf + 0, v1sTagCompohehf
shp0b.AddPoW 1Secf1oh, v1sPoWvefex + 0, v1sTagMoveTo
Io 1 = 1 To 4
shp0b.AddPoW 1Secf1oh, v1sPoWvefex + 1, v1sTagL1heTo
hexf 1
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 0, v1sX).Iomu1a = "Lageu " 0.2S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 0, v1sY).Iomu1a = "haufeu " 0.S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 1, v1sX).Iomu1a = "Lageu " 0.S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 1, v1sY).Iomu1a = "haufeu " 0.2S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 2, v1sX).Iomu1a = "Lageu " 0.7S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 2, v1sY).Iomu1a = "haufeu " 0.S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 3, v1sX).Iomu1a = "Lageu " 0.S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 3, v1sY).Iomu1a = "haufeu " 0.7S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 4, v1sX).Iomu1a = "Comf1e1.X1"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 4, v1sY).Iomu1a = "Comf1e1.Y1"
u1ffe 1a pocdue sahs passe dahs 1e gesf1ohha1e d`eeu
Ex1f Sub
ehoShp:
Msgox "S1ecf1ohhez uhe fome ef ecommehcez.", vb0K0h1y, 0vSTTTLE
Ehd Sub
AUTOMATI SATI ON DES FORMUL ES 353
Remarquez que visRowVertex sans dcalage ou avec un dcalage de 0 renvoie la
ligne DplacerVers. Lors de lajout des lignes de sommet, ajoutez toujours un dcalage
dune valeur au moins gale 1 visRowVertex de manire ce que vous ne
remplaciez pas par inadvertance la ligne DplacerVers ; vous vitez ainsi tout
comportement imprvisible de la forme. Pour crer un intervalle, vous pouvez insrer
des lignes DplacerVers supplmentaires dans la mme section Gomtrie. Pour plus
dinformations sur lutilisateur des formules de la section Gomtrie, reportez-vous
au chapter 5, Contrle de la gomtrie des formes laide de formules , ou
recherchez section Gomtrie dans laide en ligne fournie avec Visio.
Suppression de sect ions et de lignes
La suppression dune section supprime automatiquement toutes ses lignes et ses
cellules. Vous pouvez supprimer toutes les sections sauf visSectionObj ; vous pouvez
nanmoins supprimer des lignes de cette section. Pour supprimer une section, utilisez
la mthode DeleteSection dun objet Shape. Par exemple, linstruction suivante
supprime la section Montage dune forme :
La suppression dune section qui nexiste pas nentrane pas derreur.
Vous pouvez aussi supprimer une ligne dune section, sauf celles des sections
visSectionParagraph, visSectionCharacter, visSectionTextField et visSectionTab.
Par exemple, vous pouvez supprimer le sommet dune forme en supprimant la ligne
qui le dfinit dans la section Gomtrie de la forme. Linstruction suivante supprime
le dernier sommet dun rectangle :
Suppression de la ligne dun
sommet
A Ce sommet est reprsent par visRowVertex + 3.
B Aprs la suppression de la ligne du sommet, la forme change daspect.
shp0b.0e1efeSecf1oh v1sSecf1ohScafch
shp0b.0e1efePoW v1sSecf1ohI1sfCompohehf + 0, v1sPoWvefex + 3
A
B
354 CHAP I TRE 17
Modif icat ion du t ype dun segment
Vous pouvez dfinir un segment sous la forme dune ligne, dun arc dellipse, dune
courbe spline, dune ellipse, dune ligne infinie, dune polyligne, dune ligne
DplacerVers ou NURBS en paramtrant le type de la ou des lignes qui reprsentent le
segment. A partir du programme, vous pouvez effectuer cette opration en
paramtrant la proprit RowType de lobjet Shape.
Par exemple, linstruction suivante convertit le premier segment dune forme en un
segment de ligne.
Modification du type de ligne pour
une ligne de sommet
A Ce segment darc est reprsent par visRowVertex + 1.
B Une fois que le type de ligne est modifi, la forme change daspect.
shp0b.PoWType|v1sSecf1ohI1sfCompohehf + 0,
v1sPoWvefex + 1) = v1sTagL1heTo
A B
AUTOMATI SATI ON DES FORMUL ES 355
Exemple dit rat ion dans une collect ion de sect ions et de
lignes
Vous pouvez effectuer la mme opration sur plusieurs sections ou plusieurs lignes
laide dune itration, les proprits de lobjet Shape permettant de limiter la boucle :
GeometryCount reprsente le nombre de sections Gomtrie dune forme.
RowCount reprsente le nombre de lignes dune section.
RowsCellCount reprsente le nombre de cellules dune ligne.
Lexemple suivant effectue une itration dans les lignes et les cellules dune section
Gomtrie dune forme et utilise CellsSRC pour extraire chaque cellule. Il affiche
ensuite chaque formule de cellule dans une zone de liste sur un formulaire utilisateur.
Pour obtenir la liste des constantes de positions logiques, reportez-vous lAnnexe B,
Indices de section, de ligne et de cellule ShapeSheet .
Sub Tfaf1ohComf1e |)
Cef exemp1e suppose que 1a page acf1ve cohf1ehf uhe fome
01m shp0b As v1s1o.Shape 0bef Shape
01m cuCeomSecf As Thfege humo de secf1oh pou accde
a 1a secf1oh de gomf1e
01m cuCeomSecfThdx As Thfege va1ab1e de bouc1e pou 1es secf1ohs
de gomf1e
01m hPoWs As Thfege hombe de 11ghes dahs uhe secf1oh
01m hCe11s As Thfege hombe de ce11u1es dahs uhe 11ghe
01m cuPoW As Thfege humo de 11ghe |a paf1 de 0)
01m cuCe11 As Thfege Thdex de ce11u1e couahfe |a paf1 de 0)
01m hSecfs As Thfege hombe de secf1ohs de gomf1e dahs 1a
fome
Sef shp0b = Acf1vePage.Shapes|1)
useIom1.L1sfox1.C1ea
hSecfs = shp0b.CeomefyCouhf
Io cuCeomSecfThdx = 0 To hSecfs - 1
cuCeomSecf = v1sSecf1ohI1sfCompohehf + cuCeomSecfThdx
hPoWs = shp0b.PoWCouhf|cuCeomSecf)
Io cuPoW = 0 To |hPoWs - 1)
hCe11s = shp0b.PoWsCe11Couhf|cuCeomSecf, cuPoW)
Io cuCe11 = 0 To |hCe11s - 1)
useIom1.L1sfox1.AddTfem
shp0b.Ce11sSPC|cuCeomSecf, cuPoW, cuCe11).Loca1hame &
": " & shp0b.Ce11sSPC|cuCeomSecf, cuPoW, cuCe11).Iomu1a
hexf cuCe11
hexf cuPoW
hexf cuCeomSecfThdx
useIom1.ShoW
Ehd Sub
356 CHAP I TRE 17
Ut ilisat ion de donnes hrit es
Il arrive quune forme nait pas de copie locale de toutes ses donnes figurant dans la
fentre ShapeSheet

ou des donnes auxquelles vous accdez partir du programme.


La forme se comporte comme si les donnes taient locales, mais certaines peuvent
tre hrites dune forme de base ou dun style.
Toutes les oprations que vous effectuez lors de laddition, de la modification ou de la
suppression des donnes se font localement. Si les donnes nexistent pas localement,
en dautres termes si la forme hrite des donnes dune forme de base ou dun style, le
moteur Visio cre dabord une copie locale des donnes, puis excute laction
demande. Une fois que les donnes existent localement, lhritage de ces donnes est
rompu et les modifications des donnes dans la forme de base nont pas dincidence
sur les donnes locales de la forme.
Par exemple, si une forme est une occurrence dune forme de base qui comporte des
points de connexion, la forme hrite des points de connexion de la forme de base. Les
points de connexion de la forme ont le mme comportement que ceux de la forme de
base et sa section Points de connexion affiche dans la fentre ShapeSheet est hrite
de la forme de base. En revanche, la forme ne possde pas de copie locale des donnes
Points de connexion ; la place, elle hrite des donnes de la forme de base. Si vous
tentez de supprimer la section Points de connexion de cette forme, les donnes Points
de connexion ne changent pas car il nexiste pas de copie locale supprimer, et la
forme continue hriter des donnes Points de connexion de la forme de base.
Pour remplacer lhritage dune section tout entire, supprimez toutes les lignes de la
section ou lintgralit de la section et ajoutez une nouvelle section vierge du mme
type. Dans le dernier cas, supprimez la section pour vous assurer quaucune copie
locale nexiste dj car une erreur surviendrait si vous essayiez dajouter la section.
Pour rtablir une section hrite, supprimez la copie locale. La forme hrite alors
nouveau de cette section de la forme de base ou du style.
CONSEIL : lors des premires utilisations de Microsoft

Visio

2000, les formes hritent des


formules gomtriques de la forme de base, ce qui permet dobtenir des formes plus petites
et plus rapides. Comme lindiquent les informations ci-dessus, tous les remplacements
locaux de ces formules gomtriques font que la forme rcupre une copie locale et
augmente en taille. Pour cette raison, veillez apporter les modifications importantes la
forme de base.
Sommaire
18
Crat ion de dessins
par aut omat isat ion
Quel que soit le dessin ralis, vous devez gnralement suivre certaines tapes dans
votre programme. Vous ajoutez des formes au dessin, en gnral en faisant glisser des
formes de base dun gabarit. Vous dterminez lemplacement des formes et pouvez
calculer leur position laide de donnes externes.
Le prsent chapitre dcrit les techniques fondamentales entrant en jeu dans la cration
dun dessin depuis un programme, notamment lutilisation des formes, des pages
darrire-plan et des calques. Si vos dessins comprennent des formes connectes,
reportez-vous au chapitre 19, Automatisation des connexions dune solution
Visio . Pour plus dinformations sur lassociation de donnes aux formes dun
dessin, reportez-vous au chapitre 20, Intgration de donnes et dune solution
Visio .
Cration automatise de dessins laide de formes de base............................ 358
Choix de la position des formes sur un dessin.................................................... 361
Utilisation de formes slectionnes ..................................................................... 363
Pages darrire-plan............................................................................................... 367
Calques.................................................................................................................... 371
358 CHAP I TRE 18
Crat ion aut omat ise de dessins laide de f ormes de base
Pour crer des formes depuis un programme, le plus simple est dinsrer des formes
de base dun gabarit dans la page de dessin. Une forme de base, directement utilisable
dans un dessin, occasionne trs peu de traitement dans votre programme. Vous
pouvez utiliser les formes de base des gabarits que vous dveloppez et diffusez avec
votre programme, ou celles des gabarits accompagnant le programme Microsoft


Visio

.
Pour insrer une f orme de base dans une page :
1 Crez un objet Document reprsentant le gabarit qui contient la forme de base
placer.
2 Crez un objet Master reprsentant cette forme de base.
3 Crez un objet Page reprsentant la page de dessin dans laquelle insrer la forme
de base.
Rcuprat ion du gabarit
Vous pouvez rcuprer une rfrence tout gabarit ouvert en lextrayant de la
collection Documents de lobjet Application. Par exemple
Lexemple ci-dessus utilise une variable nomme stnObj plutt que docObj pour
distinguer les gabarits des autres types de fichier. Cette convention peut permettre
dviter des erreurs ultrieures.
Comme dans toutes les oprations sur des fichiers, il est prfrable de vrifier que le
gabarit est disponible avant dessayer de lutiliser. Linstruction Set prcdente
renvoie une erreur si Formes de base.vss nest pas ouvert. Pour vrifier ce point,
procdez comme suit :
Sef sfh0b = 0ocumehfs|"Iomes de base.vss)
S1 1e f1ch1e h`esf pas ouvef, ouvez-1e
0h Eo Pesume hexf
L1e uhe fehce dahs 1`obef Sfehc11 |Caba1f)
Sef sfh0b = 0ocumehfs|"Iomes de base.vss")
Le gaba1f h`fa1f pas ouvef, 11 fauf 1`ouv1
Tf sfh0b = hofh1hg Theh
0pehEx h`a pas pu ouv1 1e f1ch1e
0h Eo Co To e111handJe1
Sef sfh0b = 0ocumehfs.0pehEx |"Iomes de base.vss", v1s0pehP0)
Ehd Tf
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 359
Un gabarit est gnralement enregistr en lecture seule pour viter toute
modification ; lutilisateur peut nanmoins ouvrir loriginal et modifier lespace de
travail, ou dplacer ou supprimer un fichier, ce qui pourrait influer sur le nombre de
gabarits ouverts durant lutilisation du modle.
Rcuprat ion de la f orme de base
Un objet Document comporte une proprit Masters qui renvoie une collection
Masters regroupant les formes de base du gabarit du document. Vous pouvez faire
rfrence un objet Master par son nom ou par son indice dans la collection Masters.
Par exemple :
Une erreur commune consiste accder la collection Masters du fichier de dessin
plutt qu celle du fichier de gabarit. Tous les documents Visio possdent un gabarit ;
cest pourquoi tous les objets Document ont une collection Masters. Cependant, la
collection Masters dun fichier de dessin contient seulement les formes de base dj
insres dans le dessin ; ainsi, la collection Masters dun nouveau document est
gnralement vide. Quoi quil en soit, cette collection Masters risque fort de ne pas
contenir la forme de base qui vous intresse. Si votre programme ne parvient pas
accder un objet Master, vrifiez que vous le recherchez bien dans le fichier de
gabarit, et non dans le fichier de dessin.
Insert ion de la f orme de base dans la page
Pour insrer une forme de base dans une page, vous devez tout dabord rcuprer
lobjet Page reprsentant la page de dessin, puis appliquer la mthode Drop de cet
objet. La mthode Drop quivaut dposer une forme laide de la souris. La
mthode Drop reconnat trois arguments : une rfrence un objet et un couple de
coordonnes indiquant o placer laxe de lobjet sur la page de dessin si cet objet est
une forme de base. Dans les autres cas, le couple de coordonnes indique le centre du
plan largeur-hauteur de lobjet.
Les coordonnes sont mesures depuis langle infrieur gauche de la page. Dans notre
exemple, les valeurs 4,25 et 5,5 placent laxe de la forme au centre dune page de dessin
de 8po. sur 11 po. dans un dessin sans chelle. (Dans un dessin chelle, vous
indiquez les coordonnes en units de dessin exprimes en pouces. Par exemple, si
lchelle de dessin est de 1 pied = 1 pouce, vous indiqueriez les coordonnes 51, 66
pour placer la forme au centre de la page.) Pour plus dinformations sur les
coordonnes des formes, reportez-vous au chapitre 2, Cration de formes Visio .
Sef masf0b = sfh0b.Masfes|"Efo11e S")
Sef pag0b = Th1s0ocumehf.Pages|1)
Sef shp0b = pag0b.0op|masf0b, 4.2S, S.S)
360 CHAP I TRE 18
Laxe de la forme est plac aux
coordonnes 4,25, 5,5 (A) indiques
avec la mthode Drop.
s
Pour plus de simplicit, cet exemple place une forme au milieu de la page de dessin et
utilise des constantes pour indiquer sa position. La dtermination de la position des
formes peut cependant tre complexe, notamment dans un diagramme connect avec
de nombreuses formes. Une approche possible est prsente la section Choix de la
position des formes sur un dessin , page 361.
Outre linsertion de formes de base dans une page de dessin, la mthode Drop permet
galement deffectuer les oprations suivantes :
Cration dune forme partir dune forme existante.
Ajout dune forme un groupe.
Cration dune forme de base la vole par insertion dune forme dans un gabarit
(le fichier de gabarit doit tre ouvert avec loption Original, et non Lecture seule).
Modification dune forme de base par insertion dun objet dans une forme de base
ouverte.
Pour insrer plusieurs formes, appliquez la mthode DropMany, qui quivaut
dposer plusieurs formes laide de la souris.
REMARQUE : lorsquun programme dessine ou insre une forme dans un dessin
lchelle, il doit convertir les coordonnes des mesures du dessin en pouces. Par exemple,
linstruction suivante trace un rectangle de 3 pieds, 4 5 pieds, et 6 pieds sur un dessin
mis lchelle en pouces :
Pag0b.0aWPecfahg1e|36, 4, 60, 72)
1 2 3 4
1
1
1
0
9
8
5 6 7 8
7
6
5
4
3
2
1
0
0
A
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 361
Choix de la posit ion des f ormes sur un dessin
Le calcul de la position des formes peut tre lune des tches les plus complexes dun
programme crant des dessins Visio, notamment dans des diagrammes connects et
dans les autres dessins comportant des relations complexes entre les formes. Lobjectif
final reste le mme : vous devez calculer deux coordonnes de page pour toutes les
formes places sur la page de dessin. Lapproche adopte dpend du type de dessin
crer et des donnes qui le sous-tendent.
Par ailleurs, Visio propose des fonctionnalits de prsentation automatique
contrlant le mode dinteraction entre les formes et les liens reliant ces formes dans le
dessin. Vous pouvez afficher les paramtres de prsentation par dfaut dans les
sections Mise en page et Mise en page des formes de la fentre Feuille ShapeSheet

.
Vous pouvez personnaliser ces paramtres dans votre programme laide des
formules de ces sections. Pour plus dinformations sur les formes et leur prsentation
automatique, reportez-vous la section Cration de formes et mise en page
automatique , page 243. Pour plus dinformations sur les sections Mise en page et
Mise en page des formes, reportez-vous laide en ligne Rfrence du dveloppeur
(accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
La procdure CreateDrawing suivante prsente un exemple de positionnement des
formes dans un diagramme de rseau simple. Cet exemple lit les donnes dans un
tableau en deux dimensions (le premier lment du tableau rpertorie le nom dune
forme de base du gabarit Formes de rseau de base 3D, et le second correspond au
libell de la forme). CreateDrawing positionne un concentrateur au centre de la page,
puis les autres composants en cercle autour de ce concentrateur.
Cet exemple prsente plusieurs techniques de positionnement des formes,
notamment les suivantes :
Pour placer le concentrateur au centre de la page, le programme utilise les valeurs
des cellules HauteurPage et LargeurPage de la feuille de page.
Pour espacer les formes rgulirement autour du concentrateur, la variable
dblDegreeInc a t calcule en fonction du nombre dlments prsents dans le
tableau. Cette variable a ensuite servi dfinir les coordonnes x et y pour insrer
la forme.
Remarquez lutilisation des proprits de feuille de page pour obtenir des
informations sur le positionnement sur la page. Par ailleurs, les formes sont
rgulirement espaces autour du concentrateur grce la variable dblDegreeInc qui
permet de calculer les coordonnes x et y en fonction du nombre dlments du
tableau.
362 CHAP I TRE 18
REMARQUE : pour calculer les coordonnes de page visibles dans la fentre de dessin,
appliquez la mthode GetViewRect de lobjet window. Vous pouvez utiliser ces
coordonnes pour positionner les formes au centre de la fentre. Pour plus dinformations,
reportez-vous la section relative la mthode GetViewRect dans laide en ligne
Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur) fournie
avec Visio.
Pub11c Sub Crea1e0raW1ng|ahef0afa As Sf1hg)
01m shp0bhu As v1s1o.Shape
01m shp0bhodes As v1s1o.Shape
01m msf0b As v1s1o.Masfe
01m sfh0b As v1s1o.0ocumehf
01m db1X, db1Y As 0oub1e
01m db10egeeThc As 0oub1e
01m db1Pad As 0oub1e
01m db1PageW1dfh, db1Pagehe1ghf As 0oub1e
01m 1 As Thfege
Cohsf PT = 3.141S
Cohsf C1c1ePad1us = 2
01v1se 1e cec1e pa 1e hombe d`obefs dahs 1e fab1eau. A1hs1 11s sohf gu11emehf espacs
db10egeeThc = 360 / uouhd|ahef0afa)
L1e 1es pop1fs PageW1dfh ef Pagehe1ghf
db1PageW1dfh = Acf1vePage.PageSheef.Ce11s|"LageuPage").Pesu1fTu
db1Pagehe1ghf = Acf1vePage.PageSheef.Ce11s|"haufeuPage").Pesu1fTu
0uv1 1e gaba1f fome de seau de base 30
Sef sfh0b = App11caf1oh.0ocumehfs.0pehEx|"as1c hefWok Shapes 30.vss", v1s0peh0ocked)
Ta1fe 1a fome hub/commufafeu
Sef msf0b = sfh0b.Masfes|ahef0afa|0, 0))
Sef shp0bhu = Acf1vePage.0op|msf0b, db1PageW1dfh / 2, db1Pagehe1ghf / 2)
0f1h1 1e fexfe de 1a fome hub/commufafeu
shp0bhu.Texf = ahef0afa|0, 1)
Ta1fe 1es hoeuds
Io 1 = 1 To uouhd|ahef0afa)
Sef msf0b = sfh0b.Masfes|ahef0afa|1, 0))
I1xe 1es va1eus X, Y pou p1acemehf |dahs uh cec1e aufou du hub/commufafeu)
db1Pad = |db10egeeThc " 1) " PT / 10
db1X = C1c1ePad1us " Cos|db1Pad) + |db1PageW1dfh / 2)
db1Y = C1c1ePad1us " S1h|db1Pad) + |db1Pagehe1ghf / 2)
Aoufe, au boh ehdo1f, 1a fome au dess1h
Sef shpob = Acf1vePage.0op|msf0b, db1X, db1Y)
0f1h1 1e fexfe de 1a fome
shpob.Texf = ahef0afa|1, 1)
hexf
Ehd Sub
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 363
Ut ilisat ion de f ormes slect ionnes
Vous pouvez accder aux proprits et aux mthodes dune forme partir dun
programme, que la forme soit slectionne ou non. Vous pouvez galement crer un
objet Selection pour travailler sur plusieurs formes. Lobjet Selection est similaire
une collection Shapes car il reprsente un ensemble dobjets Shape, et comporte des
proprits Item et Count. Un objet Selection ne reprsente cependant que les formes
slectionnes.
Objet Selection et objets connexes
un niveau suprieur du modle
dobjet de Visio
Vous pouvez obtenir un objet Selection reprsentant les formes slectionnes dans
une fentre ou en crer en choisissant les formes qui y figurent dans une collection
Shapes. Lordre des lments dans un objet Selection correspond lordre de la
slection des objets. Le premier lment renvoy est la premire forme slectionne.
Obt ent ion des f ormes slect ionnes dans une f ent re
Pour travailler sur les formes slectionnes dans la fentre, lisez la proprit Selection
de lobjet window.
Window.Selection reprsente les
formes slectionnes dans la
fentre de dessin.
Global
Application
Window
Windows
Selection
ActiveWindow
Windows
364 CHAP I TRE 18
Lexemple suivant obtient lobjet Selection de la fentre active :
Si toutes les formes dune page sont slectionnes, lobjet Selection de la fentre et la
collection Shapes de la page rassemblent les mmes formes. Si rien nest slectionn,
lobjet Selection est vide et sa proprit Count renvoie 0. Sil est ncessaire pour le
programme quune forme soit slectionne, vous pouvez tester la proprit Selection
de la fentre active pour vrifier quelle contient au moins un objet.
Un objet Selection rcupr dans une fentre reprsente les formes slectionnes dans
la fentre. Les instructions ultrieures modifiant la slection dans la fentre nont
aucune incidence sur lobjet Selection rcupr.
Si la mme page de dessin est affiche dans plusieurs fentres, vous pouvez
slectionner des formes diffrentes dans chaque fentre.
Par dfaut, seuls les groupes et les formes slectionns sont inclus dans lobjet
Selection ; les formes slectionnes lintrieur dun groupe ne sont pas incluses.
Pour inclure les formes slectionnes lintrieur dun groupe (une forme enfant
dans un groupe) ou un groupe parent dune forme, vous pouvez modifier les
paramtres par dfaut de la proprit IterationMode de lobjet Selection. Pour
obtenir des informations sur lobjet Selection et ses proprits, reportez-vous laide
en ligne Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
se1ecf0b = Acf1veW1hdoW.Se1ecf1oh
Sef se1ecf0b = Acf1veW1hdoW.Se1ecf1oh
Tf se1ecf0b.Couhf = 0 Theh
Msgox "vous devez d`abod s1ecf1ohhe uhe fome.", , "S1ecf1ohhe uhe
fome"
E1se
Pousu1ve 1e fa1femehf
Ehd Tf
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 365
Ajout et suppression de f ormes dans les slect ions
Pour ajouter un lment une slection, appliquez la mthode Select correspondante
et indiquez lobjet Shape slectionner. Vous pouvez ajouter une forme une
slection ou annuler sa slection sans affecter les autres formes slectionnes.
Les constantes visSelect et visDeselect, dfinies dans la bibliothque de types de Visio,
contrlent laction excute. Par exemple, linstruction suivante ajoute une forme
celles figurant dj dans lobjet Selection :
Linstruction suivante annule la slection de cette forme :
Pour slectionner une forme dfinie explicitement :
Slect ion et dslect ion de f ormes dans une f ent re
Pour slectionner une forme dans la fentre dun programme, appliquez la mthode
Select de lobjet window et indiquez lobjet Shape slectionner. Vous pouvez ajouter
une forme une slection ou dslectionner une forme sans affecter les autres formes
slectionnes. Par exemple, linstruction suivante ajoute une forme celles dj
slectionnes dans la fentre de dessin :
Pour slectionner toutes les formes dune page de dessin, appliquez la mthode
SelectAll de lobjet window ; pour dslectionner toutes les formes slectionnes,
appliquez la mthode DeselectAll. Si vous rcuprez un objet Selection aprs
lutilisation de SelectAll, le nouvel objet Selection inclut un objet Master pour
chaque forme de la page de dessin affiche dans la fentre. Si vous rcuprez un objet
Selection aprs lutilisation de DeselectAll, le nouvel objet Selection est vide.
se10b.Se1ecf shp0b,v1sSe1ecf
se10b.Se1ecf shp0b,v1s0ese1ecf
se10b.Se1ecf shp0b, v1sSe1ecf + v1s0ese1ecfA11
W1h0b.Se1ecf shp0b,v1sSe1ecf
366 CHAP I TRE 18
Excut ion doprat ions sur les f ormes slect ionnes
Une fois que vous disposez dun objet Selection, vous pouvez appliquer aux formes
slectionnes des oprations similaires aux actions excutes dans une fentre de
dessin.
Par exemple, vous pouvez appliquer les mthodes Copy, Cut, Delete ou Duplicate
dun objet window ou Selection pour copier, couper, supprimer ou dupliquer des
formes slectionnes :
Vous pouvez galement excuter des oprations boolennes, telles que lunion, la
combinaison et la fragmentation laide des mthodes Union, Combine et
Fragment. Ces mthodes correspondent aux commandes Union, Combinaison et
Fragmentation de Visio, qui crent une ou plusieurs formes remplaant les formes
slectionnes :
Avant dutiliser Union, Combine ou Fragment, vrifiez que seules les formes
modifier sont slectionnes. Ces mthodes suppriment les formes dorigine, toutes les
formules intelligentes disparaissent et lobjet Selection reprsentant les formes nest
plus courant.
Pour obtenir des informations sur lutilisation de lobjet Selection ainsi que sur les
objets, proprits et mthodes mentionns ici, reportez-vous laide en ligne
Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur)
fournie avec Visio.
Df init ion de la port e dune slect ion
Pour dterminer si un objet Selection rcupre ses formes dans un objet Page, Master
ou Shape (groupe), vrifiez les proprits ContainingPage, ContainingMaster et
ContainingShape de lobjet Selection.
Si les formes sont sur une page, la proprit ContainingPage renvoie cet objet
Page et ContainingMaster renvoie Nothing.
Si les formes sont dans une forme de base, la proprit ContainingMaster renvoie
cet objet Master et ContainingPage renvoie Nothing.
Si les formes sont dans un groupe, la proprit ContainingShape renvoie un objet
Master reprsentant le groupe. Sinon, cette proprit renvoie un objet Master qui
reprsente la feuille de page de la forme de base ou la page contenant ces formes.
se1ecf0b.0e1efe
se1ecf0b.uh1oh
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 367
Pages darrire-plan
Un document Visio peut contenir plusieurs pages. Chaque page dun document peut
contenir un dessin diffrent, mais certaines pages peuvent galement tre
larrire-plan dautres pages.
Vous pouvez crer un document multipage depuis un programme en ajoutant des
pages et en leur associant des arrire-plans. Vous pouvez galement modifier des
paramtres de page tels que lchelle du dessin, ou la hauteur et la largeur du dessin.
Crat ion et associat ion de pages darrire-plan
Pour quun ensemble de formes apparaisse dans plusieurs dessins, vous pouvez le
placer sur une page darrire-plan. Par exemple, si le programme cre des dessins sur
plusieurs pages, vous pouvez crer une page darrire-plan comportant des formes
den-tte et de pied de page, ou de bloc de titre et de bordure.
Vous pouvez associer la mme page darrire-plan plusieurs pages de premier plan.
Une page de premier plan ne peut avoir quune page darrire-plan, mais cette
dernire peut elle-mme avoir un arrire-plan. Vous pouvez donc construire un
dessin avec beaucoup de pages darrire-plan. Pour crer une page darrire-plan,
ajoutez une page au dessin et associez la valeur True la proprit Background. Par
exemple :
Pour associer la page darrire-plan une autre page pour que les formes de
larrire-plan apparaissent dans le fentre de dessin lorsque la page est affiche,
paramtrez la proprit BackPage de la page de premier plan sur le nom de la page
darrire-plan. Par exemple :
backPag0b.ackgouhd = Tue
pag0b.ackPage = "P1ah damhagemehf 1hf1eu"
368 CHAP I TRE 18
Exemple dit rat ion dans la collect ion Pages
Les lments dune collection Pages sont indexs partir des pages de premier plan
dans lordre dans lequel elles sont rpertories dans la bote de dialogue Redisposer les
pages, suivies des pages darrire-plan classes dans un ordre arbitraire. (Pour afficher
la bote de dialogue Redisposer les pages, cliquez avec le bouton droit sur un onglet de
page de la fentre de dessin, puis choisissez Redisposer les pages.)
Lexemple suivant excute une itration dans la collection Pages du document actif et
rpertorie les noms de toutes les pages de premier plan dans une zone de liste sur un
formulaire dutilisateur.
Exemple de conf igurat ion de pages et darrire-plans
Supposez que vous souhaitez crer un dessin multipage comportant une occurrence
de chaque forme de base dun gabarit. La procdure formValid cre la page
darrire-plan et dfinit une chelle et une taille de page correspondant lchelle des
formes de base du rapport.
Cette procdure rcupre les chelles de la forme de base et de la page darrire-plan
dans leur feuille de page respective. La variable globale gDocDraw a t pralablement
dfinie pour dsigner un nouveau document qui nest pas lchelle.
Sub TfeafePages |)
01m pags0b As v1s1o.Pages
01m pag0b As v1s1o.Page
Sef pags0b = Th1s0ocumehf.Pages
useIom1.L1sfox1.C1ea
Io Each pag0b Th pags0b
Tf pag0b.ackgouhd = Ia1se Theh
useIom1.L1sfox1.AddTfem pag0b.hame
Ehd Tf
hexf
useIom1.ShoW
Ehd Sub
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 369
Sub 1ormVa11d |)
Les dc1aaf1ohs ef 1hsfucf1ohs sahs appof sohf om1ses.
Toufes 1es fomes de base ohf 1a mme che11e.
Sef masfe = masfes|1)
Sef masfeSheef = masfe.Shapes|"LaPage")
0f1h1 1a Page eh a1e-p1ah.
Sef gPageack = g0oc0aW.Pages.Tfem|1)
gPageack.hame = STPACKCP0uh0
gPageack.ackgouhd = Tue
0f1h1 1`che11e ef 1a d1mehs1oh de 1a page d`a1e p1ah.
Sef pageSheef = gPageack.Shapes|"LaPage")
masfe0aW1hgSca1e = masfeSheef.Ce11s|"Eche11e0ess1h").Iomu1a
masfePageSca1e = masfeSheef.Ce11s|"Eche11ePage").Iomu1a
page0aW1hgSca1e = pageSheef.Ce11s|"Eche11e0ess1h").Iomu1a
pagePageSca1e = pageSheef.Ce11s|"Eche11ePage").Iomu1a
Aps avo1 cup 1es che11es de 1a fome de base ef de 1a page, fomva11d compae
1`che11e de 1a fome de base avec ce11e de 1a page. S1 e11es d1ffehf comme, pa exemp1e,
dahs 1e cas d`uh gaba1f de fomes ach1fecfua1es, fomva11d mef 1a page a 1`che11e de
`1a fome de base. Ceffe pocdue cohvef1f auss1 1a haufeu ef 1a 1ageu de page pou passe
de va1eus bufes a des va1eus a 1`che11e |lau!eu1Page " theJJe0ess1n / theJJePage).
Tf |masfe0aW1hgSca1e <> page0aW1hgSca1e 0 masfePageSca1e <> pagePageSca1e) Theh
Eche11e de dess1h = Ausfemehf
pageSheef.Ce11s|"TypeEche11e0ess1h").Iomu1a = 3
pageSheef.Ce11s|"Eche11e0ess1h").Iomu1a = masfe0aW1hgSca1e
pageSheef.Ce11s|"Eche11ePage").Iomu1a = masfePageSca1e
Ta111e du dess1h = 01mehs1ohs
daW1hgSca1e = masfeSheef.Ce11s|"Eche11e0ess1h")
pageSca1e = masfeSheef.Ce11s|"Eche11ePage")
pagehe1ghf = pageSheef.Ce11s|"haufeuPage")
pageW1dfh = pageSheef.Ce11s|"LageuPage")
pageSheef.Ce11s|"haufeuPage").Iomu1a = pagehe1ghf " daW1hgSca1e / pageSca1e
pageSheef.Ce11s|"LageuPage").Iomu1a = pageW1dfh " daW1hgSca1e / pageSca1e
Ehd Tf
Ehd Sub
370 CHAP I TRE 18
Modif icat ion des paramt res de page
En gnral, les programmes Microsoft

Visual Basic

pour Applications (VBA)


utilisent un modle Visio pour crer un dessin. Il est donc rarement ncessaire de
modifier les paramtres, tels que lchelle de dessin ou de page car le modle fournit
les valeurs appropries pour les dessins crs par votre programme. Si vous modifiez
ces paramtres, ou si vous crez un dessin sans modle et avec des paramtres
diffrents des valeurs par dfaut de Visio, vous pouvez changer les paramtres de la
page en modifiant les formules de page.
Pour modifier une formule de page, lisez la proprit PageSheet de lobjet Page, qui
renvoie un objet Shape indiquant les formules de la page. Utilisez ensuite la proprit
Cells de lobjet Shape pour extraire une cellule de page par son nom, comme vous le
feriez pour une forme sur la page de dessin.
Un objet Master comporte galement une proprit PageSheet permettant dobtenir
les mmes paramtres (chelle de dessin, chelle de page, etc.) pour la forme de base
et pour la page. Cela permet, par exemple, de savoir si lchelle dune forme de base
est approprie pour la page de dessin avant dinsrer la forme dans la page de dessin.
REMARQUE : vous pouvez galement accder aux paramtres de page laide dune forme
spciale appele LaPagede la collection Shapesdes objets Pageet Master. Cela quivaut
rcuprer la proprit PageSheet dun objet Pageou Master.
Par exemple, supposez que votre programme autorise lutilisateur modifier lchelle
dun plan damnagement depuis le programme plutt que depuis le moteur Visio.
Les instructions suivantes modifient lchelle de pagObj pour que 1 pied dans le dessin
corresponde
1
/8 de pouce sur la page de dessin.
Les cellules de page les plus utilises dfinissent la taille et lchelle du dessin. Dautres
cellules de page dfinissent la prcision des rgles et la densit de la grille, les calques
de la page et les actions, ou sont dfinies par lutilisateur. Pour obtenir la liste des
cellules et des sections de page, reportez-vous lannexe B, Indices de section, de
ligne et de cellule ShapeSheet .
Sef pagSheef0b = pag0b.PageSheef
Sef pagCe1PageSca1e = pagSheef0b.Ce11s|"Eche11ePage")
Sef pagCe10aWSca1e = pagSheef0b.Ce11s|"Eche11e0ess1h")
pagCe1PageSca1e.Pesu1f|"po") = 0.12S
pagCe10aWSca1e.Pesu1f|"p1") = 1.0
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 371
Calques
Une page peut comporter des calques, qui permettent dorganiser les formes sur la
page. En attribuant des formes un calque, vous pouvez les rpartir en catgories de
formes nommes afin de les afficher ou de les masquer, de les imprimer, ou
dempcher leur modification), sans pour autant avoir placer les formes sur une
page darrire-plan ou les grouper. Le calque dune forme est indpendant de son
ordre dempilement ou mme de son appartenance un groupe.
Une forme de base peut tre associe des calques. Lorsquelle est insre dans un
dessin, loccurrence de cette forme de base est associe aux calques indiqus. Si ces
calques nexistent pas, la copie de Visio les cre automatiquement.
Lorsque vous utilisez les calques dans un programme, vous pouvez vrifier quels sont
les calques disponibles dans une page de dessin ou dans une forme de base, et savoir
quels calques est associe une forme dans un dessin. Vous pouvez associer des formes
des calques, ajouter des calques et en supprimer. Vous pouvez galement afficher ou
masquer un calque, le rendre imprimable ou modifiable, et modifier dautres
paramtres, comme vous dfinissez les proprits des calques dans la bote de
dialogue Proprits des calques ou dans la section Calques de la fentre Feuille
ShapeSheet

.
Ident if icat ion des calques dune page ou dune f orme de base
Pour identifier les calques dfinis pour une page ou une forme de base, rcuprez sa
proprit Layers. Cette proprit renvoie une collection Layers, qui contient un objet
Layer pour chaque calque dfini pour la page ou la forme de base. Si la page ou la
forme de base ne comporte pas de calque, sa collection Layers est vide. Un objet Layer
a une proprit Name qui renvoie le nom du calque sous forme de chane. Il sagit de
la proprit par dfaut de lobjet.
Vous pouvez obtenir un objet Layer de la collection Layers en indiquant son nom ou
son indice dans la collection. Par exemple, pour obtenir lobjet Layer dun calque
appel plomberie :
Sef 1aye0b = 1ayes0b.Tfem|"P1ombe1e")
372 CHAP I TRE 18
Lexemple suivant extrait tous les calques dune collection et affiche leur nom dans la
fentre de dbogage de lEditeur Visual Basic.
Comme dans la plupart des collections, les objets de la collection Layers sont indexs
partir de 1. Chaque calque de la collection est reprsent par une ligne dans la
section Calques de la page ou de la forme de base.
La proprit Index dun objet Layer indique lindice dun calque dans la collection
Layers. La proprit Row de cet objet indique la ligne correspondante de la section
Calques de la feuille de page. Ces deux valeurs sont gnralement diffrentes.
Ident if icat ion des calques auxquels une f orme est at t ribue
Utilisez la proprit LayerCount dun objet Shape pour dterminer le nombre total
de calques auxquels la forme est attribue. La proprit Layer du mme objet permet
dobtenir un calque spcifique. Par exemple, linstruction suivante obtient le
deuxime calque auquel est attribue la forme :
Consultez les proprits de lobjet Layer, comme Name, pour plus dinformations sur
ce calque.
Si la forme nest attribue aucun calque, sa proprit LayerCount renvoie 0 (zro) et
une erreur se produit si vous essayez de lire sa proprit Layer.
At t ribut ion de f ormes un calque et suppression
Pour attribuer une forme un calque, appliquez la mthode Add de lobjet Layer. Par
exemple :
Sub CefLayes |)
01m pag0b As v1s1o.Page
01m 1ayes0b As v1s1o.Layes
01m 1aye0b As v1s1o.Laye
01m 1ayehame As Sf1hg
Sef 1ayes0b = pag0b.Layes
Io Each 1aye0b Th 1ayes0b
1ayehame = 1aye0b.hame
0ebug.P1hf 1ayehame
hexf
Ehd Sub
Sef 1aye0b = shp0b.Laye|2)
1aye0b.Add shp0b, peseveMembesI1ag
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 373
Largument preserveMembersFlag doit tre diffrent de zro (True) si vous attribuez
un groupe au calque sans modifier lappartenance des formes du groupe. Sinon,
utilisez 0 (False) pour attribuer ce calque une forme, ou un groupe et chacune des
formes qui le composent.
Pour annuler lattribution dune forme un calque, appliquez la mthode Remove de
lobjet Layer. Les arguments sont les mmes pour la suppression et pour lajout dun
calque. Par exemple :
Ajout et suppression de calques dans les pages et les f ormes
de base
Pour ajouter un calque une page ou une forme de base, appliquez la mthode Add
de la collection Layers dun objet Page ou Master. Par exemple, pour ajouter un
calque nomm Plomberie une page :
Le nom du nouveau calque doit tre unique dans la page ou dans la forme de base. Si
elle russit, la mthode Add renvoie un objet Layer reprsentant le nouveau calque.
Pour supprimer un calque dune page ou dune forme de base, appliquez la mthode
Delete de lobjet Layer. Par exemple :
Largument deleteShapesFlag doit tre diffrent de zro (True) pour que les formes
attribues au calque soient supprimes. Sinon, utilisez la valeur 0 (False) pour
conserver les formes. Les attributions de forme au calque sont mises jour pour que
ces formes ne fassent plus rfrence au calque supprim.
Modif icat ion des paramt res de calque
Vous pouvez modifier les paramtres de la bote de dialogue Proprits des calques
afin de rendre un calque visible ou imprimable, de dfinir sa couleur de surbrillance,
etc.
Pour modifier les paramtres de calque depuis un programme, dfinissez les formules
des cellules contrlant ces paramtres. Pour ce faire, utilisez la proprit CellsC dun
objet Layer pour obtenir la cellule contenant le paramtre modifier, puis dfinissez
la formule de cette cellule.
1aye0b.Pemove shp0b, peseveMembesI1ag
Sef 1ayes0b = pag0b.Layes
Sef 1aye0b = 1ayes0b.Add|"P1ombe1e")
1aye0b.0e1efe de1efeShapesI1ag
374 CHAP I TRE 18
Par exemple, pour accder la cellule contenant le nom du calque, utilisez une
instruction du type :
CONSEIL : vous pouvez galement accder aux paramtres des calques via la proprit
CellsSRC dun objet Shapereprsentant une feuille de page. Pour plus dinformations,
reportez-vous au chapitre 17, Automatisation des formules .
Pour dterminer la visibilit dun calque, utilisez des instructions telles que :
Pour masquer un calque :
Les constantes visLayerName et visLayerVisible sont dfinies dans la bibliothque de
types de Visio. Pour obtenir la liste des constantes contrlant les paramtres de
calque, reportez-vous lannexe B, Indices de section, de ligne et de cellule
ShapeSheet . Pour plus dinformations sur la modification des paramtres de calque
dans Visio, recherches les mots zone des proprits de calque dans laide en ligne
fournie avec Visio.
Sef 1ayeCe110b = 1aye0b.Ce11sC|v1sLayehame)
Tf 1aye0b.Ce11sC|v1sLayev1s1b1e).Pesu1fTu = 0 Theh
fexf1.Texf = "1hv1s1b1e"
E1se
fexf1.Texf = "v1s1b1e"
Ehd Tf
Sef 1ayeCe110b = 1aye0b.Ce11sC|v1sLayev1s1b1e)
1ayeCe110b.Iomu1a = Ia1se o 0
Sommaire
19
Aut omat isat ion des connexions
dune solut ion Visio
Les dessins avec connexion ou que vous crez avec Microsoft

Visio

font partie des


types de dessin les plus utiliss. Ils illustrent souvent des relations dans un systme,
que ce soit entre les individus dune entreprise ou entre les tapes dun procd de
fabrication. Il est souvent plus simple de crer des liens en les schmatisant, puis
dutiliser le diagramme cr comme source de donnes pour ces liens. Dans le moteur
Visio, lopration de liaison des formes sappelle le collage des formes, et la relation
entre deux formes est reprsente par un objet Connect.
Ce chapitre dcrit lutilisation des objets Connect et de leurs proprits qui
permettent danalyser un dessin avec connexions. Il prsente galement les modalits
de cration de dessins avec connexions par lintermdiaire du collage de formes issues
du programme.
Utilisation dun objet Connect............................................................................... 376
Rcupration dinformations dun dessin avec connexions............................... 378
Exemples ditration dans les connexions sur une page ................................... 382
Cration dun dessin avec connexions partir dun programme...................... 384
Exemple de connexion de formes dans un diagramme de flux ........................ 389
376 CHAP I TRE 19
Ut ilisat ion dun objet Connect
Dans un dessin, une forme Visio peut tre lie ou colle une autre forme Visio. Dans
le modle dobjet Visio, cette relation est reprsente par lobjet Connect.
Objet Connect et objets de
niveau suprieur associs dans
le modle dobjet Visio
Lorsque vous avez rcupr la rfrence un objet Connect, vous pouvez savoir
quelles formes sont lies et leur mode de liaison. En rcuprant les proprits des
objets Connect sur les objets Shape, Master et Page, vous pouvez aussi analyser des
graphiques orients, comme des diagrammes de flux, ou des schmas relis, comme
des organigrammes.
La proprit Connects de lobjet Page renvoie une collection Connects contenant un
objet Connect pour chaque connexion prsente sur la page. La proprit Connects de
lobjet Master renvoie, quant elle, une collection Connects contenant un objet
Connect pour chaque connexion de la forme de base.
Lobjet Shape comporte deux proprits relies par des connexions :
Une proprit Connects qui renvoie une collection Connects contenant un objet
Connect pour chaque forme, groupe ou repre auquel cette forme est colle.
Une proprit FromConnects qui renvoie une collection Connects contenant un
objet Connect pour chaque forme, groupe ou repre coll cette forme.
Par exemple, prenons un dessin qui contient deux formes appeles A et B, et une
forme en une dimension (1D) appele C qui relie A et B.
Deux formes relies
par une forme 1D
Document
Documents
Page
Pages
ThisDocument
Shape
Shapes
Connect
Connects
Master
Masters
Documents
Pages
Shapes
Connects
Masters
A
C
B
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 377
La collection Connects de la forme C contient deux objets Connect : un qui
reprsente sa connexion A et lautre qui reprsente sa connexion B. Les collections
Connects de A et de B sont vides car ces formes ne sont pas colles. En revanche, les
collections Connects renvoyes de la proprit FromConnects des formes A et B vont
contenir un objet Connect qui reprsente sa connexion issue de la forme C ; la
collection Connects renvoye de la proprit FromConnects pour la forme C sera
vide.
Prenons maintenant un dessin qui contient quatre formes appeles A, B, C et D.
Chaque forme possde une poigne de contrle colle une forme nomme E.
La collection Connects de la
forme E est vide, car elle nest pas
colle A, B, C et D : ce sont
ces formes qui sont colles la
collection. Les collections
Connects de A, B, C et D
contiennent chacune un
objet Connect.
Pour rcuprer la collection Connects de la forme A, rcuprez la proprit Connects
de cet objet Shape. Par exemple :
La collection Connects de la forme A contient un objet Connect qui reprsente la
connexion de A E. Cela est valable galement pour les collections Connects des
formes B, C et D. La collection Connects de la forme E est vide car elle nest pas colle
dautres formes : ce sont les formes qui lui sont colles.
Sef cohs0b = shp0b.Cohhecfs
E
A B C D
378 CHAP I TRE 19
Rcuprat ion dinf ormat ions dun dessin avec connexions
Un objet Connect comporte plusieurs proprits qui renvoient des informations sur
la connexion quil reprsente. Vous pouvez dterminer les formes connectes et les
parties de forme, par exemple le sommet ou le ct dune forme.
Dt erminat ion des f ormes relies
Les proprits FromSheet et ToSheet font rfrence aux objets Shape qui
reprsentent les formes connectes. La forme est dfinie de manire interne dans une
feuille de calcul semblable celle affiche dans une fentre ShapeSheet

. Ces
proprits tirent leurs noms de cette feuille de calcul interne.
FromSheet renvoie la forme dorigine de la connexion et ToSheet la forme avec
laquelle la connexion est effectue. Prenons, par exemple, un dessin qui contient deux
formes nommes Cadre et Poste, et supposons que cette dernire est colle la forme
Cadre. La collection Connects de la forme Poste contient un objet Connect dont la
proprit FromSheet renvoie Poste et dont la proprit ToSheet renvoie Cadre.
Pour savoir quelles formes sont colles une forme spcifique, utilisez la proprit
FromConnects qui renvoie sa collection Connects. La proprit FromSheet de
chaque objet Connect de la collection identifie les formes auxquelles la forme est
colle. Pour reprendre lexemple des quatre formes A, B, C et D, chacune tant colle
E, la proprit FromSheet de chaque objet Connect renvoy de la proprit
FromConnects de E fait rfrence A, B, C et D.
CONSEIL : lors de lutilisation des objets Connect situs dans une collection renvoye par
la proprit Connects dune forme, il convient gnralement de rechercher les formes
auxquelles une forme est relie. Cest la proprit ToSheet de chaque objet Connect qui
fournit ces informations, la proprit FromSheet restant toujours la mme.
Lors de lutilisation des objets Connect situs dans une collection renvoye par la
proprit FromConnectsdune forme, les formes les plus intressantes sont gnralement
celles relies une autre forme. Dans ce cas, cest la proprit FromSheet de chaque objet
Connect qui fournit ces informations, la proprit ToSheet restant toujours la mme.
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 379
Dt erminat ion des part ies connect es des f ormes
Les proprits FromPart et ToPart renvoient des constantes entires qui identifient
lemplacement gnral dune connexion sur une forme. FromPart identifie la partie
de la forme do provient une connexion tandis que ToPart identifie la partie de la
forme cible de la connexion. Les constantes des valeurs FromPart et ToPart valides
sont dfinies dans la bibliothque de types Visio.
Lillustration suivante indique les valeurs FromPart et ToPart renvoyes pour
indiquer les parties concernes par les connexions classiques dun dessin.
Val eurs FromPart et ToPart pour l es
connexi ons cl assi ques d un dessi n
A visGuideX
B visGuideY
C visLeftEdge
D visControlPoint+n
E visConnectionPoint+n
F visBegin
G visEnd
A
C
B
D
E
F
G
380 CHAP I TRE 19
Le tableau suivant rpertorie les connexions entre les formes et les constantes des
valeurs renvoyes par les proprits FromPart et ToPart des formes de lillustration
prcdente.
Une forme pouvant avoir plusieurs poignes de contrle, visControlPoint est une
base qui reprsente la premire poigne de contrle dfinie pour une forme. Si la
valeur renvoye par FromPart est suprieure visControlPoint, elle reprsente la
(n+1)ime poigne de contrle de cette forme (pour obtenir n, soustraire
visControlPoint de la valeur renvoye par FromPart). Cela est valable aussi pour
visConnectionPoint : si la valeur renvoye par ToPart est suprieure
visConnectionPoint, elle reprsente le (n+1)ime point de connexion.
Lopration de collage une poigne de slection, un sommet ou un emplacement
dune forme cre automatiquement un point de connexion ; aucune constante nest
donc dfinie pour ces lments. Pour obtenir des informations sur les parties dune
forme pouvant tre colles, reportez-vous Elments dorigine et de destination
dun collage , page 385 de ce chapitre.
Rcuprat ion des cellules dune connexion
Les proprits FromCell et ToCell dun objet Connect font rfrence des objets Cell
qui reprsentent les cellules ShapeSheet concernes par une connexion. Vous pouvez
rcuprer ou paramtrer la formule dune cellule, son rsultat ou toute autre
proprit de lobjet Cell et lutiliser comme vous le feriez pour toute autre objet Cell,
par exemple sous la forme dun argument pour la mthode GlueTo.
Constantes FromPart et ToPart pour les connexions
Connexion FromPart ToPart
Poigne de contrle colle un
point de connexion, un repre ou
un point de repre
visControlPoint + n visConnectionPoint + n
visGuideX
visGuideY
Forme 1D colle un point de
connexion
visBegin
visEnd
visConnectionPoint + n
Forme 2D colle un repre ou
un point de repre
visRightEdge
visLeftEdge
visTopEdge
visBottomEdge
visMiddleEdge
visCenterEdge
visGuideX
visGuideY
Forme 1D colle un repre ou
un point de repre
visBeginX
visEndX
visBeginY
visEndY
visGuideX
visGuideY
Forme 1D colle en mode
dynamique une forme
visBegin
visEnd
visWholeShape
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 381
Inst ruct ions danalyse dun dessin avec connexions
Lorsque vous tracez un dessin comportant des connexions, retenez les lments
suivants :
Prenez connaissance des types des formes contenues dans le dessin.
Par exemple, le dessin utilise-t-il des formes 1D comme liens entre les formes 2D
ou les poignes de contrle 2D permettent-elles de tracer des lignes dune forme
une autre ? Les lignes figurent-elles toutes entre les occurrences dune forme de
base lien ou certaines sont-elles dessines avec loutil Trait ?
Sachez que les donnes de connexion runies partir dun dessin peuvent avoir des
connexions diffrentes de leur apparence lcran.
Par exemple, les formes ont sur la page un ordre dempilage qui peut avoir une
incidence sur llment auquel la forme est colle. Si lutilisateur colle plusieurs
formes sur le mme point dune autre forme, certaines formes peuvent, comme
lindique la figure suivante, tre colles dautres formes au lieu de la forme
prvue.
Lordre dempilage des formes peut
avoir une incidence sur leurs
connexions.
A Si la rsistance tait colle en premier, elle serait colle au repre.
B Cette diode peut tre colle au repre ou la rsistance.
Prenez en considration lorientation du schma ; dans un graphique orient
comme un diagramme de flux, les parties des formes qui sont colles peuvent ne
pas correspondre aux orientations indiques visuellement.
Par exemple, vous pouvez coller le point de dpart ou le point de fin dune
forme 1D une autre forme et formater le point de dpart ou le point de fin avec
une pointe de flche. Si vous considrez que, sur un dessin, une pointe de flche
indique le point de fin dune forme 1D, vous nobtenez pas ncessairement une
analyse prcise du dessin.
A
B
382 CHAP I TRE 19
Exemples dit rat ion dans les connexions sur une page
La macro ShowPageConnections ci-dessous effectue une itration dans les objets
Connect situs sur la premire page du document actif Visio. Pour chaque objet
Connect, ShowPageConnections extrait les formes relies (FromSheet et ToSheet) et
la partie de chaque forme qui est relie (FromPart et ToPart). A laide des constantes
issues de la bibliothque de types Visio, elle compare ensuite les valeurs de FromPart
et de ToPart chaque valeur possible et affiche, dans la zone de liste dun formulaire
utilisateur, la chane correspondante, ainsi que les autres donnes pour la connexion.
Sub ShoWPageCohhecf1ohs |)
01m pags0b As v1s1o.Pages Co11ecf1oh de Page du documehf
01m pag0b As v1s1o.Page Page de fava11
01m fom0b As v1s1o.Shape 0bef de dpaf de 1a cohhex1oh
01m fo0b As v1s1o.Shap 0bef de desf1haf1oh de 1a cohhex1oh
01m cohs0b As v1s1o.Cohhecfs Co11ecf1oh Cohhecfs
01m coh0b As v1s1o.Cohhecf 0bef Cohhecf de 1a co11ecf1oh
01m fom0afa As Thfege Type de cohhex1oh de dpaf
01m fomSf As Sf1hg Cha1he cohfehahf 1a desc1pf1oh de
1a cohhex1oh de dpaf
01m fo0afa As Thfege Type de cohhex1oh d`a1ve
01m foSf As Sf1hg Cha1he cohfehahf 1a desc1pf1oh 1a
cohhex1oh de desf1haf1oh
L1e 1a co11ecf1oh Pages du documehf
hofez 1`uf111saf1oh de Th1s0ocumehf pou se fe au documehf
couahf
Sef pags0b = Th1s0ocumehf.Pages
L1e uhe fehce dahs 1a pem1e page de 1a co11ecf1oh
Sef pag0b = pags0b|1)
11e 1a co11ecf1oh Cohhecfs de 1a page
Sef cohs0b = pag0b.Cohhecfs
v1de 1a zohe de 11sfe
useIom1.L1sfox1.C1ea
ouc1e pou passe eh evue 1a co11ecf1oh Cohhecfs
Io Each coh0b Th cohs0b
L1e 1`obef Cohhecf couahf dahs 1a co11ecf1oh
Sef coh0b = cohs0b|cuCohhThdx)
L1e 1`1hfomaf1oh Iom
Sef fom0b = coh0b.IomSheef
fom0afa = coh0b.IomPaf
L1e 1`1hfomaf1oh To
Sef fo0b = coh0b.ToSheef
fo0afa = coh0b.ToPaf
Avec fom0afa dfem1he 1e fype de cohhex1oh
Tf fom0afa = v1sCohhecfEo Theh
fomSf = "eo"
E1seTf fom0afa = v1shohe Theh
fomSf = "hohe"
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 383
Exemple de code (suite)
Tesfe fom0afa pou v1sP1ghfEdge,v1soffomEdge,v1sM1dd1eEdge,
v1sTopEdge,v1sLeffEdge,v1sCehfeEdge, v1seg1hX, v1seg1hY,
v1seg1h, v1sEhdX, v1sEhdY,v1sEhd
E1seTf fom0afa >= v1sCohfo1Po1hf Theh
fomSf = "cohfo1Pf" & CSf|fom0afa - v1sCohfo1Po1hf + 1)
E1se
fomSf = "???"
Ehd Tf
Avec fo0afa dfem1he 1e fype de fome auque1 1e 11eh esf
cohhecf
Tf fo0afa = v1sCohhecfEo Theh
foSf = "eo"
E1seTf fo0afa = v1shohe Theh
foSf = "hohe"
E1seTf fo0afa = v1sCu1deX Theh
foSf = "gu1deX"
E1seTf fo0afa = v1sCu1deY Theh
foSf = "gu1deY"
E1seTf fo0afa >= v1sCohhecf1ohPo1hf Theh
foSf = "cohhecfPf" & CSf|fo0afa - v1sCohhecf1ohPo1hf + 1)
E1se
foSf = "???"
Ehd Tf
Aoufe 1`1hfomaf1oh dahs 1a zohe de 11sfe
useIom1.L1sfox1.AddTfem "dpaf " & fom0b.hame & " "
& fomSf & " desf1haf1oh " & fo0b.hame & " " & foSf
hexf
useIom1.ShoW
Ehd Sub
384 CHAP I TRE 19
Crat ion dun dessin avec connexions part ir dun programme
Pour crer un dessin avec connexions partir dun programme, vous insrez des
formes de base sur une page de dessin, puis collez ces formes. Le collage est une
opration o lorientation est un facteur important ; il est donc indispensable de
connatre les deux lments de chaque collage. Une fois que les formes sont colles,
vous pouvez dplacer une forme laquelle dautres formes sont colles sans rompre
leurs connexions, mais la rciproque nest pas vraie. Cela reste valable si vous dplacez
les formes depuis un programme ou dans une fentre de dessin Visio. Prenons, par
exemple, une ligne colle un rectangle. Le dplacement du rectangle ne rompt pas la
connexion, la ligne reste colle au rectangle et stire en consquence. En revanche, le
dplacement de la ligne rompt la connexion.
Ce dessin montre le dplacement
des formes lies. La ligne est colle
au rectangle (A). Si vous dplacez
le rectangle (B), ces formes restent
lies. Si vous dplacez la ligne (C),
la connexion est rompue.
Pour coller des f ormes part ir dun programme :
1 Choisissez la forme coller une autre forme, dterminez cette autre forme et
choisissez lemplacement de liaison.
2 Rcuprez un objet Cell qui reprsente la partie de la forme (comme un point de
fin, un point de contrle ou un bord de la forme) sur laquelle vous souhaitez
effectuer le collage.
3 Utilisez la mthode GlueTo pour spcifier la partie de lautre forme (comme un
point de connexion, un sommet ou une poigne de slection) ou la mthode
GlueToPos pour spcifier un emplacement visant crer la connexion entre les
formes.
A B C
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 385
Elment s dorigine et de dest inat ion dun collage
Seules certaines parties dune forme peuvent tre colles. Par exemple, un point de fin
dune forme 1D ou une poigne de contrle dune forme 2D peut tre colle un
point de connexion, mais le ct dune forme 2D peut seulement tre coll un
repre ou un point de repre.
Le moyen le plus simple de coller un objet un autre consiste utiliser une forme de
base avec une poigne de contrle qui tend une ligne que vous pouvez coller lautre
forme. Lillustration suivante contient, par exemple, la forme de base Poste issue du
gabarit Organigrammes (Formes dorganigramme.vss). La poigne de contrle situe
dans la partie suprieure de cette forme de base peut tre colle une autre forme. La
forme de base comporte aussi quatre points de connexion nomms ainsi que des
emplacements sur lesquels dautres formes peuvent tre colles. Les rfrences de
cellule utiliser pour coller ces emplacements figurent dans lillustration suivante.
Rfrences de cellule pour la
poigne de contrle et les points de
connexion sur la forme de base
Poste
A Connections.haut
B Connections.gauche
C Connections.droite
D Connections.bas
E Connections.X1
Les poignes de contrle fonctionnent pour de nombreux types de diagramme li. En
revanche, si vous nutilisez pas de poignes de contrle dans cet objectif, vous pouvez,
la place, utiliser des formes 1D. Collez le point de dpart et le point de fin de chaque
forme 1D entre deux formes 2D, comme lindique lillustration suivante.
Rfrences de cellule pour les
points de dpart et de fin dune
forme 1D
A DpartX ou DpartY
B FinX ou FinY
A
B C
D
E
A B
386 CHAP I TRE 19
Collage sur la partie dune forme reprsente par deux cellules
De nombreux points sur une forme, les poignes de contrle, les points de connexion,
les points de fin, les sommets gomtriques, etc. sont spcifis par deux cellules
ShapeSheet

, une pour chacune des coordonnes x,y du point. Chaque fois que vous
effectuez un collage sur la partie de la forme reprsente par une paire de cellules,
vous pouvez spcifier lune de ces cellules. Par exemple, pour indiquer la premire
poigne de contrle de la forme Poste, vous pouvez spcifier Points de contrle.X1 ou
Points de contrle.Y1.
Le tableau suivant rpertorie les cellules ShapeSheet qui reprsentent les parties dune
forme susceptibles de faire lobjet de collages.
Collage une poigne de slection
Une cellule dalignement correspond la poigne de slection situe au milieu de la
partie spcifie de la forme. Par exemple, AlignHaut correspond la poigne de
slection situe au milieu du bord suprieur de la forme. Dans un programme, le
collage une cellule dalignement revient effectuer un collage sur la poigne de
slection correspondante de la forme dans une fentre de dessin.
Vous neffectuez pas rellement le collage sur la poigne de slection elle-mme, mais
vous utilisez la poigne de slection pour crer un point de connexion cet
emplacement de la forme. Cela reste toujours valable, que vous colliez les formes
partir dun programme ou dans une fentre de dessin Visio. Une ligne est ajoute la
section Points de connexion de la forme pour reprsenter le nouveau point de
connexion.
Cellules types pour le collage des parties dune forme
Elment coller Cellule rcuprer
Cellule de destination dune autre
forme
Point de dpart
ou de fin d une
forme 1D
DpartX ou DpartY, FinX ou
FinY
Connections.Xn ou Connections.Yn
Gomtrie.Xn ou Gomtrie.Yn
AlignGauche, AlignCentre,
AlignDroite, AlignHhaut, AlignM ilieu
ou AlignBas
AxeX ou AxeY ( coller en mode
dynamique)
Poigne de
contrle
Points de contrle.Xn ou
Points de contrle.Yn, n tant
le numro de ligne de cette
poigne de contrle
Connections.Xn ou Connections.Yn
Gomtrie.Xn ou Gomtrie.Yn
AlignGauche, AlignCentre,
AlignDroite, AlignHhaut, AlignM ilieu
ou AlignBas
AxeX ou AxeY ( coller en mode
dynamique)
Bord d une
forme
AlignGauche, AlignCentre,
AlignDroite, AlignHaut,
AlignM ilieu ou AlignBas
Toute cellule Repre
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 387
Collage un repre ou un point de repre
Un repre est une ligne non imprimable pouvant tre dplace dans la fentre de
dessin Visio depuis la rgle et servant aligner des formes. Vous pouvez coller des
formes un repre, puis dplacer le repre et les formes qui lui sont lies. Lorsque
vous collez une forme 1D un repre, vous pouvez indiquer toute cellule du repre.
Par exemple :
Collage avec des objet s Cell
Une fois que vous avez choisi la partie de la forme coller lautre forme, rcuprez
lobjet Cell qui reprsente cette partie de la forme. Pour rcuprer cet objet, rcuprez
la proprit Cells de lobjet Shape et indiquez un nom cellule. Par exemple,
linstruction suivante rcupre un objet Cell qui reprsente la coordonne x de la
premire poigne de contrle de la forme reprsente par shpObj1 :
Si, sur une forme, un point est reprsent par deux cellules, vous pouvez nindiquer
quune seule cellule, quelle quelle soit. Dans lexemple ci-dessus, Points de
contrle.Y1 fonctionne aussi correctement.
Pour plus dinformations sur lutilisation des objets Cell, reportez-vous au
chapitre 17, Automatisation des formules .
Collage dune f orme une aut re f orme
Pour coller une forme une autre, vous pouvez utiliser la mthode GlueTo ou
GlueToPos dun objet Cell. Avec la mthode GlueTo, spcifiez une rfrence de
cellule une partie de lautre forme ; la mthode dfinit ensuite la formule de lobjet
Cell en fonction de la rfrence cette cellule. Avec la mthode GlueToPos, indiquez
deux valeurs proportionnelles du plan largeur-hauteur de lautre forme. La mthode
GlueTo ou GlueToPos cre un point de connexion sur cette partie de la forme ou cet
emplacement.
Par exemple, la formulation suivante utilise GlueTo pour coller la partie dune forme
reprsente par celObj, la poigne de contrle de lillustration, la forme reprsente
par shpObj2, au quatrime point de connexion de cette forme, lequel a t renomm
plus explicitement, cest--dire Connections.bas.
10Shp.Ce11s|"0pafX").C1ueTo Cu1deShp.Ce11s|"AxeX")
20Shp.Ce11s|"A11ghCauche").C1ueTo Cu1deShp.Ce11s|"AxeX")
Sef ce10b = shp0b1.Ce11s|"Po1hfs de cohf1e.X1")
ce10b.C1ueTo shp0b2.Ce11s|"Cohhecf1ohs.bas")
388 CHAP I TRE 19
Collage laide de la mthode
GlueTo dune poigne de contrle
un point de connexion
.
A celObj reprsente la poigne de contrle Points de contrle.X1 de shpObj1.
B celObj.GlueTo shpObj2.Cells ( Connections.bas ) colle la poigne de contrle de shpObj1 au
point de connexion de shpObj2 qui a t nomm bas .
Linstruction suivante utilise GlueToPos pour coller la mme forme au centre de
shpObj2, crant un nouveau point de connexion cet emplacement. Lemplacement
est spcifi sous la forme de valeurs proportionnelles du plan largeur-hauteur de la
forme, et non sous la forme de coordonnes x,y. Pour crer un point de connexion
hors de ce plan, utilisez des fractions du plan ngatives ou suprieures 1.
Collage avec la mthode
GlueToPos dune poigne de
contrle un emplacement
A celObj reprsente la poigne de contrle Points de contrle.X1 de shpObj1.
B GlueToPos (shpObj2,.5,.5) colle la poigne de contrle de shpObj1 au centre de shpObj2.
REMARQUE : pour coller la forme de manire dynamique, utilisez la mthode GlueTo
avec la cellule AxeX ou AxeY comme cellule de destination du collage. Le collage sur AxeX
indique une prfrence de dplacement horizontal alors que le collage sur AxeY indique
une prfrence de dplacement vertical. Toutes les autres rfrences de cellule seront par
dfaut paramtres sur le collage statique. Pour plus dinformations sur les collages
statique et dynamique, effectuez une recherche dans laide en ligne livre avec Visio.
ce10b.C1ueToPos shp0b2, .S, .S
B
A
B
A
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 389
Exemple de connexion de f ormes dans un diagramme de f lux
Le programme Microsoft

Visual Basic

pour Applications (VBA) permet de dessiner


sur la page de dessin Visio un diagramme de flux simple daprs les donnes contenues
dans un tableau transmis cette procdure sous la forme dun argument. Le tableau est
en deux dimensions ; le premier lment contient le nom de la forme de base et le
second, le texte de la forme. Avant de crer le diagramme de flux, la procdure lit les
donnes du tableau et les affiche dans la fentre Excution de lEditeur Visual Basic.
Diagramme de flux cr par
CreateFlowchart
Pub11c Sub CeafeI1oWchaf|aI1oWChaf |) As Sf1hg)
01m vPevShape As v1s1o.Shape Iome d`ou paf Ta cohhex1oh {Iom)
01m vhexfShape As v1s1o.Shape Iome ou a1ve Ta cohhex1oh {fo))
01m vCohhecfo As v1s1o.Shape Iome epsehfahf Ta cohhex1oh
01m vI1oWChafMasfe As v1s1o.Masfe Rfehce a Ta fome de base
0gah1gamme
01m vCohhecfoMasfe As v1s1o.Masfe Rfehce a Ta fome de base L1eh
01m vSfehc11 As v1s1o.0ocumehf Caba1f cohfehahf Tes fomes de base
01m db1XLocaf1oh As 0oub1e LocaT1saf1oh de AxeX de Ta fome de
base
01m db1YLocaf1oh As 0oub1e LocaT1saf1oh de AxeY de Ta fome de
base
01m bCe11 As v1s1o.Ce11 CeTTuTe 0paf du L1eh
01m eCe11 As v1s1o.Ce11 CeTTuTe I1h du L1eh
01m 1Couhf As Thfege
Dbut du
processus
demprunt
Vrif.
crdit ?
Vrification
du crdit
Envoi du
refus
Fin du
processus
390 CHAP I TRE 19
Exemple de code (suite)
0h Eo CoTo ehahd1e
Th1f1a11se 1a pos1f1oh X, Y qu1 sea passe a 1a mfhode 0op
db1XLocaf1oh = 4.2S
db1YLocaf1oh = 10.S
Tmp1me fab1eau dahs 1a fehfe Excuf1oh
Io 1Couhf = Louhd|aI1oW0afa) To uouhd|aI1oW0afa)
0ebug.P1hf aI1oW0afa|1Couhf, 0) & " " aI1oW0afa|1Couhf, 1)
hexf
0uv1 1e gaba1f ogah1gamme
Sef vSfehc11 = App11caf1oh.0ocumehfs.0pehEx
|"as1c I1oWchaf Shapes.vss", v1s0peh0ocked)
`Aoufe uhe fome au dess1h pou chaque 1mehf du fab1eau
Io 1Couhf = Louhd|aI1oW0afa) To uouhd|aI1oW0afa)
L1e 1a fome de base su 1a base de Masfehame dahs 1e fab1eau des
dohhes.
Sef vI1oWChafMasfe = vSfehc11.Masfes|aI1oW0afa|1Couhf, 0))
Aoufe 1a fome a 1a page
Sef vhexfShape = Acf1vePage.0op|vI1oWChafMasfe, db1XLocaf1oh,
db1YLocaf1oh)
0f1h1 1e fexfe de 1a fome dpose
vhexfShape.Texf = aI1oW0afa|1Couhf, 1)
Se cohhecfe a 1a fome d`o1g1he dpose, s1 hcessa1e
Tf hof vPevShape Ts hofh1hg Theh
L1e 1a fome de base L1eh, s1 hcessa1e
Tf vCohhecfoMasfe Ts hofh1hg Theh
Sef vCohhecfoMasfe = vSfehc11.Masfes|"L1eh")
Ehd Tf
Aoufe 1e 11eh a 1a page |peu 1mpofe o pou cef exemp1e)
Sef vCohhecfo = Acf1vePage.0op|vCohhecfoMasfe, 0, 0)
Cohhecfe 1e po1hf de dpaf
Sef bCe11 = vCohhecfo.Ce11s|"0pafX")
bCe11.C1ueTo vPevShape.Ce11s|"A11ghas")
Cohhecfe 1e po1hf de f1h
Sef eCe11 = vCohhecfo.Ce11s|"I1hX")
eCe11.C1ueTo vhexfShape.Ce11s|"A11ghhauf")
vCohhecfo.SehdToack
Ehd Tf
Sef vPevShape = vhexfShape
Sef vhexfShape = hofh1hg
0f1h1 1a pos1f1oh Y de 1a fome d`a1ve
db1YLocaf1oh = db1YLocaf1oh - 1.S
hexf
Ex1f Sub
ehahd1e:
0ebug.P1hf Eo
Ehd Sub
Sommaire
20
Int grat ion de donnes et dune
solut ion Visio
Si vous dveloppez une solution qui combine des dessins Microsoft

Visio

avec une
autre source de donnes, comme une base de donnes, vous serez intress par
diffrents moyens dassocier des donnes des formes et des pages. A laide des
proprits personnalises et des cellules ShapeSheet

dfinies par lutilisateur, vous


pouvez associer des donnes une forme ; lutilisation dun ID unique permet
dtablir une liaison permanente entre une forme et des donnes externes qui lui sont
associes. Vous pouvez en outre, laide dune grande varit de proprits Visio,
stocker des donnes pour des documents, des pages, des formes de base, des
raccourcis, des formes et du texte.
Ce chapitre contient galement deux exemples de code concernant lextraction des
donnes dun dessin et la cration dun dessin partir de donnes externes. Ces
exemples reprsentent les deux moyens les plus utiliss par les dveloppeurs de
solution qui travaillent avec Visio et avec des donnes issues dautres applications. Les
deux exemples prsentent quelques approches gnrales concernant lintgration de
donnes et dune solution Visio, et sont prvus pour vous donner un aperu de
lensemble des solutions quil est possible de crer.
Association de donnes avec des formes laide dAutomation....................... 392
Proprits Visio pour le stockage et lextraction des donnes........................... 395
Ecriture de code pour lextraction des donnes dun dessin Visio.................... 396
Ecriture de code pour la cration dun dessin Visio partir de donnes.......... 401
Intgration dune solution Visio et dune base de donnes ............................... 406
392 CHAP I TRE 20
Associat ion de donnes avec des f ormes laide dAut omat ion
Vous pouvez crer des proprits personnalises, ou rcuprer et paramtrer des
valeurs de proprits personnalises exclusivement partir dun programme ; vous
pouvez galement collecter des valeurs fournies par lutilisateur de la solution Visio.
Vous pouvez, par exemple, fournir des formes de base qui invitent lutilisateur
remplir certaines donnes lorsquune forme de base est insre dans un dessin, puis
utiliser un programme pour rassembler ces donnes partir des dessins de
lutilisateur. Pour tablir des liaisons permanentes entres les donnes dun dessin et
une source de donnes externe, vous pouvez utiliser des ID uniques associs aux
formes et aux formes de base.
Pour plus dinformations sur la cration de cellules dfinies par lutilisateur et de
proprits personnalises, reportez-vous au chapitre 7, Amlioration du
comportement des formes .
Ajout de lignes de proprit s personnalises et df inies par
lut ilisat eur
Les proprits personnalises servent associer les champs dune base de donnes
une forme ou une page et peuvent surtout savrer pratiques si vous envisagez de
collecter des valeurs saisies par un utilisateur. Vous pouvez, par exemple, crer une
forme de base qui invite lutilisateur saisir des donnes lorsquune forme est
dplace sur la page, puis utiliser le programme Microsoft

Visual Basic

pour
Applications (VBA) pour rassembler les donnes saisies partir du dessin termin.
Dans les lignes dfinies par lutilisateur, les cellules Valeur et Message permettent de
stocker une valeur et de la retrouver ultrieurement dans le mme tat. Comme vous
pouvez associer des noms uniques des lignes dfinies par lutilisateur, il est peu
vraisemblable que dautres programmes connaissent lexistence des cellules de ces
lignes, et encore moins quils tentent dcrire dans ces cellules. Les cellules Montage,
au contraire, sont susceptibles de servir dans de nombreux programmes ; les valeurs
stockes dans ces cellules peuvent donc tre remplaces lorsque vous vous y attendez
le moins.
A laide de la mthode AddNamedRow, vous pouvez ajouter une ligne de proprit
personnalise ou dfinie par lutilisateur dans un objet Shape. Si la section Proprits
personnalises ou Cellules personnalises nexiste pas, la mthode AddNamedRow
lajoute la feuille de calcul ShapeSheet

. Par exemple, pour ajouter une forme une


ligne dfinie par lutilisateur nomme Latitude :
Ce code correspond linsertion dune section Cellules personnalises dans la feuille
de calcul ShapeSheet et au remplacement du nom par dfaut Util.Ligne1 par
Util.Latitude.
shp0b.AddhamedPoW v1sSecf1ohuse, "Laf1fude", 0
I NTGRATI ON DE DONNES ET D UNE SOL UTI ON VI SI O 393
Pour rcuprer la cellule Valeur de la nouvelle ligne Latitude :
Une fois que vous disposez de la rfrence lobjet Cell qui est la cellule Valeur, vous
pouvez utiliser la proprit Formula de cet objet Cell pour rcuprer ou paramtrer
des valeurs. Par exemple :
Vous pouvez utiliser la mme technique pour grer les lignes de proprits
personnalises depuis votre programme.
Pour plus dinformations sur la mthode AddNamedRow, reportez-vous
lAnnexe B, Indices de section, de ligne et de cellule ShapeSheet et laide en ligne
Rfrence du dveloppeur (choisissez ? (Aide) > Rfrence du dveloppeur) fournie
avec Visio.
Gnrat ion et ut ilisat ion dID uniques
Les formes et les formes de base peuvent avoir des ID uniques que vous pouvez
utiliser pour distinguer des formes identiques dans un dessin ou pour effectuer le
suivi de la source originale dune forme de base. Les solutions de base de donnes plus
labores utilisent gnralement des ID uniques pour crer une liaison permanente
entre une forme ou une forme de base et un enregistrement dans une base de donnes
externe. Les ID uniques permettent aux applications de relier des donnes aux formes
de manire plus fiable quavec les noms de formes et les ID. Les applications de base
de donnes pouvant utiliser des ID uniques incluent celles relatives lamnagement,
aux systmes dinformation gographique et aux assemblages mcaniques, dans
lesquelles les formes prsentes dans un dessin sont associes aux diffrents
enregistrements dune base de donnes.
LID unique est stock en interne sous la forme dune valeur code sur 128 bits et est
transmis sous la forme dune chane de 39 caractres zro terminal, format comme
dans lexemple suivant :
Sef ce10b = shp0b.Ce11s|"uf11.Laf1fude")
ce10b.Iomu1a = """4"""
{2270C42-167-11CE-E9-0020AI000917}
394 CHAP I TRE 20
REMARQUE : si une forme dispose dun ID unique, aucune autre forme du mme
document ne doit normalement disposer de cet ID. Tout comme OLE garantit des ID
dobjet uniques, le moteur Visio utilise la mme technologie pour gnrer des ID uniques
et les utiliser une seule fois.
Toutefois, dans certaines circonstances, il est possible de dupliquer un ID unique. Si vous
copiez un fichier de dessin ou lenregistrez sous un nom de fichier diffrent, toutes ses
formes et leurs ID uniques associs sont copis. Si vous coupez par la suite une forme issue
du nouveau fichier et la collez dans loriginal, le fichier original contient deux formes avec
des ID uniques identiques. Pour garantir des ID uniques aprs avoir copi un fichier,
supprimez tous les ID uniques de lun des fichiers et rgnrez-les.
ID uniques pour les formes
Par dfaut, les formes nont pas dID uniques, cest le programme qui doit les gnrer.
Pour gnrer lID unique dune forme, utilisez la mthode UniqueID dun objet
Shape. Par exemple :
Si la forme a dj un ID unique, cette instruction rcupre lID ; si elle nen a pas,
linstruction le cre.
Pour savoir si une forme a un ID unique, utilisez linstruction suivante. Si elle nen a
pas, cette formulation renvoie une chane Null ("").
Pour supprimer lID unique dune forme, utilisez linstruction suivante :
Certaines oprations provoquent la suppression automatique de lID unique de la
forme par le moteur Visio. Si vous coupez une forme pour la placer dans le
Presse-papiers Windows et la collez une fois, ou si vous dplacez une forme dans une
autre fentre de dessin, son ID unique est conserv. En revanche, si vous collez une
deuxime fois la mme forme stocke dans le Presse-papiers ou dupliquez la forme en
maintenant la touche Ctrl enfonce et en effectuant le dplacement, la nouvelle forme
naura pas dID unique.
T0Sf1hg = shp0b.uh1queT0|v1sCef0MakeCuT0)
T0Sf1hg = shp0b.uh1queT0|v1sCefCuT0)
shp0b.uh1queT0 v1s0e1efeCuT0
I NTGRATI ON DE DONNES ET D UNE SOL UTI ON VI SI O 395
Proprits UniqueID et BaseID des formes de base
Une forme de base comporte la fois une proprit UniqueID et une proprit
BaseID ; les deux sont automatiquement gnres par le moteur Visio lorsquune
nouvelle forme de base est cre.
La proprit UniqueID dune forme de base ne peut pas tre supprime ou attribue
nouveau ; elle change seulement lorsque vous modifiez la forme de base ou attribuez
une nouvelle BaseID. La proprit BaseID dune forme de base ne change pas la
suite dune opration utilisateur ; elle permet dtablir un lien avec la forme de base
originale, laquelle est permanente, contrairement au nom dune forme de base ou
une proprit UniqueID. Les proprits BaseID peuvent tre modifies par deux
proprits : BaseID et NewBaseID. Pour plus dinformations, effectuez une recherche
dans laide en ligne Rfrence du dveloppeur (choisissez ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
Vous pouvez transmettre un ID unique sous la forme dun argument dans la mthode
Item dune collection Shapes ou Masters. Par exemple :
Proprit s Visio pour le st ockage et lext ract ion des donnes
Cette section contient des informations sur lutilisation de proprits pour le stockage
des donnes dun dessin Visio. Le tableau suivant rpertorie les proprits les plus
frquentes qui renvoient des chanes et indique pour chaque chane sa taille
maximale.
Sef shp0b = shps0b.Tfem|""{2270C42-167-11CE-E9-0020AI000917}")
Extraction et stockage des proprits de texte
Proprit
Elment auquel sapplique
la proprit dobjet Taille maximale
Title, Subject, Author, Manager,
Company, Category, Keywords,
Description, HyperlinkBase,
AlternateName
Document 63 caractres
Data1, Data2, Data3 Shape I llimite
Formula Cell I llimite
FullName Document 255 caractres
Name Document 255 caractres
Name Layer, Master, Shortcut, Page,
Shape, Style
31 caractres
NameID Shape 36 caractres
Path Document 255 caractres
396 CHAP I TRE 20
Le moteur Visio renvoie la fois des nombres rels et des entiers sous la forme de
nombres virgule flottante avec 15 chiffres significatifs. Pour rduire le risque
derreur darrondi, attribuez des nombres aux variables Variant ou Double et stockez
les nombres dans des champs avec le type de donnes appropri.
Les proprits True/false comme ReadOnly, Saved ou OneD et les valeurs
boolennes contenues dans les cellules ShapeSheet

ont la valeur FALSE si elles sont


gales 0 et TRUE si elles sont diffrentes de zro.
Ecrit ure de code pour lext ract ion des donnes dun dessin Visio
Dans les dessins Visio, les formes contiennent de nombreuses informations. A laide
dAutomation, vous pouvez crire des programmes qui extraient ces informations du
dessin Visio pour les utiliser dans une autre application. Vous pouvez, par exemple,
utiliser les formes dun dessin pour gnrer automatiquement des bons de
commande. De mme, vous pouvez extraire les informations des formes contenues
dans un diagramme de flux pour les placer dans une feuille de calcul afin destimer les
cots associs un procd de fabrication. Vous pouvez aussi extraire des
informations sur des types de donnes dans une solution, et viter toute modification
des donnes dun dessin en enregistrant une copie des donnes dans un fichier
externe.
Quelle que soit la manire dont vous envisagez dutiliser les donnes extraites du
dessin, le processus de base pour les rassembler est toujours le mme. Le code
prsent dans cet exemple met en vidence le regroupement des donnes dun dessin
Visio ; les oprations que vous effectuez sur ces donnes dpendent du mode
dinteraction du programme avec les autres applications.
Prompt Master, Shortcut 255 caractres
Text Shape, Characters I llimite
UniqueID Master, Shortcut, Shape 39 caractres
Extraction et stockage des proprits de texte (suite)
Proprit
Elment auquel sapplique
la proprit dobjet Taille maximale
I NTGRATI ON DE DONNES ET D UNE SOL UTI ON VI SI O 397
Exemple dext ract ion de donnes dun dessin
Supposons que vous souhaitiez crire une application qui collecte dans un dessin les
informations relatives aux composants dun rseau afin que lutilisateur puisse
gnrer des bons de commande. Le commercial et le client pourraient collaborer sur
un dessin qui reprsente un nouveau systme de rseau, comme celui reprsent
ci-dessous.
Dessin Visio do sont extraites les
donnes
Sachez que vous pouvez crire un programme Automation comme celui de lexemple
ci-dessous qui sexcute lorsque le dessin est enregistr et qui collecte des
informations sur les formes du dessin et les place dans un tableau. Vous pouvez
ensuite crire du code supplmentaire qui utilise les donnes de ce tableau pour
gnrer automatiquement une commande de composants.
Donnes sur les formes sur la page
de dessin
Ordinateur portable
Imprimante laser
Ordinateur
Ordinateur portable
Ordinateur Ordinateur
Rfrence Fabricant Cot
XYZ-543341 Dell 1995
XYZ-543342 Dell 1995
XYZ-543343 Dell 1995
ABC-499891 Dell 2150
ABC-499892 Dell 2150
ZWY-123121 Hewlet Packard 3200
398 CHAP I TRE 20
Avec Microsoft Visual Basic pour Applications (VBA), vous pouvez crire du code
semblable celui de lexemple suivant qui sexcute lorsque le dessin Visio est
enregistr. Aprs avoir dfini des variables et rcupr la collection Shapes associe
la premire page du dessin, ce code dfinit le tableau OrderInfo pour stocker les
donnes des formes qui seront rassembles dans la collection. Le nom de chaque
forme est identifi et ajout au tableau avec, pour chacune dentre elles, les
informations regroupes concernant trois proprits personnalises : la rfrence, le
fabricant et le cot. Une fois que vous avez regroup ces informations pour chaque
forme de la page, les rsultats sont affichs dans la fentre Excution pour vrification.
Enfin, les donnes du tableau sont transmises une autre application ou enregistres
sur disque sous la forme dun fichier texte.
Pour une explication dtaille de ce code, reportez-vous la section suivante intitule
Examen du code servant lextraction des donnes dun dessin , page 399
P1vafe Sub 0ocumehf0ocumehfSaved|yva1 doc As Tv0ocumehf)
01m pag0b As v1s1o.Page 0bef Page v1s1o
01m shps0b As v1s1o.Shapes Co11ecf1oh Shapes v1s1o
01m shp0b As v1s1o.Shape 0bef Shape v1s1o
01m ce10b As v1s1o.Ce11 0bef Ce11 v1s1o
01m 0deThfo|) As Sf1hg Tab1eau qu1 eceva 1es 11ghes du boh
de commahde
01m 1ShapeCouhf As Thfege Compfeu
01m 1 As Thfege Compfeu
Sef pag0b = Acf1vePage L1e 1a page acf1ve
Sef shps0b = pag0b.Shapes L1e 1a co11ecf1oh Shapes de 1a page
TshapeCouhf = shps0b.Couhf hombe fofa1 de fomes
0f1h1 1a fa111e du fab1eau qu1 eceva 1es 1hfomaf1ohs e1af1ves a 1a
fome.
Thd1ce de fab1eau commehahf a 0. 4 co1ohhes pou chaque fome
Pe01m 0deThfo|3, 1ShapeCouhf - 1)
Pou chaque fome de 1a page ecue1111 1e hom, 1a Pfehce, 1e Iab1cahf,
ef 1e Cof
Io 1 = 1 To 1ShapeCouhf
L1e 1a 1me fome
Sef shp0b = shps0b|1)
L1e 1e hom de 1a fome
0deThfo|0, 1 - 1) = shp0b.hame
L1e 1a pop1f Pfehce pu1s meffe 1a va1eu dahs uhe cha1he
Tf shp0b.Ce11Ex1sfs|"Pop.Pfehce", v1sEx1sfsLoca11y) Theh
Sef ce10b = shp0b.Ce11s|"Pop.Pfehce")
0deThfo|1, 1 - 1) = ce10b.Pesu1fSf|"")
Ehd Tf
I NTGRATI ON DE DONNES ET D UNE SOL UTI ON VI SI O 399
Exemple de code (suite)
Examen du code servant lext ract ion des donnes dun
dessin
Lexemple de code prcdent peut tre divis en plusieurs parties : dfinition des
variables et du tableau qui contiendra les donnes ; parcours par itration des formes
de la collection Shapes de la page, afin de rassembler les donnes et de les placer dans
un tableau ; affichage du tableau pour vrifier la collection des donnes et
lexportation des donnes dans une autre application.
Dfinition des variables
Dans la premire section du code, linstruction Dim sert dfinir des variables pour
lobjet Page, une collection Shapes, un objet Shape et un objet Cell. Par ailleurs, un
tableau appel OrderInfo est dfini, ainsi quun entier pour litration de la premire
boucle.
L1e 1a pop1f Iab1cahf pu1s meffe 1a va1eu dahs uhe cha1he
Tf shp0b.Ce11Ex1sfs|"Pop.Iab1cahf", v1sEx1sfsLoca11y) Theh
Sef ce10b = shp0b.Ce11s|"Pop.Iab1cahf")
0deThfo|2, 1 - 1) = ce10b.Pesu1fSf|"")
Ehd Tf
L1e 1a pop1f Cof pu1s pehde 1a va1eu
Tf shp0b.Ce11Ex1sfs|"Pop.Cof", v1sEx1sfsLoca11y) Theh
Sef ce10b = shp0b.Ce11s|"Pop.Cof")
0deThfo|3, 1 - 1) = ce10b.Pesu1fTu
Ehd Tf
L1be 1`obef Shape
Sef shp0b = hofh1hg
hexf
Aff1che dahs 1a fehfe Excuf1oh pou v1f1e 1es dohhes co11ecfes
Io 1 = 0 To pag0b.Shapes.Couhf - 1
0ebug.P1hf 0deThfo|0, 1) & ","
& 0deThfo|1, 1) & ","
& 0deThfo|2, 1) & ","
& 0deThfo|3, 1)
hexf
Appe1e uhe fohcf1oh pou c1e 1es dohhes ves h`1mpofe que1
suppof de dohhes, passe 1e fab1eau des dohhes co11ecfes
Expof0afa 0deThfo
Ehd Sub
400 CHAP I TRE 20
Une fois que les variables sont dfinies, la variable de la page est paramtre sur la
page active du document. La variable shpsObj dfinit une collection constitue de
toutes les formes de la page active et iShapeCount adapte le nombre de formes
propos desquelles les informations seront rassembles. Enfin, le tableau OrderInfo
dfinit un tableau servant stocker les donnes relatives aux quatre proprits de
chaque forme contenues de la collection Shapes de la page. Si vous travailliez dans un
document contenant plusieurs pages, vous pourriez dfinir une boucle incrmenter
dans chaque page du document. Dans