Scoubi7
Messages postés88Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention22 février 2017
-
16 août 2007 à 13:42
Scoubi7
Messages postés88Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention22 février 2017
-
16 août 2007 à 17:00
Bonjour !
Ayant l'habitude de VBA, je me suis attelé à VB pour agrandir mon domaine de capacité, mais je rencontre maintenant un problème pour boucler sur des "Forms" styles "CheckBox".
Avant sous VBA, j'aurais tapé un truc du style :
Dim N as Integer
Dim CheckBoxN As CheckBox
For N = 1 to 50
CheckBoxN = "CheckBox" & N
If CheckBoxN.Visible=False Then ' J'ai simplifié le Code mais s'il l'action est vraie, d'autres actions se produisent
CheckBoxN.CheckState= CheckState.Unchecked 'notamment que les Checkeds mis en italique disparaissent le soir
CheckBoxN.Visible=True ' et les unChecked soient le lendemain en 1° position
End If
1:Next N
Malheureusement, VB (contrairement à VBA) m'informe qu' "Une valeur de type 'String' ne peut pas être convertie en 'System.Windows.Forms.CheckBox'"
J'ai vu que l'on pouvait avoir recours à des fonctions telles "CString" ou "ToObject",... et en ai essayé plusieurs sans succès !
Par contre il est important que je conserve ma boucle "For" et "
CheckBoxN = "CheckBox" & N" et pas que j'ai recours à une "bidouille" !
Si quelqu'un pouvait me donner la solution...
Merci...
cs_Chatbour
Messages postés764Date d'inscriptionjeudi 27 juillet 2006StatutMembreDernière intervention 6 septembre 201019 16 août 2007 à 14:50
Salut,
Pardonnez moi j'ai pas beaucoup compris ce que vous voulez faire : Nommer des CheckBox existant ? ou bien les créer par clonage ? parlant pas du soir et du lendemain..
cs_etniqs
Messages postés201Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention10 mai 2016 16 août 2007 à 15:44
Vouich, alors, je te conseilles d'essayer un truc :
tu fais "copier" ton checkbox et "coller" (dans le même useform), et là, dans VB, il te demande si tu veux créer une liste de l'objet, tu réponds "oui".
Tu crées ainsi une liste de checkbox, qu'il te suffira d'appeler en faisant :
checkbox(N).Visible = true
ou bien :
checkbox(N).CheckState = ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Scoubi7
Messages postés88Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention22 février 2017 16 août 2007 à 15:58
etniqs : j'ai VB 2007 Express et quand je fais copier/coller (ce que j'avais fait pour les créer), il ne me propose rien et étant un Newbee en VB (et pas VBA) comme puis-je faire autrement ?
Scoubi7
Messages postés88Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention22 février 2017 16 août 2007 à 16:11
et comment puis-je définir une collection (si c'est la même chose que la liste dont tu parles) sachant que le nombre de mes CheckBox est variable ?
J'ai essayé :
For each Ctrl in System.Windows.Forms et ça marche pas ... je ne trouve rien avec leur aide intégrée (ou je suis nul ou c'est une cata)...
Scoubi7
Messages postés88Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention22 février 2017 16 août 2007 à 16:35
je vois pas avec ma méthode (la tienne je n'y suis toujours pas arrivé) comment obtenir à partir de la collection crée "manuellement" quelquechose du style checkbox(N), comme toi...
Scoubi7
Messages postés88Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention22 février 2017 16 août 2007 à 17:00
C'est bête que ta technique je ne sache pas la faire fonctionner sous VB 2005 (et pas 2007, j'ai dit n'importe quoi), elle a l'air plus simple...
Et merci pour ton tuyau macollection(N), mais ma technique postée juste avant me semble plus simple...
Encore merci !