QCM VBA

Bonjour à vous,

Je recherche un tutoriel ou une petite application sous vba qui me permettrait de réaliser un quiz en vba.

Le principe étant pour l'utilisateur de répondre à des questions parmi un choix de questions.

A la fin du quiz il doit pouvoir avoir un résultat avec le nombre réponses bonnes et fausses et le pourcentage de réussite.

Merci par avance.

Bonsoir,

En fait je travaille actuellement sur un QCM !

Je vous propose donc la version "light".

Celle-ci vous permet de poser 20 questions tirées au hasard dans la liste des questions. Les réponses sont mises aléatoirement dans les cases A, B, C et D, ceci permet que pour une même question, les réponses ne se trouvent pas forcément au même endroit afin d'éviter la "reconnaissance spatiale" de la réponse.

Un indicateur est placé en face de chaque question posées. Tant que toutes les questions de la base de donnée n'ont pas été posées, alors une même question ne sera pas posée.

Un USF vous permet de remplir la base de question simplement :

Une question, la bonne réponse et trois réponses fausses.

Dans la base de question, la bonne réponse se trouve toujours en première position (colonne vert).

Ce fichier n'accepte qu'une bonne réponse par question.

Pour m'a part je suis en train de le peaufiner, et de remplir la base de question afin de le mettre en téléchargement sur ce site...

Il intégrera un module de cryptage (trouvé sur ce site également) afin de rendre la lecture "par avance" des questions impossible...

Voilà donc le fichier avec une base de 30 questions :

@ bientôt

LouReeD

Bonjour,

Je vous remercie.

Je regarde ça et je vous fais un retour.

Bien à vous.


Bonjour,

J'ai regardé votre fichier et il est très bien.

Par contre j'ai un message d'erreur qui m'empêche d'exécuter votre programme.

Voir capture d'écran.

Bien à vous.

capture d ecran

Bonjour,

Il faut ajouter PtrSafe après le Declare.

Ok c'est tout bon.

Merci beaucoup

Bonjour,

Toutes mes félicitations sur le gros travail effectué.

J'ai une question à te poser.

Comment gères-tu le chronométrage dans ce quiz ?

Bien à toi.

Bonsoir,

sur cette version pas de chronomètre...

Je ne pensais pas en mettre mais pourquoi pas... avec une option à cocher, merci pour l'idée

@ bientôt

LouReeD

Bonjour,

Une autre suggestion sur ce qcm qui est très bien fait ce serait d'afficher les résultats car l'utilisateur ne sait pas ou il s'est trompé à la fin du quiz.

Il y a aussi la question de la collecte des réponses pouvant être utilisées dans le cadre d'évaluation par exemple.

Tenez moi au courant et encore merci.

Bien cordialement

Bonjour,

pour garder une certaine durée d'existence des questions, j'ai pris parti de ne montrer que la réponse bonne quand le joueur donne la réponse bonne.... En effet la ligne de code qui vous mettez une erreur, permet de faire une pause de 0.175 secondes afin que le joueur voit la bonne réponse cliquée en vert... Donc durant le jeu il sait s'il s'est trompé (pas de vert) ou s'il a bien répondu (cellule en vert pendant 0.175 secondes).

Après ce fichier a un but premier de divertissement, l'idée du chrono est bonne, les dernières idées aussi mais là ça devient de plus en plus "poussé" par rapport à mon idée première

@ bientôt

LouReeD

Bonsoir,

fichier joint, toujours une version light mais ce ne sont pas forcément les mêmes questions...

Ajout d'un décompte de 20 secondes par question, ou la la le stress quand ça s'approche de 0 !!!!

Si pas de réponse une nouvelle question est affichée...

En fin de partie un temps total de jeu est indiqué, comme cela par la suite pour des scores identiques le chrono pourra faire la différence.

Par contre le classement, les statistiques et autre ne sont pas mis en place.

Modification du code comme indiqué par oyobrans

Voilà

@ bientôt

LouReeD

Bonjour,

ci-joint la dernière version light :

elle comporte maintenant trois boutons sur la feuille "Jeu"

un LANCER pour lancer une nouvelle partie

un ARRETER pour stopper une partie en cours

un REGLER pour le réglage de l'application, voir ci-dessous :

qcm

la première ligne est simple à comprendre, vous indiquez le nombre de question à poser pour chaque test.

la deuxième ligne vous cochez pour avoir un compte à rebours du temps imparti restant pour répondre. Si vous décochez alors le temps de réponse est illimité. Le temps pris en compte pour répondre est celui indiqué dans la colonne "temps de réponse" du tableau de la feuille "Question/Réponses". S'il n'y a pas de temps d'indiquer alors 20 secondes seront automatiquement données.

la troisième ligne vous cochez pour avoir une temporisation sur l'affichage des réponses : si coché, alors les réponses s'affichent 4 secondes après l'affichage de la question, comme cela on a le temps de lire la question avant de répondre.

Il y a toujours la case de durée total de jeu pour répondre aux questions du test.

Voilà pour les dernières modifications

@ bientôt

LouReeD

Bonjour,

Excellent ton fichier.

Toutefois, visiblement les questions sont posées plusieurs fois dans le même quiz.

Est ce une intention de ta part ?

Cordialement


Re bonjour,

Super ta version 2 mais je ne peux pas cocher les réponses.

Il y a visiblement un blocage car on ne peut rien cocher.

A+

Bonsoir Christophe88,

je viens de télécharger la version 2 du post juste au dessus.

Chez moi tout fonctionne bien...

En fait, s'il y a répétition c'est dans un cas précis : la liste de question est de 21 dans le fichier joint.

Si le test comporte 10 questions alors deux parties seront strictement différentes (10 + 10 = 20 questions différentes) mais la troisième partie, forcément va commencer avec la dernière question non posée lors des deux premières parties, mais les 9 manquantes vont être reprises parmi les 21 qui seront alors rendue accessibles ! Donc oui le principe fait que sur plusieurs tests avec si peu de questions il y est "répétition".

Pour ce qui est de cocher les réponses, là je ne vois pas... il n'y a rien à cocher, les coches ne sont présente que sur le USF de réglage du jeu, à savoir celui qui permet de définir le nombre de questions lors du test, s'il y a affichage ou non des secondes restantes pour répondre aux questions et savoir si les réponses sont affichées en même temps ou pas que la question.

La base de données des questions est à faire évoluer vers le "plus" afin de profiter au mieux de cette application.

@ bientôt

LouReeD

Re bonjour,

Oui c'est tout bon.

En fait je ne voyais pas les réponses à cocher car il fallait que je mette l'affichage à 80%.

Sinon tout est ok.

C'est du beau boulot

A+

Bonjour,

un petit message pour vous communiquer un nouveau fichier...

117qcm.xlsm (60.98 Ko)

Il n'est pas de moi, je l'avais trouvé sur le net il y a plusieurs années...Je pris l'auteur de m'excuser mais pour des raison d'anonima il m'a fallut retirer son nom du fichier pour mon travail... Après une recherche sur le net dernièrement (suite à ce post) je n'ai pas réussit à remettre la main sur l'original.

Ce fichier est basé sur un Userform sur lequel on pose la question, et il y a 4 réponses au choix que l'on sélectionne avec une boite à cocher.

L'avantage par rapport avec mon fichier est qu'il est possible d'avoir plusieurs réponses pour une même question.

Il est légèrement modifié par rapport à l'originale :

en effet si la question avait qu'une réponse alors il y avait des bouton radio, sinon des checkboxe, donc du coup il y avait une repère "visuel" qui permettait au joueur de savoir s'il devait donnée une ou plusieurs réponses !

Il est même possible avec un peu de travail de passer à 5 réponses possible !

Le créateur à fait une page explicative, mas avec cette version modifiée, au niveau de la feuilles "données" où se trouve les questions, dans la colonne "type" de réponse il faut mettre à chaque fois un 2 car les boutons radios n'existent plus !

Un des inconvénient est que les bonnes réponses sont placée toujours au même endroit car sur la feuille réponse il faut dire si c'est la réponse A, B, C ou D qui est bonne, donc la bonne réponse A sera toujours en A...

Voilà, et @ bientôt

LouReeD

Rechercher des sujets similaires à "qcm vba"