Comment compté le nombre de check box dans une feuille?

dufourfabien Messages postés 1 Date d'inscription jeudi 24 février 2011 Statut Membre Dernière intervention 24 février 2011 - 24 févr. 2011 à 21:58
rv83toulon Messages postés 68 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 avril 2013 - 28 févr. 2011 à 09:01
bonjour à tous,

Voila je suis novice en programmation VBA et j'ai unsouci sur une aplication que j'assaye de développé
Avec la procédure suivante j'ai créer des check bos dés que l'utilisateur entre la date dans la collone D
Sub AddCheckBoxToCell(Ref_Cell As Range)


Dim ChkBox
Dim N As Double

With Ref_Cell.Cells(1, 1)
refLeft = .Left
refTop = .Top
refHeight = .Height
End With

Set ChkBox = ActiveSheet.CheckBoxes.Add(10, 10, 15, 12)

N = (refHeight - ChkBox.Height) / 2#

With ChkBox
.Caption = ""
.Top = refTop + N
.Left = refLeft
.OnAction = ""
End With

End Sub

Seulement voila, les check box ne renvoye pas de valeur dans une cases et je ne peux pas les associé car il se crée au fur est à mesure du nombre de ligne.
L'idée etant de pouvoir compter le nombre de check box sur la plage E16 E25 et de renvoyer le nombre de vrai dans la case D15

Est ce que quelqu'un aurait un code à me proposer pou m'aider s'il vous plait ????
Merci d'avance de votre aide


fabien

2 réponses

us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
25 févr. 2011 à 17:40
Bonjour,

Compter le nombre vrai ? que veux-tu dire ? Le nombre de checkbox coché ?

Amicalement,
Us.
0
rv83toulon Messages postés 68 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 avril 2013
28 févr. 2011 à 09:01
Bonjour,
Voici un code qui compte le nbr total de checkboxes de la feuil1 ainsi que celles qui sont cochées et affiche le résultat dans un msgbox.

Adapte le à ton problème :
Sub Compter_checkbox_Formulaire()
Dim Chck As CheckBox, nbctrlvrai As Integer, nbctrl As Integer
    
    'Boucle sur les checkboxes formulaires de la Feuil1
    For Each Chck In Sheets("Feuil1").CheckBoxes
        'si la case est cochée
        If Chck.Value = xlOn Then
          nbctrlvrai = nbctrlvrai + 1
          nbctrl = nbctrl + 1
        Else
          nbctrl = nbctrl + 1
        End If
    Next Chck

MsgBox "Il y a " & nbctrl & " Checkboxes, dont " & nbctrlvrai & " de cochées."

End Sub


Tiens nous au courant...
@+
0
Rejoignez-nous