# Tableur

Un tableur est un programme informatique capable de manipuler des feuilles de calcul. À l'origine destinés au traitement automatisé des données financières, les logiciels tableurs sont maintenant utilisés pour effectuer des tâches variées, de la gestion de bases de données simples à la production de graphiques (on peut alors parler de tableur-grapheur), en passant par diverses analyses statistiques. Le tableur est, dans les organisations, le principal outil de développement d'applications par l'utilisateur-final.

## De la feuille de calcul au tableur

Une feuille de calcul est une table (ou grille) d'informations de toutes natures (données industrielles, scientifiques, commerciales, comptables, financières, statistiques, données de métiers, etc.).
D'une manière générale, toute problématique, pouvant être disposée en lignes et colonnes, éventuellement sur plusieurs plans, impliquant ou n'impliquant pas des calculs, rend le tableur pertinent. Chaque intersection de lignes et colonnes détermine un espace appelé généralement « cellule ». Chaque cellule peut être un simple espace pour mémoriser une donnée ou contenir une suite de calculs. Ces calculs peuvent être des combinaisons d'opérations simples ou ayant recours à des fonctions de traitement plus élaborées, utilisant éventuellement les données d'autres cellules. Certaines données de cellules peuvent donc être issues de calculs (soustractions, additions, multiplications, concaténations de chaînes de caractères, etc.) entre différentes cellules. La mémorisation et l'automatisation de ces calculs, rendue possible par l'informatique dans le dernier quart du XXe siècle, apporte un gain de productivité appréciable.
Sous un angle réducteur à la seule dimension du calcul, on peut considérer chaque cellule comme un écran d'une calculatrice de poche. On dispose donc dans une feuille de calcul d'un nombre considérable de calculatrices qui peuvent être reliées entre elles.
En termes mathématiques, une feuille de calcul est un espace qui permet une représentation et des calculs matriciels.
Les feuilles de calculs informatisées sont inventées par Pardo et Landau, qui déposent le brevet correspondant en 1970. Le concept est par la suite réinventé par Dan Bricklin. La légende veut que Bricklin ait eu l'idée du tableur en assistant à un cours, à l'université. Le professeur, après avoir dessiné au tableau une grande table de calcul, y trouve une erreur et doit effacer et recalculer une grande partie des cases, alors que ce processus peut être automatisé à l'aide d'un ordinateur. Cette idée débouche sur la création de VisiCalc, le premier tableur. VisiCalc est l'application qui fait basculer définitivement l'informatique du statut de loisir pour quelques passionnés vers le monde professionnel. Elle est la « killer app » qui assure le succès de l'ordinateur Apple II sur lequel elle est disponible dès 1979. Quelques années plus tard, en 1985, Microsoft sort Excel, en remplacement du tableur Multiplan qui n'avait pas réussi à contester l'hégémonie de Lotus 1-2-3, et dont l'immense notoriété suit l'extraordinaire développement des PC tant dans le monde professionnel que domestique, depuis les années 1980 jusqu'aujourd'hui.
Le tableur est parfois appelé chiffrier électronique au Canada, terme emprunté à la terminologie comptable québécoise. Le mot tableur est toutefois plus approprié à l'informatique.
Un fichier informatique, produit ou manipulé avec un logiciel tableur, est couramment appelé un « classeur ». Il regroupe une ou plusieurs feuilles de calcul et peut inclure des macro-commandes (ou « macros »).

## Fonctionnalités et utilisation des tableurs

Les premiers langages de programmation étaient conçus de manière à traiter et à sortir des données sous forme de tableaux, souvent sur une imprimante. Les techniques de programmation ont évolué depuis, et les données peuvent être représentées plus efficacement dans la mémoire de l'ordinateur, plutôt que séquentiellement sur une feuille de papier. Un logiciel tableur est conçu de manière à réaliser des calculs généraux en se basant sur des relations spatiales, et non plus temporelles, entre les données.
La plupart des autres programmes de calcul utilisent en effet le temps, c'est-à-dire l'ordre logique des instructions, comme premier principe d'organisation. Un point d'entrée bien défini provoque l'exécution de la première instruction, puis toutes les instructions suivent à la suite.
Au contraire, dans une feuille de calcul, un ensemble de cellules est défini, ainsi que des relations logiques spatiales entre elles. Dans les premiers tableurs, ces relations étaient en deux dimensions, représentées par une grille. Au fil du temps, de nouvelles fonctionnalités sont apparues, comme l'organisation de feuilles indépendantes mais pouvant être reliées logiquement l'une à l'autre, dans un embryon de troisième dimension. Les tableurs les plus avancés proposent des opérations comme la rotation ou la transposition de matrices de données, et peuvent présenter les jeux de données graphiquement.
Les cellules d'une feuille de calcul sont les équivalents fonctionnels des variables en programmation impérative. Les cellules peuvent contenir des formules, c'est-à-dire une série d'instructions qui permettent de calculer leur valeur à partir d'autres variables de la feuille de calcul, ou bien à partir de variables externes (comme la date ou l'heure). Les tableurs utilisent les concepts de références relatives et absolues, par exemple, afin de faciliter l'édition et la compréhension des formules.
En général, les tableurs mettent à jour automatiquement les valeurs des cellules qui dépendent d'un paramètre qui a varié. Les premiers tableurs utilisaient des stratégies simplistes, comme la mise à jour des cellules dans un ordre particulier ; les tableurs plus modernes ne calculent que le minimum nécessaire grâce à la construction d'un arbre de dépendance entre les cellules.
La plupart des concepts rencontrés en programmation impérative se retrouvent dans le monde des tableurs. Par exemple, le parcours de boucles indexées est représenté par un traitement d'une table de cellules, et une boucle infinie peut être obtenue en référençant réciproquement deux cellules (arbre de dépendance cyclique). La plupart des tableurs acceptent ce type de références cycliques, dont l'exécution peut être contrôlée par l'utilisateur ou par le programme lui-même.
La puissance des tableurs dérive certainement de la capacité intuitive du cerveau humain à représenter des objets dans l'espace et à appréhender des relations complexes entre ces objets. Beaucoup de gens trouvent plus facile de réaliser un calcul complexe dans un tableur plutôt que dans un logiciel adapté, et ce malgré l'inadéquation évidente entre l'outil et le but poursuivi.

### Quelques formules

Excel et LibreOffice Calc permettent l'écriture de formules de calcul incluant des fonctions dans les cellules.
Les fonctions sont toutefois dépendantes de la localisation et de la version du logiciel.
Un exemple de formule (sans fonction), qui effectue l'addition des valeurs contenues dans les cellules A5 et B3 :
* =A5+B3
Exemples de formules utilisant des fonctions dont les noms varient selon la localisation, c'est-à-dire la langue de l'interface :

#### En français

| Calcul | Tableur |
| Somme de B2 et B4 | =B2+B4 |
| Somme de B2 à B4 | =SOMME(B2:B4) |
| Moyenne des valeurs de B2 à B4 | =MOYENNE(B2:B4) |
| Maximum des valeurs de B2 à B4 | =MAX(B2:B4) |
| Médiane des valeurs de B2 à B4 | =MEDIANE(B2:B4) |
| Nombre de valeurs de B2 à B4 | =NB(B2:B4) |

#### En anglais

* =SUM(A1:B2) Cette formule calculera la somme de tous les nombres de A1 à B2.
* =AVERAGE(A3:C6) Cette formule fera la moyenne des nombres de A3 à C6.

### Autres concepts

* Le tableau croisé dynamique d'Excel ou pilote de données d'Open Office (ou Libre Office) Calc permettent de générer une synthèse de la table.
* Le filtrage permet de n'afficher que les lignes correspondant à certains critères.
* Le tri permet de changer l'ordre d'un bloc de cellules.
* Le solveur permet d'atteindre une valeur cible (de départ) à partir d'un résultat voulu.
* La consolidation permet de fusionner plusieurs tableaux composés d'au plus une ligne et/ou colonne d'étiquettes, et de données chiffrées en y appliquant une fonction sélectionnée par l'utilisateur (somme, moyenne, etc.). Le nouveau tableau est adapté en fonction des libellés.

## Logiciels

| Application | Gratuit | Logiciel libre | Environnement | Commentaire |
| Apache OpenOffice Calc | Oui | Oui | Linux, Mac OS X et Microsoft Windows | Successeur d'OpenOffice.org Calc et StarOffice Calc |
| AppleWorks | Non | Non | Mac OS et Microsoft Windows | Successeur de ClarisWorks |
| Boeing Calc (en) | Non | Non | MS-DOS, IBM MVS | Premier tableur ajoutant la dimension page au même niveau que celui des lignes et colonnes. |
| FlexiSheet | Oui | Oui | Mac OS X | |
| Gnumeric | Oui | Oui | Linux, Mac OS X et Microsoft Windows | |
| IBM Lotus Symphony | Oui | Non | Linux, Mac OS X et Microsoft Windows | Abandonné depuis décembre 2014 |
| Javelin (en) | Non | Non | MS-DOS | Système de modélisation basé sur des équations définies explicitement : les tableaux n'étaient qu'un des modes d'affichage. |
| KCells | Oui | Oui | Linux | Successeur de KSpread, inclus dans KOffice |
| LibreOffice Calc | Oui | Oui | Linux, Mac OS X et Microsoft Windows | Fork d'OpenOffice |
| Lotus Improv (en) | Non | Non | Microsoft Windows et NeXTSTEP | Abandonné en 1996. |
| Lotus 1-2-3 | Non | Non | Microsoft Windows | Inclus dans Lotus SmartSuite |
| Microsoft Excel | Non | Non | Mac OS X et Microsoft Windows | Inclus dans Microsoft Office |
| Microsoft Works | Non | Non | Microsoft Windows | Logiciel tout-en-un, tableur sommaire |
| Microsoft Multiplan | Non | Non | Apple II, Commodore 64, CP/M, CTOS, MS-DOS et Xenix, Thomson TO8 et TO9+ | Prédécesseur de Microsoft Excel. Nécessitait un programme complémentaire, Microsoft Chart, pour obtenir des graphiques. |
| NeoOffice Calc | Oui | Oui | Mac OS X | |
| Numbers | Non | Non | Mac OS X et iOS | Inclus dans iWork et disponible gratuitement avec tout nouvel appareil Apple (Mac, iPad...) |
| PlanMaker (en) | Non | Non | Linux, Microsoft Windows, Windows Mobile, Windows CE et Android | Inclus dans SoftMaker Office (en) |
| Quantrix | Non | Non | Mac OS X et Microsoft Windows | |
| Quattro Pro (en) | Non | Non | Microsoft Windows | Inclus dans WordPerfect Office |
| RagTime | Non | Non | Mac OS X et Microsoft Windows | Intégré dans le logiciel de bureautique et PAO RagTime |
| sc | Oui | Oui | Unix, Linux | tableur rudimentaire en mode texte |
| Sheets | Oui | Oui | Linux | Successeur de Tables, inclus dans Calligra Suite |
| VisiCalc | Non | Non | Apple II | Premier logiciel tableur destiné à un ordinateur individuel |
Il existe aussi des tableurs intégrés dans des services web tels que : Acrobat.com, Google Documents, Microsoft Office Live, ThinkFree Online, EtherCalc, etc. Le logiciel de calcul scientifique Mathcad reprend également certains concepts des tableurs.

## Critiques

L'apparente facilité d'usage du tableur est à l'origine de très nombreuses erreurs dont plusieurs sont référencées sur la page Horror Stories (« histoires d'horreur ») de l'European Spreadsheet Risks Interest Group. Ces erreurs peuvent avoir de graves conséquences en entreprise, pouvant placer l'organisation en défaut face aux exigences de la loi Sarbanes-Oxley.
L'origine de ces erreurs a été analysée depuis plus de vingt ans et fait l'objet d'un travail qui ne cesse pas. Plusieurs méthodes de réduction des risques d'erreur ont été proposées$^,$, avec peu de succès en apparence puisque même les corrigés d'un concours international de modélisation financière avec Microsoft Excel ne les respectent guère.