Bonjour à vous et merci de votre temps et de votre aide.

Dans le cadre de mon outil pour visualiser un modèle entité/relation d'un base de données, j'ai réussi à créer mes tables (entités). Chacune de ces table contients des champs (attributs).

Maintenant j'essaye de relié 2 champs (visio.shape) entre eux par un trait.

J'ai réussi à créer le trait et je voudrait relié le trait ou champ 1 et le trait au champ 2.

J'ai trouvé la méthode .GlueTo mais je suis incapable de trouver la bonne syntaxe.

Est-ce que quelqu'un pourrait m'expliquer comment faire de manière plus clair que dans l'aide de M$ ?

Voici le code que j'ia fait à date mais qui ne fonctionne pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub CreerRelation(prmChamp1 As Visio.shape, prmChamp2 As Visio.shape)
    'prmChamp1 est le 1er champ
    'prmChamp2 est le 2nd champ

    Dim listeDocuments As Visio.Documents: Set listeDocuments = Application.Documents
    Dim listeForme As Visio.Document: Set listeForme = listeDocuments.OpenEx("DBCROW_M.VSSX", visOpenDocked)
    Dim page As Visio.page: Set page = Application.ActivePage
    
    Dim masterRelation As Visio.master: Set masterRelation = listeForme.Masters.ItemU("Relationship")
    Dim relation As Visio.shape: Set relation = page.Drop(masterRelation, 5, 5) 'Ça c'est le trait
    relation.Name = prmChamp1.Name & "-" & prmChamp2.Name
    
    Dim cell1 As Visio.Cell: Set cell1 = prmChamp1.Cells("Connections.bottom") 'Erreur ici : fin de fichier
    Dim cell2 As Visio.Cell: Set cell2 = relation.Cells("Connections.bottom")
    Call cell1.GlueTo(cell2)
    
    Set relation = Nothing
    Set masterRelation = Nothing
    Set page = Nothing
    Set listeForme = Nothing
    Set listeDocuments = Nothing
End Sub
A+