GLIN102 - TD/TP séance 6 : Tableur avancé.

Durée : 1h30




Objectifs :




Au menu

  1. Consignes
  2. Quelques fonctionnalités supplémentaires
  3. Récupération automatique d'informations dans un tableau
  4. Traitement de chaînes de caractères
  5. À retenir
  6. Facultatif : le format CSV (séparateur virgule)




A. Consignes (5 min) 0%


Lisez attentivement cet énoncé de TP en suivant les instructions. En cas d'interrogation, faites appel à l'enseignant qui est là pour vous répondre, que ce soit pour en savoir plus sur un des points abordés pendant le TP, ou pour savoir comment effectuer une des tâches demandées (numérotées pour pouvoir y faire référence simplement).

Entre parenthèses, à côté des titres de sous-sections, est indiqué le temps que vous avez dû passer à effectuer les étapes précédentes.

Certains liens conduisent vers un article Wikipédia. Cliquez dessus si vous souhaitez en savoir plus. Enfin, retenez l'emplacement de ces pages! Elles vous serviront d'aide-mémoire pour votre utilisation du tableur.



B. Quelques fonctionnalités supplémentaires (20 min) 5%


B1Ouvrez le tableur de la suite Open Office (généralement, Spreadsheet ou Calc dans le sous-menu Bureautique de votre menu principal).

La fonction ALEA() permet de renvoyer aléatoirement un nombre décimal compris entre 0 et 1. B2Essayez cette fonction dans la case A1 de votre feuille de calcul (sans oublier qu'une formule commence toujours par un '=').
Dans la case B1, on veut noter pile si le nombre tiré dans la case A1 est inférieur à 0,5 et face sinon. Pour cela, on va utiliser la fonction SI(test; valeur si vrai; valeur si faux), où test est le test à effectuer et les deux autres paramètres sont ce que doit afficher la fonction en cas de succès ou d'échec du test. Par exemple, pour obtenir ce que l'on souhaite, B3tapez =SI(A1<0,5;"pile";"face") dans la case B1 (notez bien que les chaînes de caractères qui doivent être affichées sont spécifiées entre guillemets droits" : double quotes en anglais).
B4Faites afficher dans la case C1 la valeur 1 si le contenu de la case A1 est strictement inférieur à 0,5 et 0 sinon (ici, les résultats à afficher étant numériques, il ne faut plus mettre de guillemets droits dans la fonction SI).
Le résultat obtenu simule le lancer d'une pièce de monnaie. B5Appuyez sur F9 pour effectuer un autre lancer. La touche F9 refait en fait tous les calculs présents dans la feuille de calcul, c'est ce qui se passe aussi lorsque la feuille est modifiée. On va maintenant effectuer simultanément 10 lancers différents. Pour cela, à l'aide de la poignée d'incrémentation, B6étendez le calcul de la ligne 1 aux lignes 1 à 10.

Pour finir, on va compter le nombre de "pile" obtenu sur les 10 lancers. Il suffit pour cela de sommer le contenu de la colonne C. On va voir quatre façons de procéder :
Sauvegardez votre travail.



C. Récupération automatique d'informations dans un tableau (40 min) 27%


Dans ce chapitre, on se sert du relevé de notes établi lors de la précédente séance sur le tableur. Vous avez dû sauvegarder le fichier correspondant dans votre espace personnel.
C2Ouvrez ce fichier avec Open Office. Si, pour diverses raisons, vous ne retrouvez pas le fichier en question, sauvegardez sur votre compte celui qui est accessible ici : ex2.ods.

L'objectif de l'exercice est d'éditer des bulletins de notes à partir du relevé de notes établi précédemment.


a) Mise en forme du bulletin

Nous allons créer le bulletin dans une autre feuille du classeur.
C3Cliquez sur l'onglet Feuille 2, en bas à gauche de votre document.
C4Reproduisez le modèle suivant sur votre feuille de calcul (respectez bien la disposition de chaque cellule remplie).

Bulletin

C5Mettez en forme le bulletin (caractères, cellules, bordures...), voir ci-dessous pour exemple.

Bulletin Formaté


Avant d'extraire les notes du relevé de la feuille 1, on va placer la date du jour dans le bulletin.
C6Dans la cellule G3, insérez la fonction AUJOURDHUI(). Activez le menu contextuel pour formater la date sous une forme voulue.


b) Extraction des notes à partir du relevé

Pour récupérer des informations présentes dans le relevé de notes de la feuille 1, nous allons utiliser quelques fonctions proposées par le logiciel.

Tout d'abord, le bulletin contient, à titre indicatif, les coefficients des différentes matières. On va recopier ceux-ci depuis la feuille 1. C7Placez vous à la cellule E9 et entrez la formule =Feuille1.A23. Notez le préfixe utilisé dans la désignation de la cellule, celui-ci est obligatoire pour ne pas confondre les cellules A23 des feuilles de calcul 1 et 2.
C8Remplissez de la même manière les coefficients des autres matières.
Nous allons maintenant nommer le relevé de notes de la feuille 1 (ce n'est pas nécessaire, mais cela sera plus pratique pour la suite). C9Nommez Notes le tableau constitué des cellules A3 à H14 (voir partie B si besoin).

Pour en savoir plus : Une base de données est un ensemble structuré permettant le stockage de grandes quantités d'informations. La structure utilisée (hiérarchique, relationnelle, orientée objet...) a pour but d'optimiser les requêtes effectuées sur la base : ajout, suppression d'entrées, mise à jour, recherche de données.
Ensuite, nous allons récupérer, dans ce tableau, les informations relatives à une personne de nom connu. Le logiciel considère qu'un tableau de données peut être "vu" comme un embryon de base de données. Le tableau que nous avons dénommé Notes sera donc interprété comme une base de données dont les champs sont Nom, Prénom, Mathématiques...
La fonction de base de données BDLIRE(nom de la base; "nom du champ"; critère de recherche) permettra de récupérer dans le tableau Notes les informations nécessaires. Cette fonction possède 3 paramètres : nom de la base, ici ce sera Notes le nom du tableau, nom du champ, par exemple, pour avoir la note de mathématiques, on indiquera "Mathématiques", ce critère est toujours entre guillemets, et enfin le paramètre critère de recherche, ici ce sera le nom de l'élève. Pour spécifier ce dernier paramètre, il faut obligatoirement utiliser des cellules de la page de calcul (cela permet d'avoir des critères de recherche plus ou moins compliqués) : retourner sur la feuille de calcul 2 du bulletin scolaire etC10tapez Nom dans la cellule I8 et André dans la cellule I9.
La recherche d'une information se fait finalement de la façon suivante : C11Dans la cellule D9 (note de mathématiques), tapez =BDLIRE(Notes;"Mathématiques";I8:I9).
La case D9 contient maintenant la note de mathématiques de l'élève André. Si on change le critère de recherche (le nom de l'élève), la note correspondante changera. C12Remplacez le contenu de la cellule I9 par le nom d'un autre élève, par exemple Benoit.
C13Remplissez maintenant, de la même façon, les cases C5, C6, D10, D11, D12 et C15 (en C15 c'est la valeur de la moyenne pondérée qu'il faut renseigner).

Pour finir, nous allons automatiser l'attribution des mentions. On peut le faire à l'aide de la fonction SI vue dans la partie B.C14 Essayer de trouver la solution.
Nous allons voir maintenant un moyen plus direct.
Pour cela, il faut entrer au préalable dans une plage de cellules de votre choix (mais toujours dans la feuille 2) les informations suivantes :
Mentions

C15Recopiez cet ensemble de cellules et nommez-le Mentions.
Il reste à utiliser la fonction RECHERCHEV(critère; tableau; indice), cette fonction permet d'aller rechercher dans un tableau (ici la plage Mentions) la ligne correspondant au critère recherché (ici, la moyenne de l'élève, contenue case C15) et retourne la valeur située dans la ligne trouvée à la colonne d'indice donné (ici 2, les mentions se trouvant dans la deuxième colonne de la plage Mentions).
C16Remplissez la cellule C16 comme indiqué.
C17Faites quelques tests en changeant le nom de l'élève dans la cellule I9.

Sauvegardez votre travail.



D. Traitements de chaînes de caractères (25 min) 72%


Des informations sur les utilisateurs du réseau informatique de l'Université ont été récupérées et stockées dans le fichier suivant : ex3.ods. Ces informations contiennent une chaîne de caractères : NOM_Prénom, appelé code utilisateur, et 2 ou 3 lettres indiquant le statut de chaque utilisateur : Et pour les étudiants, Ens pour les enseignants et Adm pour les administrateurs du réseau. Le but de l'exercice est de reconstruire automatiquement, à partir de ces informations, les chaînes de caractères correspondant aux nom, prénom, login et adresse mail de chaque utilisateur. On va utiliser pour cela les outils de traitement de chaînes de caractères offerts par le tableur.

D1Sauvegardez sur votre compte le fichier mentionné ci-dessus et ouvrez-le avec le tableur d'Open Office.

D2Cliquez sur le bouton Assistant fonctions (voir tp 4 pour mémoire), choisissez CatégorieTexte et observez les différentes fonctions. Une fois que vous les avez toutes parcourues, cliquez sur Annuler
Toutes ces fonctions permettent d'effectuer des opérations sur les chaînes de caractères, nous allons en utiliser quelques-unes :
Par exemple, la formule =STXT(A4;1;CHERCHE("_";A4;1)-1) va extraire de la la chaîne de caractères stockée dans cellule A4, la chaîne comprise entre le premier caractère et le premier "_" rencontré dans cette chaîne, c'est-à-dire pour notre problème, exactement le nom de l'utilisateur.
D3Entrez cette formule dans la case C4 et étendez-la à toute la colonne C.
D4Entrez dans la case D4 la formule permettant d'extraire le prénom depuis le code utilisateur. Étendez cette formule à toute la colonne D.
La colonne E doit contenir le login de chaque utilisateur, ce login devant être écrit en miniscule et formé de la première lettre du prénom puis de la totalité du nom.
D5Entrez dans la case E4 la formule permettant de former le login de l'utilisateur dont le code est dans la case A4. Étendez cette formule à toute la colonne E.
Pour finir, on va former les adresses mail des utilisateurs. Une adresse mail est constituée du login, suivi du symbole @, puis de la chaîne univ-montp2.fr si l'utilisateur est un personnel de l'université ou de la chaîne etud.univ-montp2.fr si l'utilisateur est un étudiant.
D6Entrez dans la case F4 la formule permettant de former l'adresse mail de l'utilisateur dont le code est dans la case A4 (pensez à la fonction SI...). Étendez cette formule à toute la colonne E.

Sauvegardez votre travail.

Comme on vient de le voir, un tableur permet d'effectuer des traitements simples sur les chaînes de caractères. D'autres langages ou logiciel permet de faire des traitements plus approfondis comme le langage de script, le langage awk, ou encore le langage Perl...



E. À retenir (0 min) 100%

Voici la liste des diverses fonctions utilisées dans ce TP :


F. Facultatif : le format CSV (séparateur virgule) (0 min) 100%


Nous avons vu que le tableur permettait d'effectuer des traitements divers sur de nombreux types de données différentes. Reste à savoir comment importer certains types de données qu'on ne peut copier/coller facilement vers le tableur.

Par exemple, si vous voulez récupérer la liste des notes du CC1 pour en calculer la moyenne, une possibilité est de sélectionner l'intégralité des notes et de la coller dans la première colonne du tableur. Il faut alors utiliser une formule pour séparer le numéro d'étudiant de la note, en détectant l'espace. Selon le type de données, ce genre de formules peut devenir assez compliqué.

Une solution alternative est d'utiliser le format CSV, qui est un format de fichier texte où chaque ligne du fichier tableur est une ligne du fichier CSV, et, pour chaque ligne, chaque colonne est séparée par un caractère spécial, usuellement une virgule. F1Copiez l'intégralité des notes depuis la page du contrôle continu. F2Ouvrez un éditeur de textes (par exemple Kate ou Kwrite) et collez-y l'ensemble de ces notes.

La virgule est utilisée à l'intérieur de chaque note, il n'est donc pas possible de l'utiliser comme caractère séparateur. En revanche, l'espace qui sépare actuellement le numéro d'étudiant de sa note convient parfaitement.

Il serait bon de se débarasser du "/20" pour pouvoir effectuer des calculs, F3faites-le par un simple rechercher/remplacer (menu Édition, Remplacer) de "/20" par "" (rien du tout).

F4Enregistrez maintenant le fichier en lui donnant l'extension .csv. F5Ouvrez-le avec Open Office (clic droit, Ouvrir avec, Autre..., Bureautique, Spreadsheet) : dans la rubrique "options de séparation" de la boîte de dialogue qui s'ouvre, cochez "séparé", et "espace" pour indiquer que le caractère séparateur est un espace. Les données sont maintenant traitables dans le tableur. Autre intérêt, le résultat est aussi enregistrable au format CSV, en choisissant le caractère séparateur que vous désirez. En passant par un éditeur de texte et sa fonction rechercher/remplacer, vous pourrez donc faire les opérations voulues pour le retransformer en liste au format HTML des pages web par exemple. Les détails sur ce format seront abordés à la séance 8.