Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
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+
 
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:
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:
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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
637
W
Réponses
5
Affichages
214
Réponses
15
Affichages
471
Réponses
10
Affichages
420
Réponses
5
Affichages
361
Réponses
2
Affichages
170
Réponses
1
Affichages
232
Réponses
18
Affichages
1 K
Retour