dks31
Messages postés14Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention21 août 2018
-
23 mai 2004 à 04:22
JacquesLeBlanc
Messages postés3Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention22 juin 2004
-
22 juin 2004 à 20:27
Bonjour à tous,
Je sais que vous allez bondir vu ne nombre de question sur ce theme, mais apres y avoir passé beaucoup de temps, je n'y arrive toujours pas...
Dans un UserForm d'Excel, je place un CheckBox que j'appelle CKB. A TagIndex, je mets 0. Et je le rend invisible.
Ensuite je tape mon code:
Private Sub UserForm1_Activate ()
For i = 0 To 5
Load CKB (i)
CKB (i).Caption = "Option " & i
CKB (i).Visible = True
Next
End Sub
Et là, à chaque fois, c'est la meme chose: J'ai une erreur 13 au niveau du Load ("Incompatibilité de type").
Je ne vois pas ce que j'ai oublié et là franchement je craque !!! J'ai l'impression d'y etre presque mais ça veut pas...
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 23 mai 2004 à 15:55
Non ce n'est aps cela le Pb le souci c'est qu'il a mis le TabIndex à 0 (et non le TagIndex comme tu l'as écris, je pense qu'il s'agit d'une faute de frappe) Cette propriété n'est pas la bonne !! Elle indique dans quel ordre les controles sont accédé par appuis succéssif sur la touche TAB !! Pour fair eun groupe de controle c'est la prorpriété Index, pas TabIndex. Ton CKB n'ets alors pas membre d'un groupe de controle et donc CKB(i) ne signifie rien du tout pour VB !
A noter que tu sembles travailler en VBA pour Excel et il me semble que tu ne peux aps définir de groupe de controle en VBA ! Je ne suis pas un spécialiste en la matière mais il me semble avoir déjà renseigner quelqu'un sur le sujet et il s'est avérer que VBA n'offrait pas cette fonctionnalité la, si mes souvenirs sont exact !!
dks31
Messages postés14Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention21 août 2018 23 mai 2004 à 16:04
Salut crenaud76,
Effectivement, il s'agit d'une faute de frappe pour TabIndex. Et oui je travaille sous VBA Excel.
En fait, tout ce que j'ai pu trouver sur le sujet parle de mettre l' "Index" à 0. Or je n'ai pas vu de reference "Index" dans les proprietés de CheckBox d'Excel. J'ai supposé qu'il s'agissait de TabIndex mais apparement c'est po ça...
Oui mais... Il existe une solution ?!
Vous n’avez pas trouvé la réponse que vous recherchez ?
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 23 mai 2004 à 16:07
Comme je disais, je ne suis pas un spécialiste VBA, mais il semble possible de travailler avec la collection Controls d eal userform :
Un truc du genre UserForm1.Controls.Add .....
Mais je ne peux pas t'en dire +
Set CKB2 = UserForm1.Controls.Add("Forms.CheckBox.1", "Boutton2", True)
CKB2.Left = 18
CKB2.Top = 100
CKB2.Width = 75
CKB2.Height = 20
CKB2.Caption = CKB2.Name
End Sub
Private Sub CKB1_Click()
CKB1.Enabled = False
End Sub
Private Sub CKB2_Click()
Unload Me
End Sub
Je sais qu'il y a répétition, surtout si tu crée beaucoup de controles dynamiquement, mais c'est rapide et efficace.
J'utilise Excel2000.
Ca fonctionne bien
Amuse toi bien!