diff options
-rw-r--r-- | _preamble-ed.tex | 23 | ||||
-rw-r--r-- | fichiers/02-tableur_bdd.tex | 405 | ||||
-rw-r--r-- | fichiers/images/02-ascii.png | bin | 0 -> 96404 bytes | |||
-rw-r--r-- | fichiers/images/02-donnees1.png | bin | 0 -> 33951 bytes | |||
-rw-r--r-- | fichiers/images/02-donnees2.png | bin | 0 -> 11503 bytes | |||
-rw-r--r-- | fichiers/images/02-exercice_formats.png | bin | 0 -> 17450 bytes | |||
-rw-r--r-- | fichiers/images/02-unicode.png | bin | 0 -> 87510 bytes | |||
-rw-r--r-- | ls-R | 7 | ||||
-rw-r--r-- | makefile | 4 |
9 files changed, 437 insertions, 2 deletions
diff --git a/_preamble-ed.tex b/_preamble-ed.tex new file mode 100644 index 0000000..93349fa --- /dev/null +++ b/_preamble-ed.tex | |||
@@ -0,0 +1,23 @@ | |||
1 | \documentclass[open=any, DIV=classic]{scrbook} | ||
2 | \usepackage[french]{babel} | ||
3 | |||
4 | \usepackage{fontspec} | ||
5 | \setmainfont{Old Standard} | ||
6 | \addtokomafont{disposition}{\rmfamily} | ||
7 | |||
8 | \usepackage{csquotes} | ||
9 | \usepackage[font=footnotesize, rightmargin=0pt]{quoting} | ||
10 | \usepackage[svgnames]{xcolor} | ||
11 | |||
12 | \usepackage[french]{varioref} | ||
13 | \usepackage{hyperref} | ||
14 | \hypersetup{unicode,colorlinks,allcolors=blue,linktocpage} | ||
15 | \usepackage{hyperxmp} | ||
16 | \usepackage{uri} | ||
17 | \usepackage[type={CC}, modifier={by-sa}, version ={3.0}]{doclicense} | ||
18 | \author{Estelle Debouy} | ||
19 | \lowertitleback{\footnotesize\textcopyright{} 2018 Estelle Debouy | ||
20 | \mailto[courses]{edebouy@univ-poitiers.fr} | ||
21 | \doclicenseThis} | ||
22 | \usepackage{widows-and-orphans} | ||
23 | \WaOsetup{avoid-all} \ No newline at end of file | ||
diff --git a/fichiers/02-tableur_bdd.tex b/fichiers/02-tableur_bdd.tex new file mode 100644 index 0000000..d6219d5 --- /dev/null +++ b/fichiers/02-tableur_bdd.tex | |||
@@ -0,0 +1,405 @@ | |||
1 | \input{../_preamble-ed.tex} | ||
2 | \usepackage{comment} | ||
3 | |||
4 | \usepackage[toc]{multitoc} | ||
5 | \usepackage{graphicx} | ||
6 | \graphicspath{{images/}} | ||
7 | |||
8 | \title{Tableur et base de données} | ||
9 | |||
10 | \usepackage{hyperref} | ||
11 | |||
12 | \begin{document} | ||
13 | \maketitle | ||
14 | \renewcommand{\contentsname}{Sommaire} | ||
15 | \tableofcontents | ||
16 | |||
17 | \chapter{Qu'est-ce qu'une donnée?} | ||
18 | |||
19 | \section{Définitions} | ||
20 | Une donnée est un élément brut, qui n'a pas encore été interprété, mis | ||
21 | en contexte. La mise en contexte crée de la valeur ajoutée pour | ||
22 | constituer une information (on peut définir l'information comme | ||
23 | l'interprétation d'une source de données). Les données brutes peuvent | ||
24 | être entrées dans un programme informatique ou utilisées dans des | ||
25 | procédures manuelles comme l'analyse statistique d'une enquête par | ||
26 | exemple. | ||
27 | |||
28 | Qu'entend-on maintenant par \enquote{données publiques}? Ce sont les | ||
29 | données qui figurent dans les documents communiqués ou publiés par les | ||
30 | administrations. À partir de là, quand on parle d'\emph{open data}, il | ||
31 | s'agit de la mise à disposition de tous les citoyens sur internet des | ||
32 | données publiques ayant vocation à être librement accessibles et | ||
33 | gratuitement réutilisables. Ces données sont diffusées de manière | ||
34 | structurée selon une licence ouverte garantissant leur libre accès et | ||
35 | leur réutilisation par tous, sans restriction technique, juridique ou | ||
36 | financière. Cela signifie que n'importe quel utilisateur peut utiliser | ||
37 | ces données, les modifier ou les partager (même à des fins | ||
38 | commerciales). | ||
39 | |||
40 | Il y a enfin une autre expression que vous avez certainement | ||
41 | entendues: celle de \emph{big data} qui désigne littéralement les | ||
42 | \enquote{grosses données}. Qu'entend-on par là? Les vibrations de tel | ||
43 | tablier de pont, les sentiments exprimés sur tel réseau social, les | ||
44 | achats ou recherches sur tel site… Toutes ces données, utiles pour la | ||
45 | maîtrise de machines ou notre vie sociale, économique, voire | ||
46 | sentimentale, laissent des traces, des scories, qui sont de plus en | ||
47 | plus souvent conservées. C’est de cette profusion de données sur de | ||
48 | nombreux domaines que résultent les Big Data ou mégadonnées. On le | ||
49 | voit, ces Big Data désignent des ensembles de données tellement | ||
50 | volumineux qu'il devient difficile, voire impossible, de les manipuler | ||
51 | avec des outils classiques de gestion de base de données ou de gestion | ||
52 | de l'information. | ||
53 | |||
54 | |||
55 | \section{Formats} En fonction de ce que l'on veut faire, les | ||
56 | données informatiques sont rangées dans des fichiers. Le choix de la | ||
57 | méthode de rangement, c'est ce qu'on appelle le format. Pour | ||
58 | l'utilisateur, le format est représenté par une extension. Le format | ||
59 | est déterminé par le logiciel au moment de l'enregistrement d'un | ||
60 | document. Comme vous l'avez certainement constaté, le système associe | ||
61 | par défaut un logiciel à un format, raison pour laquelle, quand vous | ||
62 | double-cliquez sur un document, il s'ouvre automatiquement sans que | ||
63 | vous ayez à préciser quel logiciel doit l'ouvrir. Avant de vous | ||
64 | présenter les différents formats que vous devez connaître, sachez que | ||
65 | chaque format relève d'une logique, d'une structure. On en distingue | ||
66 | trois. | ||
67 | |||
68 | |||
69 | \paragraph{les principales structures utilisées}: voici les trois | ||
70 | principales structures utilisées pour présenter les données: | ||
71 | \begin{enumerate} | ||
72 | \item la structure tabulaire: c'est la plus répandue. On organise les | ||
73 | données dans des colonnes et des lignes. Voir par exemple les données | ||
74 | concernant la fréquentation des musées italiens: | ||
75 | \url{http://www.datiopen.it/opendata/Visitatori_musei_pubblici_e_similari_titolo_d_accesso#ui-tabs-3}. Un | ||
76 | des formats qui relève de cette structure est le format csv | ||
77 | (Comma-separated values); il permet d'organiser des données en | ||
78 | cellules afin qu'elles soient traitées par un tableur ou insérées dans | ||
79 | une base de données. Les données dans un document csv sont le plus | ||
80 | souvent encadrées par des guillemets et séparées par des points | ||
81 | virgule. | ||
82 | |||
83 | \begin{figure}[h] \centering \includegraphics[scale=0.6]{02-donnees2.png} | ||
84 | \end{figure} | ||
85 | |||
86 | \item la structure hiérarchique: les données présentées ainsi montrent | ||
87 | les rapports entre les points de données comme pour un arbre | ||
88 | généalogique. | ||
89 | |||
90 | \item la structure en réseau: les données structurées ainsi permettent | ||
91 | des rapports entre n'importe quelle combinaison d'éléments dans | ||
92 | n'importe quelle direction. Le web en est un bon exemple puisque les | ||
93 | pages web comportent des liens vers un nombre incalculable d'autres | ||
94 | pages. Cf. le format xml (Extensible Markup Language) qui a pour | ||
95 | objectif de faciliter l'échange automatisé de contenus complexes. Un | ||
96 | document xml est constitué d'un prologue qui indique les informations | ||
97 | de traitement (comme le jeu de caractères utilisé), et du corps du | ||
98 | document, constitué d'un ensemble de balises qui décrivent les données | ||
99 | (se présentant sous la forme d'une arborescence). Où trouve-t-on du | ||
100 | xml? Dans les pages web, les documents OpenOffice sont également des | ||
101 | fichiers xml, les logiciels de dessin comme InkScape utilisent aussi | ||
102 | ce format, etc. | ||
103 | |||
104 | \begin{figure}[h] \centering \includegraphics[scale=0.6]{02-donnees1.png} | ||
105 | \end{figure} | ||
106 | |||
107 | NB: vous remarquerez que les mêmes données peuvent être présentées | ||
108 | sous des formats différents. | ||
109 | \end{enumerate} | ||
110 | |||
111 | \paragraph{les formats que vous devez savoir utiliser}: on distingue | ||
112 | les formats ouverts dont les spécifications sont publiquement | ||
113 | accessibles des formats fermés qui sont souvent propriétaires (même | ||
114 | quand un format propriétaire est ouvert, les entreprises qui le | ||
115 | commercialisent tentent d'en conserver le contrôle en proposant de | ||
116 | nouvelles versions plus élaborées ou en ayant recours aux | ||
117 | brevets). Voici la liste des principaux formats que vous | ||
118 | rencontrerez. Vous penserez à préciser quels sont ceux qui sont | ||
119 | ouverts. | ||
120 | |||
121 | \begin{figure}[h] \centering | ||
122 | \includegraphics[scale=0.6]{02-exercice_formats.png} | ||
123 | \end{figure} | ||
124 | |||
125 | Sur le format txt: éditeur de textes et traitement de | ||
126 | textes. Qu’est-ce qu’un éditeur de textes ? À quoi cela sert-il ? | ||
127 | Est-ce la même chose qu’un traitement de texte ? Un éditeur de texte | ||
128 | est un programme qui permet de modifier des fichiers de texte brut, | ||
129 | sans mise en forme (gras, italique, souligné…). Sous Windows, on | ||
130 | dispose d’un éditeur de texte très basique, le Bloc-Notes, mais il | ||
131 | existe aussi NotePad++ (plus évolué). Sous Linux, on a le choix entre | ||
132 | Nano, Vim, Emacs, et bien d’autres. Un traitement de texte, en | ||
133 | revanche, est fait pour rédiger des documents mis en forme. Word et | ||
134 | LibreOffice Writer sont certainement les plus célèbres. | ||
135 | |||
136 | |||
137 | \paragraph{Exercice 1} | ||
138 | |||
139 | Quand a-t-on besoin d’un éditeur de texte ? Chaque fois qu’on veut | ||
140 | éditer un fichier de texte brut (au format .txt). Si les éditeurs de | ||
141 | texte sont parfaits pour les programmeurs, ils sont aussi utiles pour | ||
142 | retravailler du texte à l’aide de commandes puissantes, avant de le | ||
143 | structurer dans un traitement de textes. Exemple : quand on récupère | ||
144 | une œuvre ou un extrait d’œuvre depuis une bibliothèque numérique, il | ||
145 | faut très souvent supprimer les retours à la ligne intempestifs qu’on | ||
146 | appelle hard wrap. Il est très facile de le faire grâce à un éditeur | ||
147 | comme Notepad++ : allez dans le menu TextFX, commande TextFXEdit, | ||
148 | sous-commande Unwrap Text. Les retours à la ligne simples sont | ||
149 | convertis en fin de ligne (mode soft wrap) tandis que les doubles | ||
150 | retours subsistent. À ce problème, s’ajoute parfois aussi celui de | ||
151 | caractères cabalistiques qui apparaissent à la place des caractères | ||
152 | accentués. | ||
153 | |||
154 | \paragraph{Exercice 2} | ||
155 | \begin{enumerate} | ||
156 | \item Récupérez au format txt sur Gutenberg \emph{Le corbeau} de Poe | ||
157 | et ouvrez-le dans LibreOffice ; | ||
158 | \item Faites apparaître au début du document le titre de l’œuvre en | ||
159 | italique (comme il se doit), puis enregistrez ce fichier au format | ||
160 | natif d’OO (.odt). Enregistrez maintenant ce fichier au format txt et | ||
161 | ouvrez-le avec un éditeur de textes par exemple : commentez la | ||
162 | différence ; | ||
163 | \item Exportez-le enfin au format pdf et veillez à ce que l’ouverture | ||
164 | de ce fichier soit protégé par un mot de passe que vous définirez. | ||
165 | \end{enumerate} | ||
166 | |||
167 | |||
168 | \section{Le problème des données textuelles: coder du texte} | ||
169 | \paragraph{Encodage binaire} | ||
170 | C'est dans les années 60 qu'apparaît la | ||
171 | nécessité de représenter chaque caractère en code traitable par | ||
172 | l'ordinateur. Or la mémoire d'un ordinateur n'est capable | ||
173 | d'enregistrer qu'une suite de 0 et 1 (encodage binaire): à l'origine, | ||
174 | les lettres de l'alphabet ont donc été encodées sous la forme d'une | ||
175 | suite de 0 et de 1. | ||
176 | |||
177 | |||
178 | \paragraph{La table ASCII} Mais de quel alphabet parle-t-on? Tout | ||
179 | commence par une constatation très simple : les premiers | ||
180 | informaticiens parlaient anglais. Et l’anglais s’écrit avec peu de | ||
181 | choses : deux fois 26 lettres, 10 chiffres, une trentaine de signes de | ||
182 | ponctuation, de signes mathématiques, sans oublier le symbole | ||
183 | dollar. : avec 95 caractères au total on peut se débrouiller. À | ||
184 | l’époque dont je parle, on ne pouvait utiliser que la moitié des | ||
185 | octets, soit 128 valeurs. On en a pris 33 comme caractères de « | ||
186 | contrôle » (comme le retour à la ligne par exemple), plus les 95 dont | ||
187 | on avait besoin pour écrire l’anglais. On a donc attribué des numéros | ||
188 | à toutes ces valeurs : le code ASCII (American Standard Code for | ||
189 | Information Interchange) était né. Voir la figure \ref{ascii}. | ||
190 | |||
191 | \begin{figure}[h] \centering \includegraphics[scale=0.5]{02-ascii.png} | ||
192 | \caption{La table ASCII} | ||
193 | \label{ascii} | ||
194 | \end{figure} | ||
195 | |||
196 | |||
197 | \paragraph{L'unicode} Mais au bout d’un certain temps est apparue la | ||
198 | nécessité de taper du français ou de l’allemand: on a donc utilisé les | ||
199 | valeurs laissées de côté par l’ASCII et il a été possible de caser les | ||
200 | caractères accentués et divers autres symboles utilisés par les | ||
201 | langues d’Europe de l’ouest. Dans ces 128 valeurs, il n’y a hélas pas | ||
202 | eu de place pour les caractères des langues occidentales et l’alphabet | ||
203 | cyrillique et l’alphabet grec et l’alphabet hébreu. Pour pouvoir | ||
204 | taper plusieurs langues sur un même ordinateur et pour que les | ||
205 | ordinateurs puissent communiquer entre eux, des organismes de | ||
206 | standardisation ont créé des tables de correspondance, comme | ||
207 | l’ISO-8859-1, qui propose un jeu de caractères pour les langues | ||
208 | occidentales, l’ISO-8859-5 qui offre du cyrillique, l’ISO-8859-7, qui | ||
209 | propose du grec, etc. Mais, malgré tout, il n’a pas été possible de | ||
210 | faire rentrer les 1945 idéogrammes du japonais officiel dans un octet, | ||
211 | ni les 11 172 syllabes coréennes, ni les dizaines de milliers | ||
212 | d’idéogrammes chinois qu’on arrive à recenser... Pour résoudre | ||
213 | durablement tous ces problèmes de langues, au début des années 2000, | ||
214 | s’est formé un consortium regroupant des grands noms de l’informatique | ||
215 | et de la linguistique : le consortium Unicode. Sa tâche : recenser et | ||
216 | numéroter tous les caractères existant dans toutes les langues du | ||
217 | monde. Est donc né un jeu universel de caractères, acceptant plusieurs | ||
218 | encodages, l’unicode. En 2007, le standard publié comportait environ | ||
219 | 60 000 caractères. Prenons, par exemple, le sigma majuscule: il a été | ||
220 | encodé avec le point de code \texttt{U+03A3} (voir la figure | ||
221 | \ref{unicode}). | ||
222 | |||
223 | Mais l'unicode prend beaucoup plus de place que l'ASCII. Or, pour | ||
224 | prendre l'exemple du français, la grand majorité des caractères | ||
225 | utilisent seulement le code ASCII. On a donc imaginé l'UTF-8 (Unicode | ||
226 | Transformation Format): un texte en UTF-8 est partout en ASCII et dès | ||
227 | qu'on a besoin d'un caractère appartenant à l'unicode on utilise un | ||
228 | caractère spécial pour l'indiquer. | ||
229 | |||
230 | |||
231 | \begin{figure}[h] \centering \includegraphics[scale=0.7]{02-unicode.png} | ||
232 | \caption{Aperçu de la table de codage unicode pour l'alphabet grec} | ||
233 | \label{unicode} | ||
234 | \end{figure} | ||
235 | |||
236 | Cela dit, comment faire pour saisir une citation en espagnol, chinois, | ||
237 | arabe ou grec ancien au milieu d’un texte en français ? Il faut non | ||
238 | seulement disposer d’une police unicode (comme Gentium), mais encore | ||
239 | d’un clavier virtuel qui vous permet de savoir où se trouvent les | ||
240 | caractères. Ainsi, pour être en mesure de saisir du texte dans une | ||
241 | langue autre que le français, vous devez attribuer à votre clavier la | ||
242 | langue de saisie souhaitée. Par exemple, pour taper οὐκ ἔλαβον πόλιν, | ||
243 | vous devez configurer votre clavier de façon à saisir π quand vous | ||
244 | tapez sur la touche P. Pour ce faire, il suffit de cliquer du droit | ||
245 | sur l’icône FR, puis de choisir «~Paramètres~» et «~Ajouter~». Il | ||
246 | vous est aussi possible d’utiliser des claviers virtuels en ligne, | ||
247 | comme celui disponible à l’adresse suivante : | ||
248 | http://www.lexilogos.com/clavier/multilingue.htm | ||
249 | |||
250 | \section{Coder des images} Une image se décompose en points appelés | ||
251 | pixels (premier critère de qualité d'une image). À chaque pixel est | ||
252 | associée une couleur décomposée en trois composantes, rouge, vert et | ||
253 | bleu, chacune étant notée par un nombre entre 0 et 255. Exemple: le | ||
254 | code pour le bleu ciel est (119, 181, 254), chaque nombre représentant | ||
255 | le dosage nécessaire de chacune des couleurs primaires pour obtenir la | ||
256 | couleur désirée. C'est ce qu'on appelle le code RVB (Red Green | ||
257 | Blue). Notez que le poids d'une image correspond à 3*nombre de pixels. | ||
258 | |||
259 | |||
260 | \chapter{Le tableur: fonctionnalités simples} | ||
261 | Un classeur permet de stocker des données numériques en vue de calculs | ||
262 | ou d'affichages graphiques (par opposition à l'affichage texte qu'on | ||
263 | vient de voir avec le format csv). Chaque classeur peut contenir de | ||
264 | nombreuses feuilles qu'on sélectionne avec des onglets. Chaque feuille | ||
265 | de calcul permet de saisir, contrôler, répertorier et analyser des | ||
266 | données (textuelles, numériques, fonctionnelles, etc.). Elle contient | ||
267 | des cellules éventuellement regroupées en plages. | ||
268 | |||
269 | \section{Mise en forme} Chaque cellule peut être mise en forme avec | ||
270 | une palette complète d'outils. Il est possible de reproduire la mise | ||
271 | en forme à une autre cellule ou plage (voir le pinceau brosse). | ||
272 | |||
273 | Dans un tableur, on peut insérer des graphiques dont on règle les | ||
274 | dimensions, les axes, les légendes et titres. En fonction du type de | ||
275 | données, on pourra privilégier le graphique en histogramme, en lignes | ||
276 | et courbes (pour représenter des tendances ou une évolution dans le | ||
277 | temps de valeurs numériques), à nuage, en secteurs (ou camemberts). | ||
278 | |||
279 | \section{Fonctions de calcul} Voir la moyenne. | ||
280 | |||
281 | \section{Tri, filtre et conversion de données} | ||
282 | \paragraph{Tri} Il est possible de trier des données en fonction de | ||
283 | textes (tri croissant ou décroissant), de nombres, de dates. Plusieurs | ||
284 | critères peuvent être définis (ex.: classement d'une classe par ordre | ||
285 | alphabétique des noms puis des notes obtenues). Pensez à cliquer sur | ||
286 | l'onglet Options pour déterminer les options de tri: vous pourrez | ||
287 | ainsi indiquer que la plage contient des étiquettes de colonne afin | ||
288 | d'éviter que les en-têtes de colonne soient triés avec les autres | ||
289 | données. | ||
290 | |||
291 | \paragraph{Filtre} Le filtre automatique (Données>AutoFiltre) permet | ||
292 | de faciliter la recherche d'informations au sein d'une plage de | ||
293 | données. L'utilisateur peut ainsi choisir des informations qu'il | ||
294 | souhaite afficher ou masquer. | ||
295 | |||
296 | \paragraph{Conversion} Une fonction permet de diviser une colonne de | ||
297 | données texte en plusieurs colonnes (Données>Texte en colonnes). Ex.: | ||
298 | à partir d'un nom complet, vous voulez une colonne nom et une colonne | ||
299 | prénom. | ||
300 | |||
301 | |||
302 | \section{Importation d'une source de données} | ||
303 | On peut vouloir importer une source de données dans un tableur, par | ||
304 | exemple une liste au format texte (qu'on peut visualiser dans un | ||
305 | traitement de textes en affichant les caractères non imprimables): | ||
306 | chaque caractère tabulation délimite le champ d'une cellule et chaque | ||
307 | pied de mouche indique qu'il faut passer à la ligne. Commençons par | ||
308 | ouvrir cette source de données (Fichier>Ouvrir): il faut alors | ||
309 | indiquer que le séparateur est la tabulation. | ||
310 | |||
311 | |||
312 | \chapter{Le tableur comme base de données} Un document Calc peut | ||
313 | constituer une base de données simplifiée. Dans une base de données, | ||
314 | un enregistrement est un groupe d'éléments de données liés entre eux | ||
315 | et traités comme une seule unité d'information. Chaque élément dans | ||
316 | l'enregistrement est appelé un champ. Une table est un ensemble | ||
317 | d'enregistrements. Chaque enregistrement, à l'intérieur d'une table, a | ||
318 | la même structure. Une table peut être vue comme une série de lignes | ||
319 | et de colonnes. On le voit, une feuille d'un document Calc a une | ||
320 | structure similaire à une table de base de données. | ||
321 | |||
322 | Nous allons définir une plage de base de données de façon à trier, | ||
323 | grouper, rechercher et effectuer des calculs avec la plage comme si | ||
324 | c'était une base de données (Données>Définir la plage). | ||
325 | |||
326 | \section{Utiliser des critères de recherche pour trouver des | ||
327 | données} | ||
328 | \paragraph{Exemple n°1} Comment compter toutes les cellules d'une | ||
329 | plage de données dont le contenu correspond à des critères de | ||
330 | recherche que nous aurons définis. Hypothèse de travail: nous | ||
331 | recherchons le nombre d'étudiants de la base dont la moyenne est égale | ||
332 | ou supérieure à 10 OU dont l'âge est inférieur ou égal à 17. Voici ce | ||
333 | qu'on doit saisir dans la cellule H5: | ||
334 | \begin{verbatim} =BDNB(A9:G51;0;A1:G3) | ||
335 | \end{verbatim} | ||
336 | |||
337 | \paragraph{Commentaire} Le nom de la fonction est suivi d'une | ||
338 | parenthèse dans laquelle figurent: | ||
339 | \begin{itemize} | ||
340 | \item la plage de cellules contenant les données: A9:G51 | ||
341 | \item le champ de la base (colonne) utilisé pour les critères de | ||
342 | recherche: 0 | ||
343 | \item la plage de cellules contenant les critères de recherche: A1:G3 | ||
344 | \end{itemize} | ||
345 | |||
346 | \paragraph{Exemple n°2} Comment déterminer le contenu de la cellule | ||
347 | d'une plage de données correspondant aux critères de | ||
348 | recherche. Hypothèse de travail: nous recherchons le nom de l'étudiant | ||
349 | qui a obtenu 5/20 au devoir n°1: | ||
350 | \begin{verbatim} =BDLIRE(A9:G51;"PRÉNOM";A1:C2) | ||
351 | \end{verbatim} | ||
352 | |||
353 | |||
354 | \section{Utiliser des formules pour trouver des données} Ne prenons | ||
355 | qu'un exemple: la fonction RECHERCHEV (pour recherche verticale): il | ||
356 | s'agit de récupérer des données issues d'une feuille différente de la | ||
357 | feuille de travail grâce à une "clé" commune aux deux feuilles. | ||
358 | \begin{enumerate} | ||
359 | \item dans la feuille n°1, j'ai les noms de tous mes étudiants et leur | ||
360 | n° d'étudiant; | ||
361 | \item dans la feuille n°2, j'ai les noms d'un seul groupe d'étudiants | ||
362 | et leur note. | ||
363 | \end{enumerate} --> Comment faire pour récupérer dans ma deuxième | ||
364 | feuille les n° d'étudiant du seul groupe concerné? | ||
365 | \begin{verbatim} =RECHERCHEV(A2;$Feuille1.$A$1:$B$120;2;0) | ||
366 | \end{verbatim} | ||
367 | |||
368 | \paragraph{Commentaire} Notez que le premier argument est la valeur | ||
369 | cherchée dans la feuille 1: il s'agit, dans notre exemple, de chercher | ||
370 | l'étudiant Charles-Daniel (cellule A2). | ||
371 | |||
372 | Le deuxième argument identifie les cellules où effectuer la recherche. | ||
373 | |||
374 | Le troisième argument identifie la colonne à renvoyer: dans notre | ||
375 | exemple, celle des n° d'étudiants est la deuxième colonne de notre | ||
376 | feuille 1. | ||
377 | |||
378 | Le dernier argument est facultatif. La valeur par défaut est 1 ou | ||
379 | VRAI, ce qui indique que la première colonne est triée dans l'ordre | ||
380 | croissant. Une valeur de 0 ou FAUX indique que les données ne sont pas | ||
381 | triées. | ||
382 | |||
383 | Une fois que la recherche a abouti pour le premier étudiant, il faut | ||
384 | étendre la recherche à toutes les données de notre feuille 2: pour | ||
385 | cela, il suffit de faire un copier/coller en ayant pris la précaution | ||
386 | de protéger la formule en encadrant les numéros des colonnes du | ||
387 | chiffre \$. | ||
388 | |||
389 | |||
390 | \section{Utiliser des formules pour traiter des | ||
391 | données textuelles} | ||
392 | Plusieurs fonctions permettent de travailler sur du texte. En voici | ||
393 | quelques exemples: | ||
394 | \begin{itemize} | ||
395 | \item Mettre en majuscule la première lettre de chaque mot: | ||
396 | =NOMPROPRE(A1) | ||
397 | \item Supprimer les espaces en trop dans le texte de la cellule A1: | ||
398 | =SUPPRESPACE(A1) | ||
399 | \item Extraire le premier mot d'un texte saisi dans la cellule A1: | ||
400 | =GAUCHE(A1;CHERCHE(" ";A1;1)-1) | ||
401 | \end{itemize} | ||
402 | |||
403 | |||
404 | |||
405 | \end{document} \ No newline at end of file | ||
diff --git a/fichiers/images/02-ascii.png b/fichiers/images/02-ascii.png new file mode 100644 index 0000000..8a5c75a --- /dev/null +++ b/fichiers/images/02-ascii.png | |||
Binary files differ | |||
diff --git a/fichiers/images/02-donnees1.png b/fichiers/images/02-donnees1.png new file mode 100644 index 0000000..369e48d --- /dev/null +++ b/fichiers/images/02-donnees1.png | |||
Binary files differ | |||
diff --git a/fichiers/images/02-donnees2.png b/fichiers/images/02-donnees2.png new file mode 100644 index 0000000..3aeb112 --- /dev/null +++ b/fichiers/images/02-donnees2.png | |||
Binary files differ | |||
diff --git a/fichiers/images/02-exercice_formats.png b/fichiers/images/02-exercice_formats.png new file mode 100644 index 0000000..382fb85 --- /dev/null +++ b/fichiers/images/02-exercice_formats.png | |||
Binary files differ | |||
diff --git a/fichiers/images/02-unicode.png b/fichiers/images/02-unicode.png new file mode 100644 index 0000000..a8856e9 --- /dev/null +++ b/fichiers/images/02-unicode.png | |||
Binary files differ | |||
@@ -1,5 +1,12 @@ | |||
1 | ./fichiers/images/02-donnees1.png | ||
2 | ./fichiers/images/02-unicode.png | ||
3 | ./fichiers/images/02-exercice_formats.png | ||
4 | ./fichiers/images/02-donnees2.png | ||
5 | ./fichiers/images/02-ascii.png | ||
1 | ./fichiers/01-ligne-de-commande.tex | 6 | ./fichiers/01-ligne-de-commande.tex |
7 | ./fichiers/02-tableur_bdd.tex | ||
2 | ./makefile | 8 | ./makefile |
9 | ./_preamble-ed.tex | ||
3 | ./_preamble.tex | 10 | ./_preamble.tex |
4 | ./README.md | 11 | ./README.md |
5 | ./README.tex | 12 | ./README.tex |
@@ -1,7 +1,7 @@ | |||
1 | all: pdf | 1 | all: pdf |
2 | 2 | ||
3 | pdf: clean | 3 | pdf: clean |
4 | find ./* -type f | grep -v '_.*.tex' | grep 'tex$$' > texfiles | 4 | find ./* -type f | grep -v '/_.*.tex' | grep 'tex$$' > texfiles |
5 | while read l ; do \ | 5 | while read l ; do \ |
6 | latexmk -quiet -cd -lualatex -e '$$lualatex=q/lualatex %O --shell-escape %S/' $$l ; \ | 6 | latexmk -quiet -cd -lualatex -e '$$lualatex=q/lualatex %O --shell-escape %S/' $$l ; \ |
7 | done < texfiles | 7 | done < texfiles |
@@ -12,7 +12,7 @@ pdf: clean | |||
12 | clean: | 12 | clean: |
13 | rm -rf .backup | 13 | rm -rf .backup |
14 | find -iname "*~" | xargs rm -rf | 14 | find -iname "*~" | xargs rm -rf |
15 | find ./* -type f | grep 'makefile\|\.md$$\|\.tex$$' > ls-R | 15 | find ./* -type f | grep 'makefile\|\.md$$\|\.png$$\|\.tex$$' > ls-R |
16 | rsync -avPr --files-from=ls-R . .backup | 16 | rsync -avPr --files-from=ls-R . .backup |
17 | cp ls-R .backup | 17 | cp ls-R .backup |
18 | rm -rf * | 18 | rm -rf * |