Afficher en temps réel le nombre de cases cochées

Bonjour à tous,

Bonne fête de pâques

J’ai un souci pour lequel je sollicite votre aide. Voila j’aimerai pouvoir afficher sur un formulaire le nombre de cases cochées et cela en temps réel. Je m’explique j’ai un formulaire avec disons 5 cases a cochées (checkbox1….checkbox5) et je souhaiterais que a chaque fois que je coche ou décoche une case à cocher, le nombre de cases cochées s’affiche en même temps dans une case (texbox1)

A titre d’exemple je joins un fichier pour faciliter mes choses.

Merci encore pour appui.

Bonjour,

Private Sub Workbook_Open()
    Excel.Application.Visible = False '!!!!!!!!!!
    Application.WindowState = xlMinimized '!!!!!!

ça, c'est pour embêter les helper ?
A proscrire stp, désactiver tout workbook_open.

' pour chaque CheckBox :
Private Sub CheckBox1_Change()
    cptChk
End Sub

Sub cptChk()
    Dim nb As Long
    For Each ctrl In Me.Controls
        Select Case TypeName(ctrl)
            Case "CheckBox"
                nb = nb - ctrl.Value
        End Select
    Next ctrl
    TextBox1 = nb
End Sub

eric

Salut Eric,

Désolé pour le workbook_open.je l’ai désactivé. Merci pour la proposition, j’avoue ne pas comprendre cette ligne … nb = nb - ctrl.Value

Cela dit j’ai essayé de faire quelque chose a partir de ce que tu propose mais je n’obtiens rien dans la case Texbox1. Voici le fichier actualisé.

Stp pourrais-tu y jeter un œil et me dire ce qui ne va pas ?

Merci

une checkbox a pour valeur True/False.
False
True en VBA = -1, il faut donc soustraire pour additionner les cochées et ne pas avoir de nombre négatif.

La proc était prévue pour être copiée dans le module UserForm1.
Si tu la mets dans un module standard (c'est bien, tu peux laisser) il faut lui préciser où est la textbox :UserForm1.TextBox1 = nb
eric

Edit : corrigé False en True dans le texte. Et False =0

Salut Eric,

Merci beaucoup ça marche impeccable. Tu es un génie. Je le met en résolu.

Une dernière chose stp. Avec 5 checkbox, ce n'est pas pénible d’écrire un code par checkbox. Mais si on a une cinquantaine de chekbox, n'aurais tu pas une astuce qui éviterait d’écrire des codes pour ces 50 chekbox?

je pense a un truc du genre ( j'imagine n'importe quoi, mais juste donner une idée de ce que je veux dire)

Private Sub CheckBox&i_Change()
              cptChk

Bonjour,

non, pas possible comme ça.
Peut-être avec un module de classe (?) mais là ça dépasse mes compétences.

Par contre ce que tu peux faire c'est un bouton (ou un autre événement) qui les balaie pour donner le compte. Mais ce n'est plus du temps réel
eric

OK Compris

Merci déjà pour le beau boulot.

Bonjour…

Une multitude de boutons laisse prévoir une éruption de problèmes !

Je préfère dans ce cas des Cases à cocher remplacées par un contrôle Listbox en Multisect avec pour le fichier joint,

listbox pour checkboxes
Rechercher des sujets similaires à "afficher temps reel nombre cases cochees"