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.
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.
calculla feuille
Feuil2.
dataen même temps que les lignes 195 à 205.
A1:A201
et copiez-la en mémoire.A1
de la feuille calcul.
calculen même temps que les lignes 195 à 205.
B2:B201
de la feuille calculles formules qui vous permettront de calculer le nombre d'occurrences de chaque modalité (quelque chose comme
=NB.SI($A$2:$A$201;A2)
).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.
data, écrivez
Le mode dedans la cellule
H2
de la et estdans la cellule
H3
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).
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).
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.
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 :
A1
de la feuille calcul;
A2:B201
de la feuille calcul;
La plage contient des étiquettes de colonnene doit pas être active) ;
data(en sélectionnant une cellule, n'importe laquelle).
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 :
A1:A201
ou B1:B201
ou …) dont vous voulez calculer le mode.mode.
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.
É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).