Bonjour à tous,
Actuellement je réalise un code vba qui me permets de remplacer des formes visio par des nouvelles formes présentes dans une bibliothèque ".vssx". Lorsque j'intégre le code suivant directement dans mon fichier visio tout fonctionne parfaitement :
Public Sub vso()
Dim MonApplication As Object
Dim MonFichier As String
Dim shpObjs As Visio.Shapes
Dim shpObj As Visio.Shape
Dim celObj As Visio.Cell
Dim PagObj As Visio.Page
Dim visShp As Visio.Shape
Dim visShps As Visio.Shapes
Dim a As String
'Set MonApplication = CreateObject("Shell.Application")
'
'MonFichier = "C:\adresse\Test.vsd" 'choix du fichier
'MonApplication.Open (MonFichier)
For Each PagObj In ActiveDocument.Pages
For Each visShp In PagObj.Shapes
a = Split(visShp, ".")(0)
If (InStr(1, "sensor", a, vbTextCompare) <> 0) Then
visShp.ReplaceShape Application.Documents.Item("C:\adresse\v9.vssx").Masters.ItemU("ANA Sens")
End If
Next visShp
Next PagObj
End Sub
or j'aimerais pouvoir changer ces formes depuis Excel. J'ai donc changé un petit peu le code afin de pouvoir l'intégrer directement à Excel et la j'ai une erreur "propriété ou méthode non gérée par cet objet". Voici le code pour Excel :