Ajouter des Controles automatiquement dans une collection
Bonjour,
J'ai actuellement un programme qui me rajoute tous les UserControles présent dans ma Form dans une collection de manière manuelle et je souhaite le faire de manière automatique. Alors j'ai déjà des pistes sur comment le faire mais j'ai des doutes que sa marche.
Code dans ma Form dans load:
Code:
Call PopullateEQT()
Code dans une classe qui représente la procédure PopullateEQT :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Public Sub PopullateEQT()
Dim nbShape As Integer
Dim i As Integer
Dim S1 As Shape
nbShape = Form1.Shapes.Count
For i = 1 To nbShape
Set S1 = Form1.Shapes.Item(i)
If (Not S1 Is Nothing) Then
If S1.Type <> msoFormControl Then
Call AjouterEQT(S1.Name, S1)
End If
End If
Next i
End Sub |
La procédure AjouterEQT enregistre seulement mon UC dans une collection avec comme clé, le nom du UC. Je vais pas mettre ici cette procédure car elle marche déjà en mode manu.
Par contre ma "Form1" ne reconnais pas le Shapes, j'ai voulu avoir vos suggestions pour remplacer la partie "Shapes" par qqc de plus approprié et revoir le code de la procédure PopullateEQT s'il le faut.
PS: Je rappel que la plus par des UC présents dans mon Form sont des Shapes créer par mon tuteur de stage.