IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Comment compter les cases à cocher [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut Comment compter les cases à cocher
    Bonjour,

    Pourriez-vous m'aider SVP, je cherche à compter les cases à cocher dans un document Excel 2003 sur un formulaire de réponses oui/non.

    N'étant pas très douée en VBA Excel, j'ai besoin de vous poser quelques questions.

    Je ne sais pas comment faire pour les différencier. L'exemple dans le forum ne correspond pas vraiment à ma demande.

    Je fais quelques enquêtes de satisfaction et je voudrais qu'à chaque fois que l'on coche une case à cocher OUI, un compteur ajoute "1" sans compter celles qui sont cochées "NON".

    Je vous en remercie d'avance.

  2. #2
    Membre confirmé
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut comment compter les cases à cocher


    J'essaye d'avancer en attendant les réponses, j'ai intitulé tous mes "cases à cochées" checkbox1OUI ou checkbox1NON dans la partie "name" des propriétés.

    Actuellement je cherche la bonne formule pour que mon compteur puisse afficher "1" à chaque fois que l'on coche une case à cochée OUI.

    Je pense qu'il est préférable de mettre mon code dans un "bouton" valider pour écrire mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub OK_Click()
    CheckboxOUI = mesCheckbox
    End Sub
    je voudrais ajouter "1" à mon compteur "que je n'ai pas encore fait"
    j'ignore à quel endroit le mettre ?

    Merci beaucoup pour votre aide.

  3. #3
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    si tes checkbox sont dans la feuille :
    nommes tes checkbox check1, check2...ou checkbox1, checkbox2...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub OK_Click()
    Dim obj As OLEObject, comPteur As Long
    For Each obj In ActiveSheet.OLEObjects
       If Left(obj.Name, 5) = "Check" Then
          If obj.Object = True Then comPteur = comPteur + 1
       End If
    Next obj
    MsgBox comPteur
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Membre confirmé
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut
    bonjour,

    merci beaucoup, je vais essayer votre code, la seule chose c'est que moi, je les ai appelé checkboxOUI, ou checkboxNON pour les différencier.



    bonjour,

    le compteur m'indique 0 alors que j'ai coché quelques cases à cocher ?

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub OK_Click()
    Dim obj As OLEObject, compteur As Long
    For Each obj In ActiveSheet.OLEObjects
        If Left(obj.Name, 5) = "check" Then
            If obj.Object = True Then compteur = compteur + 1
        End If
    Next obj
    MsgBox compteur
     
    End Sub
    J'ai précisé que j'avais des cases à cochées OUI et NON !

    A quel endroit dois-je lui préciser ! pour qu'il compte mes cases à cocher.

    J'ai, en effet, plusieurs pages (4) sur chaque page je vais mettre un bouton commande pour qu'il compte.

    Je vous remercie de m'aider.



    Re bonjour,

    j'ai un peu changé mais malheureusement c'est le même résultat ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub OK_Click()
    Dim obj As OLEObject, compteur As Long
    For Each obj In ActiveSheet.OLEObjects
        If Left(obj.Name, 5) = "checkboxOUI" Then
        checkboxOUI = mescheckbox
           If obj.Object = True Then compteur = compteur + 1
        End If
    Next obj
    MsgBox compteur
     
    End Sub
    Merci de m'aider !

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Adapte le nom de la feuille (ici Feuil1) et teste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    Sub Compter()
     
        Dim Objet As OLEObject
        Dim CaseACocher As MSForms.CheckBox
        Dim I As Integer
     
        For Each Objet In Worksheets("Feuil1").OLEObjects
     
            Set CaseACocher = Objet.Object
     
            If TypeName(CaseACocher) = "CheckBox" Then
                If CaseACocher.Value = True Then
                    I = I + 1
                End If
            End If
     
        Next
     
        MsgBox I
     
    End Sub
    Hervé.

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Bonjour,

    pour le nombre de Cases à cocher "...OUI", essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub OUI_Click()
      Dim obj As Object, comPteur As Long
      On Error Resume Next 's'il y a aussi des contrôles ActiveX
      For Each obj In Me.Shapes
        If Left(obj.Name, 2) = "Ch" Then
          obj.Select
          If Right(Selection.Characters.Text, 3) = "OUI" Then comPteur = comPteur + 1
        End If
      Next
      MsgBox comPteur
      Range("A1").Select 'ou autre cellule
    End Sub

  7. #7
    Membre confirmé
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut
    Bonjour,

    çà ne marche toujours pas, j'ai une erreur :

    "erreur d'exécution 13" incompatibilité de type !

    voici le code que j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub OK_Click()
    Dim objet As OLEObject
    Dim CaseACocher As MSForms.CheckBox
    Dim i As Integer
     
    For Each objet In Worksheets("page 1").OLEObjects
    Set CaseACocher = objet.Object
    If TypeName(CaseACocher) = "CheckBox" Then
    If CaseACocher.Value = True Then
    End If
    End If
    Next
    MsgBox i
     
     
    End Sub
    Je ne comprends pas, merci de m'aider.

    j'ai même fait beuguer mon document Excel en compilant les deux codes !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub OK_Click()
    Dim objet As OLEObject, compteur As Long
    For Each obj In ActiveSheet.OLEObjects
    Dim CaseACocher As MSForms.CheckBox
    Dim i As Integer
    For Each objet In Worksheets("page 1").OLEObjects
    If Left(obj.Name, 5) = "check" Then
    If obj.Object = True Then compteur = compteur + 1
    If TypeName(CaseACocher) = "CheckBox" Then
    If CaseACocher.Value = True Then
    End If
    End If
    End If
    End If
    Next
    MsgBox compteur
    Next
    End Sub
    Je ne sais plus comment faire, j'ai vraiment besoin de vous pour m'éclairer !


  8. #8
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Content que ça fonctionne. Tu peux donc te contenter, maintenant que tu as compris de mettre "OUI" ou "NON" dans la propriété caption plutot que "checkboxoui" ou "checkboxnon", question de présentation mais ceci est ton choix...

    Bonne continuation !
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Compter les cases à cocher
    Par buzuck20 dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/01/2015, 09h33
  2. Comment compter les cases cochées sur une page ?
    Par Paul Reed Smith dans le forum Débuter
    Réponses: 4
    Dernier message: 24/03/2011, 12h03
  3. [PHP-JS] Compter les cases à cocher
    Par rob2-9 dans le forum Langage
    Réponses: 2
    Dernier message: 08/03/2006, 12h27
  4. Réponses: 7
    Dernier message: 14/02/2006, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo