Salut consiliblob
Si tu envisages de faire des manips sur des séries d'objet, il vaut mieux les indexer : ils auront tous le même nom, mais on pourra leur parler grace à un chiffre :
Pour indexer :
- Créé un premier Label1
- Dans la propriété Index, mets lui 0 (zéro)
- Ensuite, fais un copier coller de ce label1.
Tu auras 16 fois le Label1 avec les index 0 à 15 (l'indexation peut commencer à 1, mais en cas de "coller", VB cherche le premier index dispo et c'est 0 -> change-le après avoir coller tous tes labels)
Ensuite, pour modifier le contenu de tes 16 Label1 :
For r = 0 to 15 Label1(r).Caption = "Bla bla bla" Next r |
Si tu n'indexes pas tes contrôles, ça va être plus cotton :
On va supposer qu'ils s'appellent Label1, Label2, ..., Label16
Pour modifier le contenu de ces 16 Label là :
Dim xx As Object, Temp As String For Each xx In Me Temp = xx.Name If Temp Like "Label*" Then Temp = Mid(Temp, 6) ' Prend les caractères après Label If Val(Temp) >= 1 And Val(Temp) <= 16 Then _ xx.Caption = "hhh" End If Next |
Nota : Il n'est pas possible d'indexer les objets sous VBA de Excel, Word ou Access --> ça ne marche que sous VB6 (et .Net)
Vala
Jack