À propos de l’affichage graphique des données (Visio)
Note Les fonctionnalités de connectivité des données sont disponibles uniquement pour les utilisateurs sous licence de Microsoft Visio Professionnel 2013.
Dans Visio, la connectivité des données comporte quatre aspects :
- la connexion à une source de données ;
- la liaison des formes avec des données ;
- l’affichage graphique des données liées ;
- l’actualisation des données liées qui ont été modifiées dans la source de données, la mise à jour des formes liées et la résolution de tout conflit qui peut en résulter.
En règle générale, vous abordez ces aspects dans l’ordre dans lequel ils sont répertoriés. Vous connectez d’abord votre dessin Visio à une source de données, vous liez les formes de votre dessin aux données de la source de données, vous affichez graphiquement les données dans les formes liées et vous actualisez les données liées lorsque cela est nécessaire. Chacun de ces aspects comporte de nouveaux objets et membres associés dans le modèle objet Visio. Cette rubrique traite des troisième et quatrième aspects, à savoir l’affichage graphique des données liées dans les formes et l’actualisation des données. Pour plus d’informations sur les autres aspects de la connectivité des données, voir les rubriques suivantes :
Pour afficher par programme les données liées, vous pouvez utiliser l’API de Visio pour l’affichage des données, notamment les objets suivants et leurs membres associés : :
Après avoir associé des formes de votre dessin Visio à des lignes d’un jeu d’enregistrements de données, vous pouvez afficher par programme les données associées de manière graphique. Par exemple, supposons que votre dessin contient plusieurs formes associées à des données, chacune représentant un projet à une étape spécifique d’avancement. Vous pouvez associer une barre d’avancement à un élément spécifique de données de forme, comme le pourcentage d’avancement du projet. Vous pouvez ensuite appliquer la barre de progression à une sélection de formes de projet et afficher visuellement la progression de chaque projet vers l’achèvement.
Présentation des graphiques de données et des éléments de graphiques
Pour faciliter l’affichage graphique des données, Visio introduit le concept de graphiques de données et un type d’objet Master appelé master de graphique de données, qui est représenté dans l’énumération VisMasterTypes par la valeur visTypeDataGraphic. Pour ajouter un objet Master de type visTypeDataGraphic à la collection Masters , vous devez utiliser la méthode Masters.AddEx .
Visio comprend plusieurs types de formes, notamment les formes de base. Lorsque vous créez une instance de forme de base, elle devient une forme. Visio dispose par ailleurs de formes de base de motifs de remplissage, de motifs de trait et d’extrémité de trait, pour lesquelles vous ne pouvez pas créer d’instances. Vous appliquez ces formes de base à des formes pour transférer la forme de base à la forme. Les formes de base de graphique de données ressemblent davantage à des modèles maîtres, car vous n’en créez pas d’instances. Au contraire, vous les appliquez à des formes comme pour les motifs de trait et les motifs de remplissage.
Les formes de base de graphique de données correspondent aux graphiques de données qui apparaissent dans le volet Office Graphiques de données de l’interface Visio. Une forme de base de graphique de données consiste en un ou plusieurs éléments graphiques. Les éléments graphiques sont des formes Visio conçues comme composants visuels prêts à l’emploi que vous pouvez associer à des données de forme pour un affichage graphique de ces données, sur la base des règles que vous définissez, à une position relative à la forme que vous spécifiez.
Visio dispose des types d’éléments graphiques suivants :
- Texte Affiche les données sous forme de texte dans une légende, à une position spécifiée par rapport à la forme.
- Couleur par valeur Modifie la couleur de la forme en fonction d’une comparaison entre les données de forme et une valeur ou une plage de valeurs particulière.
- Barre de données Utilise des graphiques à barres et des graphiques pour afficher les données, à une position spécifiée par rapport à la forme.
- Jeu d’icônes Affiche l’une d’un ensemble d’icônes qui représente une valeur ou une condition de données, à une position spécifiée par rapport à la forme.
Visio dispose de plusieurs graphiques de données standard pré-remplis avec des éléments graphiques. Si vous souhaitez appliquer à vos formes un graphique de données ayant une combinaison différente d’éléments graphiques, vous pouvez créer un graphique de données personnalisé. Nous vous recommandons d’utiliser l’interface Visio pour créer un graphique de données et y ajouter des éléments graphiques.
Pour créer des graphiques de données dans l’interface utilisateur
- Sous l’onglet Données, cliquez sur Graphiques de données.
- Cliquez sur Créer un nouveau graphique de données puis, dans la boîte de dialogue qui s’affiche (Nouveau graphique de données), cliquez sur Nouvel élément.
- Dans la boîte de dialogue qui s’ouvre, personnalisez l’élément, puis appliquez la même méthode pour ajouter d’autres éléments personnalisés.
Vous pouvez également créer des formes de base de graphique de données et les remplir avec des éléments graphiques existants par programme. Vous ne pouvez pas créer d’éléments graphiques par programme, mais vous pouvez personnaliser le comportement des graphiques de données existants. En outre, vous pouvez utiliser du code pour modifier le comportement et la position des éléments graphiques, ainsi que les règles, appelées expressions, qui définissent la manière dont les éléments graphiques affichent les données. Ces expressions peuvent être des formules ShapeSheet ou des expressions ShapeSheet conformes, ainsi que des étiquettes de données de forme (propriété personnalisée). Pour définir une expression qui est une étiquette de données de forme, vous devez placer l’étiquette entre accolades ({}), puis la transmettre en tant que deuxième paramètre ( Expression) de la méthode GraphicItem.SetExpression .
Une fois que vous avez créé le graphique de données contenant une combinaison personnalisée d’éléments graphiques et défini le comportement de ces éléments, vous pouvez appliquer le graphique de données aux formes associées aux données, par programme.
Objets et membres des graphiques de données
Outre les objets Master du type visTypeDataGraphic décrits à la section précédente, Visio dispose des objets suivants et de leurs membres associés dans son API des graphiques de données :
En plus de ces objets spécifiquement associés aux graphiques de données et leurs membres, plusieurs membres d’autres objets Visio plus conventionnels constituent une partie de l’API des graphiques de données. Par exemple, les propriétés Shape.DataGraphic et Selection.DataGraphic vous permettent d’appliquer des graphiques de données à des formes et des sélections respectivement. La propriété Shape.IsDataGraphicCallout en lecture seule indique si une forme spécifique fonctionne comme un élément de graphique de données dans votre dessin.
Application des graphiques de données à des formes associées à des données
L’exemple suivant montre comment utiliser la propriété Selection.DataGraphic pour appliquer un graphique de données personnalisé existant que vous créez dans l’interface à une sélection de formes de votre dessin. Pour que ce code fonctionne, le graphique de données personnalisé existant doit être nommé « MyCustomDataGraphic ». Vous pouvez également remplacer le nom d’un graphique de données existant dans votre dessin par « MyCustomDataGraphic » dans le code.
Public Sub ApplyDataGraphic()
Dim vsoSelection As Visio.Selection
ActiveWindow.SelectAll
Set vsoSelection = ActiveWindow.Selection
Set vsoSelection.DataGraphic = ActiveDocument.Masters("MyCustomDataGraphic")
End Sub
Personnalisation du comportement des formes de base de graphique de données
Utilisez les propriétés Master.DataGraphicHidden et Master.DataGraphicHidesText pour personnaliser certains aspects du comportement des maîtres de graphique de données.
La propriété DataGraphicHidden détermine si une forme de base de graphique de données apparaît dans la galerie Graphiques de données de l’interface Visio. Lorsque vous donnez la valeur True à cette propriété pour une forme de base spécifique, cette forme n’apparaît pas dans la liste des graphiques de données de la galerie. La valeur par défaut de la propriété est False.
La propriété DataGraphicsHidesText détermine si le fait d’appliquer une forme de base masque le texte de la forme à laquelle elle est appliquée (la forme principale dans le cas d’un groupe de formes). La valeur par défaut de cette propriété est également False.
La propriété GraphicItem.UseDataGraphicPosition détermine s’il faut utiliser la position de légende par défaut actuelle pour les éléments graphiques de la forme de base du graphique de données auquel appartient la collection GraphicItems . La position de légende par défaut pour les éléments graphiques dans la collection GraphicItems d’un objet Master de type visTypeDataGraphic est spécifiée par les paramètres des propriétés Master.DataGraphicVerticalPosition et Master.DataGraphicHorizontalPosition . Si UseDataGraphicPosition a la valeur True, l’élément graphique est positionné en fonction du paramètre par défaut. Si UseDataGraphicPosition a la valeur False, sa position est déterminée par les paramètres des propriétés Graphic Item.VerticalPosition et GraphicItem.HorizontalPosition .
En outre, si les valeurs de la propriété HorizontalPosition et VerticalPosition de l’élément graphique sont identiques à celles des propriétés DataGraphicHorizontalPosition et DataGraphicVerticalPosition, la valeur de la propriété UseDataGraphicPosition de cet élément graphique prend automatiquement la valeur True.
Notez cependant que vous pouvez repositionner manuellement un graphique de données qui a été appliqué à une forme en utilisant la poignée de contrôle du graphique de données. Une position définie par cette méthode est prioritaire à celle spécifiée en définissant les propriétés.
La propriété Master.DataGraphicShowBorder détermine si une bordure est affichée autour des éléments graphiques qui se trouvent à des positions par défaut par rapport à la forme à laquelle un graphique de données est appliqué. Par défaut, la bordure est masquée.
Assemblage de graphiques de données par programme
L’exemple suivant montre comment créer une forme de base de graphique de données, y ajouter un élément graphique existant, puis modifier l’élément. Cet exemple se sert de la méthode Masters.AddEx pour ajouter une nouvelle forme de base de graphique de données à la collection Masters du document actif.
L’exemple fait ensuite appel à la méthode Master.Open pour obtenir une copie de la forme de base de graphique de données pour la modifier. Pour plus d’informations sur la nécessité de modifier une copie et non la forme de base elle-même, consultez la méthode Open. Ensuite, il utilise la méthode GraphicItems.AddCopy pour ajouter une copie d’un élément graphique existant à la collection GraphicItems du nouveau maître, et la méthode GraphicItem.SetExpression pour modifier le champ de données que l’élément graphique représente. Il définit par ailleurs la propriété GraphicItem.PositionHorizontal pour modifier la position horizontale de l’élément graphique par rapport à la forme à laquelle il est appliqué.
Enfin, il donne la valeur True à la propriété Master.DataGraphicHidesText pour masquer le texte de la forme, puis ferme la copie de la forme de base, ce qui applique les modifications aux formes existantes auxquelles la forme de base de graphique de données est appliquée. Vous pouvez ensuite appliquer la nouvelle forme de base de graphique de données à d’autres formes de base.
Public Sub AddNewDataGraphicMaster()
Dim vsoMaster As Visio.Master
Dim vsoMasterCopy As Visio.Master
Dim vsoMaster_Old As Visio.Master
Dim vsoGraphicItem As GraphicItem
Dim vsoGraphicItem_Old As Visio.GraphicItem
Set vsoMaster = ActiveDocument.Masters.AddEx(visTypeDataGraphic)
Set vsoMasterCopy = vsoMaster.Open
Set vsoMaster_Old = ActiveDocument.Masters("old_master_name")
Set vsoGraphicItem_Old = vsoMaster_Old.GraphicItems(1)
Set vsoGraphicItem = vsoMasterCopy.GraphicItems.AddCopy(vsoGraphicItem_Old)
vsoGraphicItem.SetExpression visGraphicExpression, "new_data_field_name"
vsoGraphicItem.PositionHorizontal = visGraphicLeft
vsoMasterCopy.DataGraphicHidesText = True;
vsoMasterCopy.Close
End Sub
Le code ci-dessus suppose que vous connaissez le nom de la forme de base de graphique de données existante qui contient un ou plusieurs éléments graphiques, ainsi que les ID d’un ou plusieurs éléments graphiques que vous souhaitez ajouter à la nouvelle forme de base. Vous pouvez déterminer le nom d’une forme de base de graphique de données en déplaçant la souris sur la forme de base dans le volet Graphiques de données. Vous pouvez également déterminer le nom des formes de base et des ID en parcourant la collection Masters du document actif, comme illustré dans le code ci-dessous.
For intCounter = 1 To ActiveDocument.Masters.Count
If ActiveDocument.Masters(intCounter).Type = visTypeDataGraphic Then
Debug.Print ActiveDocument.Masters(intCounter).Name, ActiveDocument.Masters(intCounter).ID
End If
Next
De même, vous pouvez itérer au sein de la collection GraphicItems d’une forme de base pour déterminer les valeurs des propriétés ID et Tag d’un élément graphique existant, comme illustré dans l’exemple suivant. La propriété Tag est une chaîne que Visio n’utilise pas. Il est vide par défaut. Toutefois, vous pouvez définir sa valeur pour faciliter l’identification des éléments graphiques individuels par programmation.
For intCounter = 1 To (vsoMaster_Old.GraphicItems.Count)
Debug.Print vsoMaster_Old.GraphicItems(intCounter).ID, oldMaster.GraphicItems(intCounter).Tag
Next
Pour voir un exemple de code qui montre comment personnaliser des graphiques de données par programmation, téléchargez le Kit de développement logiciel (SDK) Visio et consultez la bibliothèque d’exemples de code (Code Samples Library).
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.