Checkbox Caption

Signaler
Messages postés
35
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
5 juin 2008
-
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour, je me prend la tête sur un pb ou je dois nommer le nom d'une checkbox en fonction d'une variable.
J'ai essayer de raisonner en terme d'objet et j'ai déclaré "bouton" et "ventilation_userform " comme des objets. je devrais pouvoir accéder à leur propriété et je dois merder quelquepart. quelqu'un peut il m'aider stp ??
Le débuggeur me dit "Objet requis" sur la ligne For Each....

Dim bouton As checkbox
Dim ventilation_userform As UserForm

For Each bouton In ventilation_userform
bouton.Caption = nom_ventil(i)
Next

Merci!

6 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
Salut,

Private Sub UserForm_Initialize()

    Dim chkBoxes As Control, i As Integer
    
i =  0
    
For Each chkBoxes In Me.Controls
    If TypeOf chkBoxes Is MSForms.CheckBox Then _
        chkBoxes.Caption = nom_ventil(i): i = i + 1
Next chkBoxes

End Sub


~ <small> [code.aspx?ID=39466 Mortalino] </small>
~

@++

<hr size ="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
35
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
5 juin 2008

Salut,
Merci pour ta réponse rapide, mais je voudrais appeler ça depuis un module, je peux?
Quand est ce que l'évènement initialize se déclenche?
Messages postés
35
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
5 juin 2008

Et c'est quoi Me ?
Pourquoi pas utiliser mon ventilation_userform comme objet puisque je le déclare comme tel? La propriété checkbox devrait être évidente si je déclare mon userform, je vois pas pourquoi mon bout de code marche pas? tu peux me le corriger stp?
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
Alors remplace ME par le nom du UserForm : ... In Me.Controls

Et non, change le nom de la sub, par exemple Public Sub Chk_Caption()
Et quand tu en as besoins, Call Chk_Caption

Par contre fais en sorte que ton tableau de données nom_ventil sois accessible, sinon, t'auras aucuns captions de renseignés.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
33
Arfff sacré Mortalino, il a répondu en VBA au lieu de VB6

L'évènement Initialize en VBA est l'équivalent des évènements Initialize + Load en VB6 (plutot Load que initialize d'ailleurs).

Donc en VB6, le code est à mettre dans le Form_Load

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
Salut Casy,

il est en VBA, (MP)
Lamquin, d'ailleurs, j'attends toujours ton classeur..

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--