Tableur

LibreOffice Calc 6.2

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[1].

De la feuille de calcul au tableur

[modifier | modifier le code]

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.

Écran de Visicalc.

Les feuilles de calculs informatisées sont inventées par Pardo[2] et Landau, qui déposent le brevet correspondant en 1970[3]. 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[4]. 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

[modifier | modifier le code]
Exemple de tableur : le logiciel Gnumeric. Les interfaces de tous les tableurs sont similaires.

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[Qui ?] 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

[modifier | modifier le code]

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

[modifier | modifier le code]
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)
  • =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

[modifier | modifier le code]
  • 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.
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
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, EtherCalcetc. Le logiciel de calcul scientifique Mathcad reprend également certains concepts des tableurs.

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[5]. 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[6].

L'origine de ces erreurs a été analysée depuis plus de vingt ans[7] et fait l'objet d'un travail qui ne cesse pas[8]. Plusieurs méthodes de réduction des risques d'erreur ont été proposées[9],[10], 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[11].

Notes et références

[modifier | modifier le code]
  1. Suzanne Rivard et Sid L. Huff, « User Developed Applications: Evaluation of Success from the DP Department Perspective », MIS Quarterly, vol. 8, no 1,‎ , p. 39 (ISSN 0276-7783, DOI 10.2307/249243, lire en ligne, consulté le )
  2. Rene Pardo
  3. Process and apparatus for converting a source program into an object program, United States Patent: 4398249
  4. VisiCalc '79 / Dan Bricklin and Bob Frankston, Creative Computing, vol. 10 no 11, novembre 1984, p. 122, 124
  5. « European Spreadsheet Risks Interest Group - spreadsheet risk management and solutions conference », sur eusprig.org (consulté le ).
  6. Linda Leon, Lawrence Kalbers, Nancy Coster et Dolphy Abraham, « A spreadsheet life cycle analysis and the impact of Sarbanes–Oxley », Decision Support Systems, vol. 54, no 1,‎ , p. 452–460 (ISSN 0167-9236, DOI 10.1016/j.dss.2012.06.006, lire en ligne, consulté le ).
  7. Raymond R. Panko, « What We Know About Spreadsheet Errors », Journal of Organizational and End User Computing, vol. 10, no 2,‎ , p. 15–21 (ISSN 1546-2234 et 1546-5012, DOI 10.4018/joeuc.1998040102, lire en ligne, consulté le ).
  8. Raymond R. Panko et Salvatore Aurigemma, « Revising the Panko–Halverson taxonomy of spreadsheet errors », Decision Support Systems, vol. 49, no 2,‎ , p. 235–244 (ISSN 0167-9236, DOI 10.1016/j.dss.2010.02.009, lire en ligne, consulté le ).
  9. Raymond Panko et Richard Halverson, Jr., « An Experiment In Collaborative Spreadsheet Development », Journal of the Association for Information Systems, vol. 2, no 1,‎ , p. 1–31 (ISSN 1536-9323, DOI 10.17705/1jais.00016, lire en ligne, consulté le )
  10. S.E. Kruck, « Testing spreadsheet accuracy theory », Information and Software Technology, vol. 48, no 3,‎ , p. 204–213 (ISSN 0950-5849, DOI 10.1016/j.infsof.2005.04.005, lire en ligne, consulté le ).
  11. (en) « Past Questions », sur ModelOff (consulté le ).