Bonjour,

J'essaie de gérer un multipage via VBA. Tout fonctionne sauf quand je veux adresser une page via un variable VBA de type string. Voici le 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
22
23
24
25
26
27
28
29
30
31
Private Sub UserForm_Initialize()
 
Dim producttypegroupname(5) As String, producttype(5) As String
 
producttypegroupn = 4
producttypegroupname(1) = "Un"
producttypegroupname(2) = "Deux"
producttypegroupname(3) = "Trois"
producttypegroupname(4) = "Quatre"
producttype(1) = "ABC"
 
Me.Caption = "Product Type Choice"
Set MP = Me.Controls.Add("Forms.MultiPage.1")
Controls(0).Name = "MP0"
i = MP.Pages.Count
If i < producttypegroupn Then
  For j = 1 To producttypegroupn
    MP.Pages.Add
    MP.Pages(j - 1).Name = producttypegroupname(j)
    MP.Pages(j - 1).Caption = producttypegroupname(j)
  Next j
End If
i = Controls("MP0").Pages.Count
MP.Pages.Remove (MP.Pages.Count - 1)
i = MP.Pages.Count
MP.Pages.Remove (MP.Pages.Count - 1)
 
MP.Pages(producttypegroupname(1)).Controls.Add ("Forms.checkbox.1")
MP.Pages(producttypegroupname(1)).Controls(0).Caption = producttype(1)
 
End Sub
le problème survient dans les 2 dernières lignes. Si je remplace producttypegroupename(1) par 0 (index de la page) ou par "Un" (Nom de la page), ça marche.

Quelqu'un peut-il m'expliquer ce qu'il se passe ?

Merci