Compter les check boxs d'une UserForm

Diez76

XLDnaute Nouveau
Bonjour,

J'ai réalisé une UserForm avec une trentaine de CheckBox et je souhaiterais afficher dans une TextBox le nombre de CheckBox cochées.

Pour ce faire, j'ai écris cette macro dans un module à part :
Sub toto()
i = 0
For Each ole1 In UserForm1.Controls
If Left(ole1.Name, 5) = "Check" Then
If ole1.Value = True Then
i = i + 1
End If
End If
Next
UserForm1.TextBox1.Value = i
End Sub

Ce bout de code "s'active" lorsqu'une checkbox change de statut.

Le pb de ce code, est qu'il m'oblige, pour chaque CheckBox d'écrire le code suivant :
Private Sub CheckBox1_Change()
Module1.toto
End Sub

Ce qui n'est pas du tout dynamique.

Voyez-vous une autre facon de faire? Sachant que je ne souhaite pas avoir de CommandButton du type "actualiser" pour compter les checBox.

Y-a-t-il un évèvement global de ma UserForm qui pourrait déclencher ma macro ?

Merci pour votre aide,

Cordialement,

Diez
 

JNP

XLDnaute Barbatruc
Re : Compter les check boxs d'une UserForm

Bonsoir #76 et bienvenue :),
Un module de classe devrait résoudre ton problème :p...
Fait une recherche sur ces 2 mots dans le forum, tu trouveras pas mal d'exemples, si tu n'arrives pas à adapter à ton cas, reviens vers nous :)...
Bonne soirée :cool:
 

Papou-net

XLDnaute Barbatruc
Re : Compter les check boxs d'une UserForm

Bonsoir Diez76, et bienvenue,
Bonsoir JNP

Pour t'aider dans tes recherches, voici un petit fichier exemple avec module de classe.

Tu peux à volonté ajouter ou effacer des checkbox, tu n'auras rien à modifier dans le code.

Mais que ceci ne t'empêche pas, comme te le conseille JNP, de poursuivre tes recherches sur la toile. Les modules de classe ne sont pas d'un abord aisé et toute documentation sur le sujet te sera utile.

Cordialement.

PS : si je t'ai concocté ce petit fichier c'est aussi pour me remettre la pratique en mémoire.

Edit : Bonsoir jp
Amicalement.
 

Pièces jointes

  • Diez76.xlsm
    21 KB · Affichages: 82
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Compter les check boxs d'une UserForm

RE jp,

La vieillesse ne serait donc pas liée à l'âge chez les squales ?

Pour ma part, étant fainéant de nature, je m'efforce de penser à l'avenir en réservant mes efforts au maximum. Et quoi de plus pénible que de se replonger dans son propre code après un certain temps ?

Bon, ce n'est pas toujours facile ni même évident mais je dis bien : "je m'efforce !"

VBA a ceci de positif qu'il donne du courage aux paresseux dans mon genre.

Amicalement
 

JNP

XLDnaute Barbatruc
Re : Compter les check boxs d'une UserForm

Re :),
Tant qu'à faire, sans boucle et universel pour tout USF qui serait ajouté, sous réserve de toujours nommer le Label "LabelCompteur" et de lui donner la valeur 0 à l'initialisation
Code:
Private Sub GroupeChoix_Click()
With GroupeChoix
    .Parent.LabelCompteur.Caption = .Parent.LabelCompteur.Caption + IIf(.Value, 1, -1)
End With
End Sub
Bonne journée :cool:
 

Papou-net

XLDnaute Barbatruc
Re : Compter les check boxs d'une UserForm

RE : Bonjour à tous,

@ JNP :

Mais c'est excellent ça ! Tout-à-fait adapté à ma paresse du clavier.
Merci pour cette astuce.
Par contre, je n'ai pas encore réussi à l'adapter à la nouvelle version que je transmets à Diaz76 pour lui montrer la puissance des modules de classe.

@ Diez :

Vois le fichier joint qui traite deux groupes de CheckBox, mais on pourrait en ajouter d'autres.

Cordialement.
 

Pièces jointes

  • Diez76 01.xlsm
    22.4 KB · Affichages: 48
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Compter les check boxs d'une UserForm

Re :),
Mais c'est excellent ça ! Tout-à-fait adapté à ma paresse du clavier.
Merci pour cette astuce.
Par contre, je n'ai pas encore réussi à l'adapter à la nouvelle version que je transmets à Diaz76 pour lui montrer la puissance des modules de classe.
Pas encore assez fainéant :p...
Ton dernier fichier simplifié, avec 1 seule Sub de classe :rolleyes:... ;) !
Bonne suite :cool:
 

Pièces jointes

  • Diez76JNP.xlsm
    22.8 KB · Affichages: 59

Papou-net

XLDnaute Barbatruc
Re : Compter les check boxs d'une UserForm

RE :

Pas encore assez fainéant :p...
Ton dernier fichier simplifié, avec 1 seule Sub de classe :rolleyes:... ;) !

Bien, voilà qui met fin à mes recherches,
Belle maestria de ta part !
Je classe ça pour plus tard,
Merci de m'avoir tendu cette perche.

Je suis si content que j'en fais des rimes,
Et puisque tu te montres si magnanime,
Je te tire mon chapeau
Et te dis à bientôt.

Amicalement
 

JNP

XLDnaute Barbatruc
Re : Compter les check boxs d'une UserForm

Re :),
???

Pas compris le but, et les totaux sont faux (groupe 1) et restent à 0 (groupe 2).

Peux-tu m'expliquer ?

Ajout : il y a comme un bémol, on esr sans nouvelles de notre Diez !
Il s'est amusé a utiliser la propriété Tag pour ne mettre dans la liste que 3 CheckBox, mais c'est vrai qu'avec l'explication, c'est mieux (ou il aurait pu mettre les CheckBox concerné en couleur, et mettre quelques tags dans le 2ème groupe, car là on a perdu l'utilisation du Parent.Parent :rolleyes:) ;)
Quand à notre ami #, s'il est réglé comme du papier à musique, il repassera à 21h45 ce soir :p...
Bonne soirée :cool:
 

Diez76

XLDnaute Nouveau
Re : Compter les check boxs d'une UserForm

Bonjour à tous,

Je suis vraiment désolé pour ma réponse tardive mais je n'ai pas eu le temps de regarder vos réponses avant ce soir....

Merci beaucoup pour vos réponses, qui marchent toutes ! Je pensais pouvoir faire sans module de classe mais visiblement non (naif que je suis...)

En tout cela m'a permis de les découvrir, je vais pouvoir approfondir ca !

Merci pour vos réponses et désolé de ma réponse tardive,

Bonne soirée,

Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Compter les check boxs d'une UserForm

Bonjour à tous, Bienvenue chez les fondus de la Cellule, Diez76

Tu commences fort, Diez
2ième message sur ce forum, et t'en est déjà aux modules de classe ;)
Ça c'est de la progression fulgurante ;)

Le principal c'est que tu sois revenu faire un tit coucou, ça fait toujours plaisir.

Note à moi-même: Pensez à ne pas mettre Diez dans la liste des ignorés, car ma foi, il m'a l'air être un nouveau membre comme on aimerait en voir plus souvent ;) (et en plus il y a 76 dans son pseudo ;) )
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 987
dernier inscrit
Doctami