Bonjour,

J'ai créé un formulaire de façon dynamique à partir d'une feuille Excel. en attribuant à chaque zone créée un nom de variable associé à un numéro que j'incrémente.
ex: Variable1, Variable2....

Mon problème est le suivant je créé ce formulaire dans une procédure Userform_initialize()

Mais je n'arrive pas à récupérer mes données dans ma procédure cmdvalider_click()

voici mon code source(très très résumé!)

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
22
 
Private Sub UserForm_Initialize()
  Dim TxtActivite(1 To 100) As Control
 
    h = 1
  'Initialisation des boites contenant les activités
    Set TxtActivite(h) = Controls.Add("Forms.TextBox.1")
    TxtActivite(h).Text = FeuilleActivite.Cells(h, 1).Value
    TxtActivite(h).Left = 108
    TxtActivite(h).Top = 0 + (h * 24)
    TxtActivite(h).Width = 210
    TxtActivite(h).Height = 18
 
End Sub
 
Private Sub CmdValider_Click()
     Dim h As Integer
     Dim TxtActivite(1 To 100) As Control
     h = 1
 
     If (TxtActivite(h) <> "") Then
...
c'est la qu'Excel me sort sa fameuse phrase:
variable objet ou variable de bloc with non définie

En clair il ne connait pas la variableTxtActivite(h) dans ma procédure CmdValider_Click


Si vous avez une idée sur la résolution de mon problème...