Exercice d'application - calcul de mode

Reprenons le classeur donnees_etudiants.ods utilisé dans les séances précédentes.

Le but de cet exercice est de réaliser une macro permettant de calculer le mode de l'une quelconque des variables de ce jeu de données. La méthode vue précédemment pour calculer utilise un tableau croisé. Comme l'utilisation d'un tableau croisé dynamique peut poser quelques soucis avec les macros, nous utilisons une autre méthode.

Nouvelle manière de calculer le mode

Nous étudions la nouvelle méthode de calcul sur un exemple : le calcul du mode de la variable Sexe. Réalisez les étapes suivantes. Cela permettra de mettre en place le contexte nécessaire à la macro que nous projetons de faire.

  1. Renommez calcul la feuille Feuil2.
  2. Placez un volet de manière à voir les 10 premières lignes de la feuille data en même temps que les lignes 195 à 205.
  3. Sélectionnez la plage A1:A201 et copiez-la en mémoire.
  4. Collez les informations précédentes en cellule A1 de la feuille calcul.
  5. Placez un volet de manière à voir les 10 premières lignes de la feuille calcul en même temps que les lignes 195 à 205.
  6. Écrivez dans la plage B2:B201 de la feuille calcul les formules qui vous permettront de calculer le nombre d'occurrences de chaque modalité (quelque chose comme =NB.SI($A$2:$A$201;A2)).
  7. Triez la plage de données A2:B201 (en prévision de la création de la macro à venir, n'incluez pas la ligne de titre) en ordre décroissant de la deuxième colonne. En conséquence de ce tri, le mode est en A2 de la feuille calcul.
  8. Dans la feuille data, écrivez Le mode de dans la cellule H2 de la et est dans la cellule H3
  9. Mettez, dans la cellule I2 de la feuille data, une formule donnant la valeur de la cellule A1 de la feuille calcul (pour récupérer le nom de la variable dont on calcule le mode).
  10. Mettez, dans la cellule I3 de la feuille data, une formule donnant la valeur de la cellule A2 de la feuille calcul (pour récupérer le mode de la variable).

Vers une automatisation

Observons que si nous voulons calculer le mode d'une autre variable, par exemple, le mois de naissance, nous n'avons pas besoin de refaire tout ce qui précède. Nous avons juste à copier les données de la variable en colonne A de la feuille calcul et refaire le tri.

Vérifiez cela !

Ainsi nous voyons qu'une fois les données sélectionnées, les opérations de calcul du mode sont exactement les mêmes pour toutes les variables. Nous pouvons mettre en place une macro pour cela.

La macro

Rappelons que la macro que nous allons écrire pré-suppose que des données (A1:A201 ou B1:B201 ou …) ont été copiées en mémoire. Ainsi, avant de démarrer l'enregistrement de la macro Calcul_Mode ci-après, pour voir la progression du traitement lors de sa mise en œuvre, sélectionner des données non présente dans la feuille de calcul (changer de variable), par exemple celles de la plage C1:C201.

Nous pouvons à présent enregistrer une macro intitulée Calcul_Mode qui réalise dans l'ordre les opérations suivantes :

  1. aller en A1 de la feuille calcul ;
  2. coller ;
  3. sélectionner la plage A2:B201 de la feuille calcul ;
  4. trier la plage selon l'ordre décroissant de la deuxième colonne (l'option La plage contient des étiquettes de colonne ne doit pas être active) ;
  5. revenir dans la feuille data (en sélectionnant une cellule, n'importe laquelle).

Test et utilisation de la macro

Ajoutez dans la feuille data un bouton intitulé mode auquel vous attacherez la macro Calcul_Mode.

La macro est à présent testable et utilisable de la manière suivante :

Amélioration de l'expérience utilisateur

Tout ce que nous venons de faire prendrait du sens si nous avions des données qui évoluaient régulièrement et si un analyste avait besoin de vérifier régulièrement les modes des données. L'utilisabilité du classeur peut être améliorée en créant des macros, une par variable, sélectionnant les données correspondantes, puis en créant des boutons pour activer ces macros.

Mettez en œuvre toutes ces macros.


Édition du code d'une macro

Éditez la macro Calcul_Mode de l'exercice 1, jetez un rapide coup d'œil sur le code du programme (le début suffit) et changez le nom de la macro (par exemple, appelez-la Lemode).

Essayez aussi de retrouver comment vos manipulations à la souris ont été traduites dans le code du programme (ça, c'est plus sportif, en plus c'est en anglais).

flèche page précédente flèche page suivane