J'ai repris un exemple dans un ancienne discussion pour expliquer ma difficulté : je voudrais limiter le nombre de checkbox coché à 3 sur les 8 existants dans le groupname (regroupé dans un frame). Le problème est que sur le même userform, j'ai d'autres cases à cocher (que je ne veux pas compter dans la limite des 3).
Je ne comprends pas quelle modification apportée au module de classe de l'exemple joint.
Pour aller un peu plus loin, je voudrais qu'une msgbox s'affiche lorsque l'utilisateur tente de cocher une 4ème case du groupname.
Re : Limiter le nombre de checkbox coché au sein d'un groupname (ou d'un frame)
Bonjour laetitia90,
Merci pour ta proposition. Elle marche parfaitement également et me semble légèrement plus facile à comprendre pour quelqu'un qui ne maitrise pas du tout les modules de classe.
J'ai seulement une incompréhension : qu'est-ce qui fait que la limitation à 3 checkboxs s'applique uniquement au Frame1 et pas au Frame2 ?
Re : Limiter le nombre de checkbox coché au sein d'un groupname (ou d'un frame)
re tous
c'est encore plus simple dans ce cas la
dans tag du frame 2 tu met egalement 0
code classe
Code:
Public WithEvents cbx As msforms.CheckBox
Private Sub cbx_Click()
With cbx.Parent
.Tag = .Tag + IIf(cbx, 1, -1)
If .Tag = 4 Then cbx = 0: MsgBox " 3 Checkboxs max.."
End With
End Sub
je considere que tu as seulement 2 frames avec des checks si plus il faut rajouter la condition
Re : Limiter le nombre de checkbox coché au sein d'un groupname (ou d'un frame)
Je suis impressionné !!
Je pense avoir fais quelques progrès en VBA mais il me reste encore beaucoup de chemin...
J'ai compris le raisonnement mais si j me retrouve avec une problématique similaire dans quelques jours, je ne suis pas sur de m'en sortir...
Re : Limiter le nombre de checkbox coché au sein d'un groupname (ou d'un frame)
Re Bonjour Jean-Marcel, Laetitia,
Je viens d'adapter vos propositions à mon fichier, c'est nickel.
J'aurais besoin de quelques cours...
Merci pour votre aide,