Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

case à cocher

Laurent313131

XLDnaute Occasionnel
Bonsoir,

J'ai créée un questionnaire sur Excel avec 52 questions et en face de chaque question j'ai inséré 2 cases à cocher (contrôle de formulaire) Oui ---- Non.

Je voudrais faire une fonction sous VBA pour qu'à la fin du questionnaire, il y ait le nombre de cases Oui cochées et le nombre de cases Non cochées.

Est ce possible ?

Merci.
 

job75

XLDnaute Barbatruc
Re : case à cocher

Bonjour Laurent, le forum,

Il vaut mieux utiliser des boutons d'options plutôt que des cases à cocher.

Pour une même question, les 2 boutons renverront 1 ou 2 dans une cellule liée, par exemple en colonne A.

Pour connaître le nombre de "oui", utiliser la formule =NB.SI(A:A;1) et =NB.SI(A:A;2) pour le nombre de "non".

En VBA, cela donne Application.CountIf([A:A], 1) et Application.CountIf([A:A], 2)

A+
 

Laurent313131

XLDnaute Occasionnel
Re : case à cocher

bonsoir job et merci pour ta réponse.

J'ai essayé avec les boutons d'options mais je ne peux cocher qu'un seul bouton sur les 104 présents... (2 par questions, 52 questions).

Quelle étape ai-je zappé ?

Merci
 

kjin

XLDnaute Barbatruc
Re : case à cocher

Re, bonsoir job,
...J'ai créée un questionnaire sur Excel avec 52 questions et en face de chaque question j'ai inséré 2 cases à cocher (contrôle de formulaire) Oui ---- Non.
Effectivement il faut grouper les boutons, et pour cela les créer avec la Boîte à outils Contrôle.
Et pourquoi utiliser les contrôles ActiveX ?
Ou mon fichier n'est pas passé...!
A+
kjin

Edit: Désolé Job, nos messages se sont croisés, mais je me disais bien...
 
Dernière édition:

Laurent313131

XLDnaute Occasionnel
Re : case à cocher

bonsoir,

Alors j'ai bidouillé une petite condition If et j'aimerai qu'en fonction du score, une msgbox s'affiche. Je m'explique : Si le score est entre 0 et 10, je veux qu'une msgbox apparaissent avec " Aucun risque de surentraînemnt " écrit à l'intérieur. Si le score est entre 11 et 20, la msgbox affichera "Risque léger de surentraînement".... ....

Voici mon code :

Sub boutonsoption()

Dim Score As Integer
Dim Etat As String

Score = Range("c55")

If Score > 0 And Score <= 10 Then
Etat = "Aucun risque de surentraînement"

ElseIf Score >= 11 And Score <= 20 Then
Etat = "Risque léger de surentraînement"

ElseIf Score >= 21 And Score <= 25 Then
Etat = "Risque élevé de surentraînement"

Else: Etat = " Surentraînement"

End If

Range("B57") = Etat

MsgBox "Mention", vbExclamation, "Résultat"

End Sub

En gros je voudrais remplacer le "Etat = ..." par une msgbox...

Merci
 
Dernière édition:

Bigfish

XLDnaute Occasionnel
Re : case à cocher

Salut,

moi j'aime bien la solution de Kijin

Par ce que 104 controls dans un meme fichier, cela l'alourdi grandement

Aller pour le plaisir voici une solution dans le fichier joint.

un inconvenient quand meme a cette solution, est que l'on doit double cliquer si l'on reste sur la meme cellule.

A+

PS il est possible que vous rencontriez quelques difficultés du a ma version excel en anglais
 

Pièces jointes

  • Pseudo CheckBox.xls
    32.5 KB · Affichages: 80
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…