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 :
Ce code bloque sur le n° de l'index.
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
Merci d'avance de vos réponses
Partager