Le tableur

Retour à la page personnelle de Bernard Parisse.

## 15 Le tableur

### 15.1 Généralités

Le niveau tableur est obtenu avec le raccourci `Alt+t` et contient :

- en haut la barre de menu de ce niveau :
  `Table Edit Statistics` et
  à coté de cette barre de menus les boutons :
  `eval` `val` `2-d` `3-d` et une ligne vide qui deviendra après une sauvegarde du tableur (faite par exemple sous le nom `aa.tab`) un bouton `Save aa.tab` (sauvegarde que l’on fait la première fois avec le menu `Table``▸``Sauver tableur comme du texte`).
- en dessous, le tableur avec une case sélection, une ligne de commandes, une ligne d’état et les cellules,
- en dessous du tableur, l’écran de représentation graphique du tableur.

Remarque On peut utiliser la barre de menu du tableur mais pour cela il faut déplacer la souris sur un des menus. On peut aussi obtenir la barre de menu du tableur, plus directement, en utilisant le bouton droit de la souris : en effet, lorsqu’on clique sur le bouton droit de la souris n’importe où dans le tableur, on fait apparaitre les menus du tableur ce qui évite un déplacement de la souris.
Le tableur de `Xcas` utilise les conventions habituelles des tableurs :

- Nom de cellule.
  Le tableur est une matrice dont on numérote les lignes par des nombres et les colonnes par une ou plusieurs lettres. Le nom d’une cellule est composé d’abord de la (des) lettre(s) (donc du numéro de colonne) puis du nombre. Par exemple ligne 2, colonne 3 se note `C2`. Les numéros de lignes commencent à 0 en mode Xcas, 1 sinon.
- Valeur et formule de calcul.
  La valeur d’une cellule peut être une constante ou être calculée par une formule pouvant faire intervenir les autres cellules, qui sont alors désignées par une référence (cf. ci-dessous). Lorsqu’on modifie une cellule, on entre soit une valeur constante, soit une formule de calcul commencant par `=`.
- Référence relative et absolue.
  Lorsqu’on désigne une cellule depuis une formule, on peut la désigner relativement à la cellule que l’on définit, ou de manière absolue. Cela affecte les copies de la formule dans d’autres cellules, les références absolues copiées correspondront au même numéro de ligne ou colonne, alors que les références relatives correspondent au même décalage de lignes ou colonnes. Une référence absolue se note en précédant la (les) lettre(s) ou/et le nombre de la cellule par le signe $.
- Plage de cellules. Cela permet de faire référence à un ensemble rectangulaire de cellules, par exemple pour en calculer la moyenne. On indique les noms des cellules des sommets en haut à gauche et en bas à droite du rectangle séparés par le signe `:` (par exemple `mean(A0:B5)`).

### 15.2 Comment avoir un tableur

Pour créer un tableur, il faut utiliser le menu `Tableur`, puis `Nouveau tableur` ou le raccourci `Alt+t`.

Remarque
À l’ouverture du tableur, la fenêtre de configuration du tableur s’ouvre et vous pouvez donner ou ne pas donner un nom au tableur dans la case `Variable` :

- vous avez mis un nom dans la case `Variable` (par exemple `M`),
  Alors cette variable contiendra la matrice définie par le tableur. De plus, cette variable évolue avec le tableur automatiquement. Lors de la sauvegarde du tableur, c’est ce nom avec le suffixe `.tab` qui servira de nom de fichier (par exemple `M.tab`) et ce fichier contiendra le tableur avec ses formules.
- vous n’avez pas mis de nom dans la case `Variable`,
  Lors de la sauvegarde du tableur, on vous demande un nom de fichier (par exemple `MM.tab`) (`.tab` sera rajouté automatiquement si vous l’avez omis) et c’est ce nom sans son extension (par exemple `MM`) qui servira de nom de variable : le nom dans la case `Variable` devient `MM` automatiquement.
- vous avez mis un nom dans la case `Variable` (par exemple `M`) et vous voulez sauver le tableur et ses formules sous un autre nom par exemple `A.tab`. Vous faites cela avec `Table``▸``Sauver comme` Dans ce cas le nom dans la case `Variable` change automatiquement et devient`A`.

On obtient un niveau contenant :

- en haut la barre de menu de ce niveau :
  `Table Edit Statistics` et
  à coté de cette barre de menus les boutons :
  `eval` `val` `2-d` `3-d` `Save as <No filename>`
- en dessous, le tableur avec une case sélection, une ligne de commandes, une ligne d’état et les cellules,
- en dessous du tableur, l’écran de représentation graphique du tableur.

Remarque
On peut choisir de :

- ne pas avoir d’écran graphique, il faut alors choisir `Cacher graphe` dans `Edit``▸``Configuration` du tableur, ou encore ne pas cocher `Graphe` dans l’écran de configuration du tableur (que l’on obtient en cliquant sur la ligne d’état du tableur),
- d’avoir l’écran de représentation graphique du tableur à droite du tableur il faut alors choisir `Graphe portrait` dans `Edit``▸``Configuration` du tableur, ou encore ne pas cocher `Graphe paysage` dans l’écran de configuration du tableur (que l’on obtient en cliquant sur la ligne d’état du tableur),
- d’avoir l’écran de représentation graphique du tableur en dessous du tableur il faut alors choisir `Graphe paysage` dans `Edit``▸``Configuration` du tableur ou encore cocher `Graphe paysage` dans l’écran de configuration du tableur (cet écran de configuration du tableur s’obtient en cliquant sur la ligne d’état du tableur ou avec `Edit``▸``Configuration``▸``Fenetre cfg`).
- On peut enfin faire apparaitre le graphe 2-d ou 3-d associé à l’ensemble des commandes du tableur ayant une sortie graphique en cliquant sur le bouton `2d` ou `3d`.

### 15.3 Description du tableur

Les deux premières lignes du tableur sont :

- une ligne composée de deux cases :
  - une case de sélection qui permet soit de sélectionner une cellule (en tapant par exemple `B0`) ou un sous tableau (en tapant par exemple `B0..D3`), ou des colonnes non contigües (par exemple `B0..3,D`), soit de savoir ce que l’on a sélectionné.
  - une ligne de commandes qui permet de modifier une cellule du tableur ou de savoir ce qui se trouve dans cette cellule.

    Attention Si le curseur est dans cette ligne de commandes, lorsqu’on clique dans une case, c’est le nom de cette case qui va s’afficher dans cette ligne, sans changer la case de sélection. Pour enlever le curseur tapez sur `Echap` ou `Escape` ou encore sur la touche d’effacement ←— jusqu’au début de ligne puis encore une fois.

    Si le curseur n’est pas dans la ligne de commandes, lorsqu’on clique dans une case, c’est la formule de cette case qui va s’afficher dans cette ligne, en mettant son nom dans la case de sélection (pour avoir la valeur de cette case il faut appuyer sur le bouton `val`).

- la ligne d’état rappelant la configuration choisie et servant aussi de bouton permettant de changer cette configuration. On détermine la configuration dans le menu `Edit``▸``Configuration` du tableur ou en cliquant sur cette ligne d’état. On a par exemple dans la ligne d’état :
  `* Spreadsheet A R40C6 auto down fill`
  cela veut dire que l’on a un tableur qui a été modifié depuis la dernière sauvegarde (`*`), de nom de variable `A` qui a 40 lignes et 6 colonnes, il est réévalué automatiquement, le curseur se déplace vers le bas lorsqu’on vient de remplir une cellule et une matrice remplit plusieurs cellules.

  Autre exemple :
  `- Matrix <> R4C6 manual right cell`
  cela veut dire que l’on a une matrice qui n’a pas été modifiée depuis la dernière sauvegarde (`-`), il ne lui correspond pas de nom de variable (`<>`), elle a 4 lignes et 6 colonnes, elle n’est réévaluée que si on appuie sur le bouton `eval`, le curseur se déplace vers la droite lorsqu’on vient de remplir une cellule et une matrice remplit une seule cellule.

### 15.4 L’écran de représentation graphique du tableur

Tous les résultats des commandes graphiques situées dans les cellules du tableur s’afficheront dans l’écran de représentation graphique du tableur. Si on met `1` dans `A0`, `2` dans `B0`, `=cercle(A0,B0)` dans `C0` et `=cercle(B0,A0)` dans `D0`, alors on obtient le tracé de deux cercles et une modification de l’une des deux cases `A0` ou `B0` modifira ce tracé.

### 15.5 La barre de menu du tableur

On peut aussi obtenir cette barre de menus en utilisant le bouton droit de la souris : lorsqu’on clique sur le bouton droit n’importe où dans le tableur, on fait apparaitre la barre des menus du tableur ce qui évite un déplacement de la souris.
Le menu `Table` est composé de :

- `Sauver` pour sauver le tableur dans un fichier d’extension `.tab`.
- `Sauver comme` pour sauver le tableur sous un autre nom (d’extension `.tab`) que celui noté à coté du bouton `Save`,
- `Save selection to variable` pour stocker dans une variable la matrice mise en surbrillance et pouvoir ainsi utiliser cette variable ailleurs (calcul formel par exemple). Par exemple si le nom de la variable est `a`, `a[0,2]` donnera la valeur de la colonne 2 de la ligne 0 de la sous-matrice sélectionnée (cette méthode d’export est plus robuste que l’utilisation de la commande `current_sheet`)
- `Inserer` pour insérer à partir de la cellule mise en surbrillance un tableur sauvé précédemment,
- `Cfg` pour ouvrir la fenêtre de configuration du tableur ce qui permet de donner (ou non) un nom de variable à la matrice définie par le tableur et de choisir d’associer (ou non) un graphe au tableur.
  Si le nom de la variable est `tab`, `tab[0,1]` renvera la valeur située en `B0`,
- `Exporter/Imprimer` pour imprimer le tableur. Vous pouvez prévisualiser avant d’imprimer.

Le menu `Edit` est composé de :

- `Eval sheet` ou `F9` pour réévaluer la feuille du tableur ou encore on appuie sur le bouton `eval`.
- `Copier la cellule` pour mettre le contenu d’une cellule dans le buffer. En effet la sélection d’une plage avec la souris n’est possible que si la plage a au moins deux cellules. On clique dans la cellule à copier, puis on clique sur `Copier la cellule`. On peut aussi cliquer dans la cellule à copier et taper `Ctrl+c`, puis cliquer dans la cellule oú l’on veut faire la copie, et taper `Ctrl+v`.
- `Coller` pour copier le buffer dans une cellule. Sous Linux, on peut utiliser le bouton du milieu de la souris pour copier le buffer. On peut copier le buffer dans la ligne de commandes du tableur ou d’une autre entrée, mais on ne peut pas copier directement dans une cellule : il faut passer obligatoirement par la ligne de commandes.
- `Configuration` La ligne d’état rappelle la configuration choisie et est aussi un bouton ouvrant un écran de configuration du tableur.
  Les sous menus sont :
  - `Fenetre cfg` permet d’ouvrir l’écran de configuration du tableur (on peut aussi cliquer sur la ligne d’état du tableur),
  - `Format` permet d’avoir un tableur ou un éditeur de matrice qui édite facilement des matrices symétriques, antisymétriques, hermitiennes, antihermitiennes,
  - `Changer le nombre de lignes` permet de choisir le nombre de lignes,
  - `Changer le nombre de colonnes` permet de choisir le nombre de colonnes,
  - `Deplacer ->` permet de choisir de diriger le curseur automatiquement vers la gauche lors du remplissage d’une cellule (on peut aussi utiliser la souris au coup par coup),
  - `Deplacer vers le bas` permet de choisir de diriger le curseur automatiquement vers le bas lors du remplissage d’une cellule (on peut aussi utiliser la souris au coup par coup),
  - `Recalculer automatiquement` pour que le tableur soit recalculé automatiquement,
  - `Ne pas recalculer automatiquement` pour que le tableur ne soit pas recalculé automatiquement : le recalcul ne se fait alors que si on appuie sur le bouton `eval`,
  - `Distribuer une matrice sur plusieurs cellules` va permettre de remplir plusieurs cellules avec une matrice : par exemple si on sélectionne `A0` et que l’on tape dans la ligne de commandes du tableur `[1,2,3]`, cela remplira 3 cellules, en mettant 1 dans `A0`, 2 dans `B0` et 3 dans `C0`, par contre si on tape dans la ligne de commandes du tableur `=[1,2,3]` cela mettra [1,2,3] dans `A0`.
  - `Conserver une matrice dans une seule cellule` permet de remplir une cellule avec une matrice : par exemple si on sélectionne `A0` et que l’on tape dans la ligne de commandes du tableur `[1,2,3]` ou `=[1,2,3]`, cela mettra [1,2,3] dans `A0`.
  - `Portrait` pour avoir l’écran de représentation graphique du tableur à droite du tableur,
  - `Paysage` pour avoir l’écran de représentation graphique du tableur en dessous du tableur,
  - `Cacher graph` pour ne pas avoir d’écran de représentation graphique associé au tableur.
- `Trier` pour trier par ordre croissant ou décroissant par rapport à une ligne ou une colonne (on vous demande laquelle) la sous-matrice mise en surbrillance (mais attention cela ne respecte pas les références),
- `Remplir` :
  - pour copier automatiquement dans la colonne (`Copier vers le bas`) ou dans la ligne (`Copier vers la droite`) la formule relative située dans la cellule mise en surbrillance ou,
  - pour remplir toute la matrice mise en surbrillance avec la formule ou la valeur située dans la première cellule enfoncée lors de la mise en surbrillance c’est à dire située dans un des "coins" de la matrice : on sélectionne la matrice en commençant par le coin où se trouve la valeur ou la formule à recopier, puis `Edit``▸``Copier la cellule enfoncee vers la selection` remplira cette matrice avec ce qui se trouve dans ce "coin". On peut aussi placer la souris dans le coin en bas à droite de la cellule : le curseur se transforme en une petite flèche rouge ⇐, puis on clique et on bouge la souris sans relacher le bouton de la souris pour mettre la matrice que l’on veut remplir en surbrillance, puis on relache le bouton de la souris,
  - `Remplir le tableur de 0` ou `Remplir selection de 0`
    pour remplir tout le tableur ou la matrice mise en surbrillance avec des zéros,
  - `tablefunc` ou `tableseq` pour avoir dans le tableur, le tableau de valeurs d’une fonction (avec la fonction `tablefunc`) ou d’une suite (avec la fonction `tableseq`).
- `Add/Delete` permet de gérer le nombre de lignes et de colonnes du tableur (on peut en inserer, en effacer etc..),
- `Col+grande` pour avoir la colonne d’une cellule sélectionnée plus large,
- `Col+petite` pour avoir la colonne d’une cellule sélectionnée moins large,

Le menu `Statistics` ouvre pour chaque item une boite de dialogue où l’on peut préciser : la sélection, la cellule cible (c’est dans cette cellule que s’inscrira la commande choisie), si on doit considérer les lignes ou les colonnes de la sélection comme argument de la commande (en cochant ou non `Lignes`) et si on doit mettre les valeurs ou les références de la sélection (en cochant ou non `valeur`).
Le menu `Statistics` est composé de :

- `1-d`
  - `Boite à moustache` permet de tracer, sur l’écran graphique, associé au tableur, les boites à moustaches des colonnes (ou des lignes si `Lignes` est cochée) des données qui ont été sélectionnées. C’est dans la cellule cible que s’inscrit la commande `moustache` avec comme argument les valeurs ou les références de la plage sélectionnée selon que l’on coche ou non `valeur`.
  - `Classes` permet de regrouper en classes la colonne de données sélectionnée (ou la ligne si on a coché `Lignes`) ou les deux colonnes (ou les deux lignes si `Lignes` est cochée) sélectionnées representant les données et leurs effectifs : il faut remplir la valeur minimum de la classe, la largeur des classes et aussi la cellule cible qui est la première cellule à partir de laquelle on écrira les classes sur deux colonnes,
  - `Histogramme` permet de tracer, sur l’écran graphique, l’histogramme de deux colonnes sélectionnées representant les intervalles de données et leurs effectifs,
- `2-d`
  - `Scatterplot` permet de tracer sur l’écran graphique :
    si `lignes` n’est pas coché, les points d’abscisse la première colonne sélectionnée et d’ordonnée les autres colonnes sélectionnées ou,
    si `lignes` est coché, les points d’abscisse la première ligne sélectionnée et d’ordonnée les autres lignes sélectionnées.
    Les couleurs seront différentes pour les points dont les ordonnées sont dans des colonnes (resp lignes) différentes.
    Par exemple,
    - si `lignes` n’est pas coché, on remplit :
      `A0,A1,A2,A3` avec `1,2,3,4` et
      `B0,B1,B2,B3` avec `1,4,9,16`, puis
      on sélectionne la matrice `A0:B3` et on ouvre le menu `Statistiques 2-d Scatterplot`.
    - si `lignes` est coché, on remplit :
      `A0,B0,C0,D0` avec `1,2,3,4` et
      `A1,B1,C1,D1` avec `1,4,9,16`, puis
      on sélectionne la matrice `A0:D1` et on ouvre le menu `Statistiques 2-d Scatterplot`.
    Une boite de dialogue s’ouvre où la plage sélectionnée est marquée (si vous n’avez rien sélectionné il faut remplir cette case) puis, il faut donner le nom de la `cellule cible` là où la commande `scatterplot` va s’inscrire. Selon que l’on coche ou non `valeur`, ce sont soient les valeurs soient les références de la plage sélectionnée qui seront en argument de la commande `scatterplot`.
    Supposons que `lignes` n’est pas coché.
    - Si `valeur` n’est pas coché dans la boite de dialogue et si la cellule cible est `C0`, dans la ligne de commandes du tableur et dans `C0` il s’inscrit alors :
      `=scatterplot(matrix(4,2,(A0):(B3)))`
    - Si `valeur` est coché dans la boite de dialogue et si la cellule cible est `C1`, dans la ligne de commandes du tableur et dans `C1` il s’inscrit alors :
      `=scatterplot([[1,1],[2,4],[3,9],[4,16]])`.
    Ainsi une modification des valeurs de `A0:B3` modifira, lors d’une réévaluation du tableur, le graphique commandé par la case `C0` mais ne modifira pas le graphique commandé par la case `C1`. Autrement dit, si vous ne travaillez pas en valeur, c’est à dire avec des références, à chaque modification, on aura une modification du graphique et si vous travailler en valeur à chaque modification il faudra inscrire dans une nouvelle cellule cible la commande `scatterplot` et on aura alors plusieurs graphiques correspondant chacun aux commandes `scatterplot` situés dans les cellules cibles.
    Attention
    Lorsqu’on sélectionne une plage avec la souris on ne peut sélectionner que des colonnes contigües. On peut néanmoins remplir la plage de sélection de la boite de dialogue avec des colonnes non contigües par exemple :
    si `lignes` n’est pas coché, on mettra `C0..5,A,D` pour dire, que les points que l’on veut représenter ont pour abscisses la colonnes `C` et pour ordonnées la colonne `A` d’une part et pour abscisses la colonnes `C` et pour ordonnées la colonne `D` d’autre part.
    Mais dans ce cas `scatterplot` s’affichera comme si `valeur` etait coché (même si ce n’est pas le cas).
  - `Polygonplot` permet de tracer sur l’écran graphique les points d’abscisse la première colonne sélectionnée et d’ordonnée les autres colonnes sélectionnées, en reliant entre eux les points dont les ordonnées sont dans une même colonne.
    La même boite de dialogue que pour `scatterplot` s’ouvre. Dans la ligne de commandes du tableur il s’inscrit alors, par exemple, dans `D5` :
    `=polygonplot(matrix(3,3,A0:C2))` si ni `lignes` ni `valeur` ne sont cochés, si la cellule cible est `D5` et si la plage sélectionnée est `A0:C2`.

### 15.6 Les boutons eval val Save

- `eval` permet de réévaluer le tableur.
- `val` permet d’afficher la valeur de la case au lieu de la formule dans la ligne de commandes située à coté de la case de sélection. Il faut bien sur que cette valeur existe. Cette case doit donc être calculée en cliquant auparavant sûr `eval` si on n’est pas en recalcul automatique.
- `save` permet de sauver le tableur sous le nom indiqué à droite de `Save`, si c’est `No filename` on vous demande le nom choisi qui doit être un `.tab`.

### 15.7 Pour recopier, à la souris, une cellule dans toute une zone du tableur

Il s’agit ici de recopier avec la souris le contenu de la cellule c’est à dire sa formule dans toute une zone du tableur. Pour cela :

- On remplit la cellule qui sera recopiée : pour cela, si le curseur n’est pas dans la ligne de commandes, on clique dans la cellule à remplir, puis on tape `=` suivi de la formule en désignant les éventuelles références avec la souris, puis on valide par `Entree` ; sinon, il faut au préalable enlever le curseur de la ligne de commandes en tapant sur la touche `esc`,
- On recopie le contenu de cette cellule : pour cela, on clique sur cette cellule, puis on appuie sur un bouton de la souris dans le coin en bas à droite quand le curseur de la souris change de forme de(il devient ⇐ ), on déplace alors la souris (bouton enfoncé) pour sélectionner la zone où l’on veut recopier cette cellule, puis on relache le bouton de la souris. Cela a le même effet que l’un des menus obtenus avec `Edit``▸``Remplir``▸``Copier la cellule...`.

### 15.8 Pour recopier, à la souris, une ou plusieurs cellule dans le tableur

Il s’agit ici de recopier avec la souris le contenu d’un sous tableau ou d’une cellule c’est à dire les différentes formules du sous tableau ou de la cellule à un autre endroit du tableur.

- Pour recopier, à la souris, un sous tableau du tableur, dans le tableur il suffit de sélectionner ce sous tableau à la souris, puis de cliquer avec le bouton du milieu sur la case qui débutera le nouveau sous tableau ou encore d’utiliser `Edit``▸``Coller` lorsqu’on a cliqué sur la case qui débutera le nouveau sous tableau.
- Pour recopier, à la souris, une cellule du tableur, dans une cellule tableur on clique dans la cellule à copier, puis on utilise :
  `Edit``▸``Copier la cellule`
  puis on clique avec le bouton du milieu sur la cellule où l’on veut faire la recopie ou encore on utilise `Edit``▸``Coller` lorsqu’on a cliqué dans la cellule où l’on veut faire la recopie.

Remarque Si on recopie un sous tableau ou une cellule à l’extérieur du tableur, `Xcas` transforme la recopie en une matrice dont les éléments sont les valeurs du sous tableau ou de la cellule. Ainsi si la valeur d’une cellule est `[1,2,3]`, la recopie de cette cellule à l’extérieur du tableur la transformera en la matrice ayant 1 ligne et 1 colonne : `[[[1,2,3]]]`.

Retour à la page personnelle de Bernard Parisse.