Bonjour à tous,

nouvel utilisateur de visio, avec quelques bases en VBA excel, j'ai une question pour le forum :

Contexte :
je souhaite créer un plan d'implantation de solution bureautique grace à visio. J'ai une base de données sous excel pour les caracterristiques de ces solutions (pc, imprimantes...). J'ai réussi à lier ma base avec les objets dans ma feuille visio et lors de l'enregistrement en page web, mes infos (clic sur image avec touche ctrl) s'affichent correctement dans la page.

Ma question :
Ayant un grand nombre d'objet à inserer sur certainnes pages, je voudrais utiliser un code VBA (exemple ci dessous) pour lier les objets et la base en automatique : incrementer N° objet et N° index base par une boucle while.
Mon pb est que j'arrive à incrementer le N° de l'objet mais pas le N° d'index.
exemple code :
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
Sub Macro7()
 
    Dim UndoScopeID1 As Long
    UndoScopeID1 = Application.BeginUndoScope("Propriétés personnalisées")
    Dim vsoShape1 As Visio.Shape
    Dim intPropRow2 As Integer
    Dim num As Integer
    Dim nom As String
 
    num = 2 'numero de départ des objets
 
    while num < 50
    nom = "BOD" & num - 1 'nom de mon index
    Set vsoShape1 = Application.ActiveWindow.Page.Shapes.ItemFromID(num) ' N° objet
    intPropRow2 = 0
    vsoShape1.CellsSRC(visSectionProp, intPropRow2,     visCustPropsValue).Formula = nom ' N° index base de donnée
    Application.EndUndoScope UndoScopeID1, True
    num = num + 1
    wend
 
End Sub
Ce code bloque sur le n° de l'index.

Merci d'avance de vos réponses