Comment réaliser un quiz/questionnaire à l’aide des macros

En juin dernier, je vous proposais d’utiliser un petit module pour réaliser un quiz/questionnaire sous PowerPoint. Je vous propose aujourd’hui, une version plus élaborée faisant appel aux macros. La différence ? Cette version permet de calculer le score obtenu et affiche une image contextualisée en fonction du score obtenu. Contrepartie de cette amélioration, un sujet bien plus complexe à maîtriser !
Quelques explications, plus bas dans la page, sous les vidéos.
Dans la partie présentation du quiz, je parle d’un bouton Fin qu’on ne retrouve pas dans la vidéo : après réflexion, j’ai préféré attacher le code correspondant (initialisation des variables) au bouton Commencer.

 

La création de ce quiz se déroule en deux temps :

  • phase 1 : élaboration du questionnaire
  • phase 2 : rédaction du code et tests correctifs;

L’élaboration du questionnaire

Les diapositives composant le questionnaire ne présentent aucune difficulté particulière : il s’agit de simples dias dans lesquelles les réponses sont constituées d’images mais vous pourriez vous contenter de zones de textes (il est important de dessiner une zone de texte indépendante par réponse possible) ou même un mixte des deux : une réponse image/une réponse texte !

Comme la structure de la diapositive de test est toujours identique, vous pouvez réaliser un masque spécifique mais cela est optionnel et ne change rien au niveau du code.

Dans la version finale, j’ai préféré dessiner une forme à l’aide des outils de dessin pour Question suivante qu’utiliser le contrôle bouton de la barre développeur car cette option est finalement plus simple à mettre en oeuvre.

La rédaction du code

Les variables

Comme précisé dans la vidéo, j’utilise toujours une combinaison de minuscules/majuscules dans le nom de mes variables ou contrôles.

Je fais référence à ces variables/contrôles dans mon code en les saisissant en minuscules. Ainsi, lorsque je valide ma saisie, je vois immédiatement ceux qui sont mal orthographiés : vba ne modifie pas la graphie, ce qui indique une faute de frappe.

Je fais parfois référence à certains contrôles en indiquant le nom du masque (ex : slidelayout19) quand le même nom de variable existe sur des masques (slidelayout en anglais) différents : ne pas préciser le masque générerait un message d’erreur.

Les propriétés utilisées sont les suivantes :

  • Application.ActivePresentation.SlideShowWindow.View.Next : permet de passer à la diapositive suivante.
  • nomdel’objet.visible : permet d’afficher une image (true) ou non (false).

Le code init() met tous les paramètres à 0 et rend toutes les images visibles.

Le code ScoreFinal est à associer au bouton figurant sur la dernière diapositive de question.

Enfin, j’ai utilisé l’instruction conditionnelle If pour tester le score final. Sa structure est la suivante :

If test then

instructions 

elseif test then

instructions

elseif test then

instructions

else

instructions

end if

 

On peut avoir autant de Elseif qu’il y a de conditions -1 puisque pour la dernière, on utilisera Else.

La version ci-jointe du diaporama est quelque peu différente : la slide de score intermédiaire affiche également la bonne réponse mais je gage que vous auriez su gérer ce point ;-).

Le nom de certains contrôles ont pu être modifiés.

Récupérer au format texte un texte scanné au format image

On vient de vous adresser par mail un document long scanné au format image. Allez-vous devoir tout ressaisir ? Peut-être pas pour peu que vous disposiez de OneNote..

Ce logiciel permet en effet de récupérer au format texte un texte scanné au format image, ceci très simplement et en quelques minutes… Explication en vidéo.

Procédure

La procédure ci-dessus recourt à OneNote. OneNote est un utilitaire gratuit fourni avec Windows 10 et toutes les suites Office.

  • Ouvrez OneNote et copiez ou insérez votre texte scanné au format image ;
  • Faites un clic droit sur cette image et sélectionnez l’option Copier le texte de l’image ;
  • Ouvrez votre diaporama ou votre traitement de texte et faites un Ctrl C : le texte est copié à l’identique du format d’origine !
  • Il ne vous reste plus qu’à apporter quelques petites corrections certes, mais rien en comparaison d’une saisie intégrale de votre texte !

Insérer une photo dans une forme

Lasse des traditionnels formats d’images carrés et rectangulaires ? Pour rompre la monotonie, intégrez vos photos dans des formes !

L’astuce présentée ci-dessous est valable sous l’ensemble des logiciels Office, qu’il s’agisse de Word, Excel ou PowerPoint. Et cerise sur le gâteau, elle ne nécessite que quelques secondes pour être mise en oeuvre…

Procédure

  • Insérez une image dans votre document.
  • Sélectionnez l’image et activez le menu contextuel Outils ImageFormat.
  • Cliquez ensuite sur la petite flèche pointant vers le bas de l’outil Rogner.
  • Activez l’option Rogner à la forme et sélectionnez une forme.
  • Pour un cercle parfait, cliquez sur Ellipse : la forme de votre image est modifiée instantanément. Cliquez à nouveau sur les options Rogner et sélectionnez cette fois Rapport Hauteur-largeur puis Carré 1:1. Votre ellipse se transforme en un cercle parfait.
  • Déplacez éventuellement votre image à la souris pour qu’elle épouse au mieux votre forme !