Les données en table : le tableur
Tu as manipulé des données sur Algorea. On met maintenant des mots précis dessus, et on prend en main l'outil le plus utilisé au monde pour travailler sur des tables : le tableur.
Cours ici, exercices sur le tableur
Cette page est le cours et les consignes. Tu travailles dans le fichier tableur fourni par ton professeur (dans Ma classe) : copie-le d'abord dans tes documents personnels, puis travaille sur ta copie.
Donnée, descripteur, valeur
Regarde ce petit tableau :
| nom | prenom | annee_naissance |
|---|---|---|
| Dupont | Jean | 2010 |
| Martin | Léa | 2009 |
| Durand | Hugo | 2010 |
Trois mots à distinguer, et il ne faut pas les confondre :
- Chaque ligne décrit un objet (ici, un élève).
- Les descripteurs sont les informations qu'on retient sur chaque objet :
nom,prenom,annee_naissance. Ce sont les en-têtes des colonnes, et ils sont les mêmes pour tout le monde. - Les valeurs sont ce que vaut un descripteur pour un objet donné :
Léaest une valeur du descripteurprenom.
Quand des objets sont tous décrits par les mêmes descripteurs, on dit qu'ils forment une collection, et on la range dans une table : un objet par ligne, un descripteur par colonne.
Exercice - Descripteur ou valeur ?
Dans le tableau ci-dessus, dis pour chacun s'il s'agit d'un descripteur ou d'une valeur : 2009 · annee_naissance · Dupont · nom.
Correction
2009 : une valeur (celle du descripteur annee_naissance, pour Léa). annee_naissance : un descripteur. Dupont : une valeur. nom : un descripteur.
Le repère : le descripteur est en en-tête de colonne et ne change pas d'une ligne à l'autre ; la valeur est dans le tableau et change d'un objet à l'autre.
Exercice - Trouver les descripteurs
Tu veux constituer une table de tous les films que tu as vus. Propose cinq descripteurs utiles, et donne pour chacun une valeur possible.
Correction
Par exemple : titre (Interstellar), annee (2014), realisateur (Christopher Nolan), duree_minutes (169), note_sur_10 (9).
Ce qui compte, c'est que chaque film puisse recevoir une valeur pour chacun de ces descripteurs : c'est ce qui fait une collection.
Se repérer : cellule et plage
Un tableur est organisé en lignes (numérotées 1, 2, 3…) et en colonnes (nommées A, B, C…). Leur intersection est une cellule, identifiée par la lettre de sa colonne suivie du numéro de sa ligne : la cellule B3 est à l'intersection de la colonne B et de la ligne 3.
La première ligne contient les en-têtes, c'est-à-dire les descripteurs.
Une plage est un bloc rectangulaire de cellules. On la note par sa cellule en haut à gauche et sa cellule en bas à droite, séparées par deux points : A1:C4 désigne toutes les cellules de A1 à C4.
Exercice - Se repérer
Ouvre l'onglet Cours du tableur et réponds en t'appuyant sur ce que tu vois à l'écran.
- Quelle est la cellule indiquant que Jean est né en 2010 ?
- Comment appelle-t-on les informations portées par la première ligne ?
- Quelle est la plage correspondant à l'ensemble des données ?
- Quelle est la plage correspondant à l'année de naissance ?
Calculer : la formule
Dans un tableur, une cellule peut contenir un calcul. Il suffit de commencer la saisie par le signe =, puis d'écrire l'opération.
Attention, ce = n'est pas celui de Python
Tu connais déjà ce signe, et il ne veut pas dire la même chose ici :
| Où | Exemple | Ce que = veut dire |
|---|---|---|
| En Python | age = 16 |
range la valeur 16 dans la boîte age |
| Dans le tableur | =2026-C2 |
démarre une formule : la cellule affichera le résultat du calcul |
Le même symbole, deux métiers. Ici, = annonce : « le contenu de cette cellule n'est pas une valeur figée, c'est un calcul à faire ».
Exercice - Ta première formule
Dans l'onglet Cours du tableur :
- Clique sur la cellule E1 et saisis
Âge. - Clique sur la cellule E2 et saisis la formule
=2026-C2, puis valide avec Entrée. - Vérifie que le résultat affiché est bien 16, l'âge de Jean en 2026.
- Modifie maintenant l'année de naissance de Jean (cellule C2) et observe la cellule E2.
Pourquoi écrit-on C2 plutôt que 2010 directement ?
Correction
Parce que la formule fait référence à la cellule, et non à une valeur recopiée. Si l'année de naissance change, l'âge se recalcule tout seul. On ne réécrit jamais une donnée qu'on peut aller chercher : c'est plus robuste, et ça évite les erreurs.
Recopier une formule
Inutile de retaper la formule pour chaque ligne : on la recopie.
- Clique sur la cellule contenant la formule.
- Place le curseur sur le petit carré en bas à droite de la cellule : c'est la poignée de recopie.
- Fais glisser vers le bas (ou vers la droite).
Le tableur adapte les références : en E3 la formule devient =2026-C3, en E4 =2026-C4, et ainsi de suite. La formule décrit un calcul relatif à sa ligne, pas un calcul figé.
Vérifier une formule
Quand on double-clique sur une cellule contenant une formule, les plages utilisées apparaissent encadrées en couleur. C'est le moyen le plus rapide de vérifier qu'on calcule bien sur les bonnes cellules.
Exercice - Recopier
Utilise la poignée de recopie pour étendre la formule de l'âge (cellule E2) à tous les autres élèves. Vérifie que les âges obtenus sont corrects.
Les fonctions
Les tableurs fournissent des fonctions prêtes à l'emploi, qui travaillent sur une plage. On les utilise avec la syntaxe =NOM_FONCTION(plage).
| Fonction | Rôle | Exemple |
|---|---|---|
SOMME |
additionne les valeurs de la plage | =SOMME(C2:C6) |
MOYENNE |
calcule la moyenne | =MOYENNE(C2:C6) |
MAX |
renvoie la plus grande valeur | =MAX(C2:C6) |
MIN |
renvoie la plus petite valeur | =MIN(C2:C6) |
NB.SI |
compte les cellules qui vérifient une condition | =NB.SI(E2:E6;">=16") |
Retrouve tes fonctions Python
Une fonction de tableur, c'est la même idée qu'en Python : un mot qu'on n'a pas eu à écrire soi-même, auquel on donne des arguments entre parenthèses (ici, une plage), et qui rend un résultat. MOYENNE(C2:C6) se lit exactement comme carre(hortense, 100) : un nom, des parenthèses, ce sur quoi il travaille.
Exercice - Calculer sur la classe
Dans l'onglet Cours, calcule la moyenne des années de naissance de la classe, puis l'année de naissance la plus ancienne et la plus récente.
Correction
=MOYENNE(C2:C6), =MIN(C2:C6) et =MAX(C2:C6). Attention à ne pas inclure la ligne d'en-tête (ligne 1) dans la plage : un descripteur n'est pas une valeur, et le tableur ne saurait pas quoi en faire dans un calcul.
Ce qu'on retient
- Une table range une collection d'objets : un objet par ligne, un descripteur par colonne. Une valeur est ce que vaut un descripteur pour un objet.
- Une cellule est repérée par sa colonne et sa ligne (
B3) ; une plage est un bloc rectangulaire (A1:C4). - Le
=du tableur démarre une formule (un calcul), ce n'est pas le=de Python qui range. - Une formule référence des cellules (
=2026-C2), donc elle se recalcule si les données changent, et elle se recopie en s'adaptant à chaque ligne. - Les fonctions (
SOMME,MOYENNE,MAX,MIN,NB.SI) travaillent sur une plage.
Et ensuite
Tu sais calculer sur une table. Il reste les deux traitements qui donnent tout son intérêt à une table quand elle est grande : trier et filtrer.