Extraire des données de formes

Bonjour à tous,

J'ai une problématique très particulière je sais même pas si c'est possible.

Pouvons nous via un userform par exemple présent dans un fichier Excel ouvrir un fichier visio, et lorsque l'on clique sur un bouton OK, extraire toutes les données de formes présents dans le fichier visio dans un nouveau fichier Excel.

Je sais que dans un visio l'option extraire les données de formes est déjà présente mais j'aimerais extraire ses données depuis Excel sans toucher le visio.

Je sais pas si ça sera clair pour tous le monde. Mais j'aimerais déjà savoir si c'est faisable.

Bonjour,

Sous Visio, si je ne m'abuse, il y a (comme pour Excel), un enregistreur de macro.

Pourrais-tu l'utiliser pour réaliser l'extraction et nous transmettre le code fournit?

Bonjour Pijaku,

Oui j'ai essayé aussi mais pas d'informations cruciales. Je te mets tout de même le code au cas ou j'aurais raté quelque chose.

Sub Macro2()

    'Enable diagram services
    Dim DiagramServices As Integer
    DiagramServices = ActiveDocument.DiagramServicesEnabled
    ActiveDocument.DiagramServicesEnabled = visServiceVersion140 + visServiceVersion150

    'Restore diagram services
    ActiveDocument.DiagramServicesEnabled = DiagramServices

End Sub

Pour information, j'ai juste réussi à comptabiliser le nombre de forme présent dans le document. Avec le code suivant (je sais pas si ça peut aider) :

Public Sub Shapelist()
Dim i, compteur As Integer
Dim Pages As Visio.Pages

Set Pages = ThisDocument.Pages

'Calcul total shapes
For i = 1 To ThisDocument.Pages.Count
compteur = compteur + ThisDocument.Pages.Item(i).Shapes.Count
Next i
MsgBox (compteur)
End Sub

Merci pour le lien je vais aller voir.

Si d'autres personnes ont des idées je suis preneur

Bonjour,

Que te donne la macro du lien microsoft?

Bonjour Pikaju,

Tu trouveras ci-joint le screen de l'erreur. Je cherche justement quoi utliser pour visio 2010.

capture

Ci joint un exemple de ce que j'ai dans les données d'une forme. Il faut juste que j'arrive a trouver comment s'appellent les variables à gauche après je peux au moins avancer.

sans titre

Malheureusement, je ne pourrais pas en faire beaucoup plus, ne disposant pas de Visio...

Regarde du côté de l'objet Shape de visio, tu en trouveras les méthodes et propriétés ici :

https://docs.microsoft.com/fr-fr/office/vba/api/visio.shape

Je vais regarder. Dans tout les cas merci. Si j'arrive à faire quelque chose je te dirai comment j'ai fait afin que certains puissent en bénéficier.

Je veux bien essayer de mon côté.

Peux-tu m'envoyer un fichier visio?

Pas de soucis, je t'envoie le visio ainsi que le fichier excel extrait en passant par "Révision"/"Rapport sur la forme". Le but est de faire la même chose en passant par VBA et surtout depuis un fichier excel car je ne dois pas toucher au visio.

19exemple.xlsx (10.60 Ko)
23exemple.zip (41.53 Ko)

Bon.

Sans Visio, je ne dispose pas de la Librairie me permettant de t'aider.

Néanmoins, une dernière piste : serait-il possible d'exporter ton fichier .vdsx en .xml?

Oui le voici.

30rapport-2.xml (6.34 Ko)
Rechercher des sujets similaires à "extraire donnees formes"