XLS,Office Open XML, SpreadsheetML(en),Data Interchange Format,Symbolic Link,DBF,comma-separated values, OpenDocument Spreadsheet, version 1.1(d), OpenDocument Spreadsheet, version 1.2(d), Microsoft Excel OLE DB Query(d), Microsoft Excel Macro, version 4(d), Microsoft Excel Add-In(d), Microsoft Excel Toolbar(d), Microsoft Excel Template(d), Microsoft Excel Chart, version 29(d), Microsoft Excel Workspace(d),XLSX, feuille de calcul Microsoft Works(d), feuille de calcul Microsoft Excel 3.0(d), feuille de calcul Microsoft Excel 4.0(d), Microsoft Excel ODBC Query(d), Office Open XML Spreadsheet Document(d), Data Source Name file format(d), Microsoft Excel 2000-2003 Workbook(d), Microsoft Excel 97 Workbook(d), Excel 95 Workbook(d), Microsoft Excel Chart, version 3(d), Microsoft Excel Chart, version 2(d) etExtensible Markup Language
Depuis sa création au début desannées 1980 mais surtout à partir de sa version 5 (en1993), Excel a connu un grand succès tant auprès du public que des entreprises prenant une position très majoritaire face aux logiciels concurrents, telLotus 1-2-3. Les principaux formats de fichiers natifs portent l'extension « xls » (de 1987 à 2003) puis « xlsx » (à partir de 2007). Chaque fichier correspond à un classeur, lequel contient des feuilles de calculs organisées. Chaque feuille correspond à untableau de lignes et de colonnes pouvant contenir des valeurs (numériques ou non) ainsi que des formules permettant les calculs. Depuis, l'application Excel 2013 est disponible suriPad,iPhone,Windows Phone et sur OS Android depuis 2015. Cela entre dans la logique « Office mobile » de Microsoft de rendre ses logiciels disponibles sur le plus grand nombre de supports (ordinateurs,tablettes,smartphones)[3].
La dernière version date de 2024 et fait partie de la suiteMicrosoft Office 2024, elle est incluse dans l'abonnement àMicrosoft 365. Excel 2021 comporte de nouvelles fonctionnalités telles que des nouvelles fonctions, des nouveaux types graphiques, une amélioration globale de l'interface utilisateur ainsi que la possibilité de publier viaPower BI[4].
Depuis 2007, les limites d'Excel sont de 1 048 576 lignes à la verticale et de 16 384 colonnes à l'horizontale, soit 17 179 869 184 cellules[5]. Les colonnes sont numérotées de A à XFD par défaut, mais il est possible de forcer la numérotation des colonnes de manière chiffrée[6].
Excel n'est pas développé nativement pourLinux. Il existe des possibilités d'émulation, notamment avecWine, mais celles-ci présentent des résultats très aléatoires[7].
La première version d'un tableur sortie par Microsoft futMultiplan en 1982, populaire sur les systèmesCP/M (en concurrence avecLotus 1-2-3 à l'époque)[8].
La première version d'Excel pour les ordinateursApple Macintosh sort en 1985, alors que la première version pour Windows, la 2.0 (en ligne avec celle pour Macintosh), sort deux années après. Elle incluait unmoteur d'exécution (Runtime) de la version 2.01 de Microsoft Windows.
Avec l'introduction deWindows 3.0 en 1990, les ventes d'Excel dépassèrent celles deLotus 1-2-3. Excel devient alors rapidement le logiciel de tableau le plus vendu au monde (en nombre de licences). Cet accomplissement permet à Microsoft de détrôner le leader mondial du logiciel en se positionnant comme un véritable concurrent. Microsoft démontre ainsi ses capacités à développer des logiciels avecinterface graphique utilisateur (GUI)[10].
Les tableurs sont les premières applications incluses d'office dans les ordinateurs personnels. Excel fut par la suite empaqueté avecMicrosoft Word etMicrosoft PowerPoint dans la suiteMicrosoft Office (4.x). L'interface de ces deux derniers programmes a dû être revue pour être conforme à celle d'Excel.
Visual Basic Application est basé sur le langage de programmation Visual Basic qui offre la possibilité d'automatiser, à l'instar des macrosMultiplan et les versions d'Excel précédant la 5.0, des exécutions de tâches de façon très souple et avancée avec notamment le développement de ses propres fonctions pour les utiliser à bon escient dans les feuilles de calcul[11].
VBA est un complément qui, avec les années, se voit considérablement amélioré en se transformant à partir de la version 8.0, en véritableenvironnement de développement pour l'utilisateur. Excel offre la possibilité de générer du code Visual Basic par l'intermédiaire de l'enregistreur de macros en reproduisant les opérations effectuées par l'utilisateur et ainsi automatiser les tâches répétitives. VBA permet aussi la possibilité de créer également desformulaires ou encore d'apposer des contrôles directement sur les feuilles de calcul[12].
Dans les versions suivantes, ce langage autorise l'utilisation de contrôles externes de bibliothèques dynamiques (ActiveXDLL's) a technologieCOM (Component Object Model) et aussi l'usage de modules de classe qui permettent de coder avec une technologieorientée objet.
D'autres fonctionnalités de liaisons dynamiques et incorporées par automatisme (OLE Automation) sont une cible de choix pour lesvirus-macro. Ce type d'attaque est un problème réel et sérieux pour les entreprises jusqu'à ce que les éditeurs de logicielsanti-virus soient en mesure de détecter ce type de virus avec leurs produits. Microsoft ne réagit que tardivement, mais finit par offrir la possibilités aux applications telles que Microsoft Excel d'avertir l'utilisateur et de pouvoir désactiver les macros incluses dans les classeurs ou dans certains compléments[13].
À partir de la version 2007, les classeurs Excel, les documents Word ou les présentations PowerPoint pourvus de macros se voient greffés d'un « m » dans l'extension du nom de fichier, qu'ils soient modèle ou document.
Exemple de comparaison des extensions Excel avant et après la version 2007
Type
Extension
Avant 2007
Après 2007
Classeur sans macros
.xls
.xlsx
Classeur avec macros
.xls
.xlsm
Modèle sans macros
.xlt
.xltx
Modèle avec macros
.xlt
.xltm
Add-in
.xla
.xlam
La taille des fichiers excel à fortement évolué au cours des années.Chaque feuille de Microsoft Excel est composée :
de 16 384 lignes sur 256 colonnes jusqu'à la version 95 (7.0) ;
de 65 536 lignes sur 256 colonnes jusqu'à la version 2003 (11.0) ;
de 1 048 576 lignes sur 16 384 colonnes à partir de 2007, soit 17 179 869 184 cellules[5],[14].
La dernière cellule du tableur Excel est donc la celluleXFD1048576.
Avant 2002, Microsoft limite le nombre de feuilles de calcul à 256, mais laisse à l'utilisateur la possibilité d'en insérer davantage manuellement. À compter de 2002, le nombre de feuilles n'est plus limité que par la mémoire disponible sur l'ordinateur de l'utilisateur.
Dans cette nouvelle version, on retrouve le design typique du bandeau déjà présent sur Excel 2010. Comme sur tous les nouveaux logiciels de la version 2013, Excel propose un mode tactile qui permet une meilleure utilisation sur appareils équipés d'écran tactile.
Excel 2013 ajoute de nouvelles fonctionnalités, parmi lesquelles[15] :
L'analyse rapide, qui permet de convertir des données en graphique ou tableau ;
Le remplissage instantané qui facilite les taches répétitives de l'utilisateur ;
La possibilité d'enregistrer un classeur directement dans lecloud, afin de le partager.
Excel 2016 sort le, en même temps qu'Office 2016 pour le grand public. L'interface reprend le ruban et ses onglets en apportant les fonctionnalités suivantes[16],[17] :
Six nouveaux types de graphiques : Compartimentage, Rayons de soleil, Cascade, Histogramme, Pareto, Zone et valeur ;
La possibilité de transformer des données provenant d'unebase de données en format compatible avec Excel ;
Feuille de calcul Excel. On distingue la numérotation des lignes à gauche, et des colonnes en haut. L'utilisateur est en train de saisir une formule.
Excel est untableur, il se présente sous forme de tableaux structurés en lignes et colonnes dans des onglets séparés avec, pour chaque cellule qui compose chaque feuille, des caractéristiques particulières pour les calculs, des outils de génération de graphiques, des outils d'analyse croisée dynamique et un module de programmation par macro ou en développement direct avec le langageVisual Basic pour Application (VBA).
La valeur maximale d'Excel en abscisse est XFD et la valeur maximale en ordonnée est 1 048 576, soit 17 179 869 184 cellules par feuilles[5],[14]. Il n'est cependant pas possible de remplir entièrement une feuille de calcul en raison des limitations techniques du processeur de l'ordinateur utilisé.
Excel est un outil de manipulation de données. Tout contenu de cellule est une formule que l'on peut catégoriser de la manière suivante : du texte, une valeur (qui peut être calculée), l'entrée d'une formule de calcul, l'introduction d'une ou de plusieurs fonctions (ces deux dernières pouvant être cumulées).
Une formule de calcul peut avoir un ou plusieursopérateurs arithmétiques. Il est possible de réaliser toute forme de calcul[20]. Une formule de calcul commence par le signe « = » (le « + » est toutefois toléré). Il est possible d'effectuer des calculs dont le résultat dépend de la valeur d'autres cellules ou de saisir les valeurs utiles directement dans la formule. Les opérateurs sont les suivants :
Une fonction est une action préprogrammée permettant de réaliser des opérations répondant à un ou plusieurs arguments séparés par un point virgule. Il existe de très nombreuses fonctions disponibles dans Excel, chacune permettant de réaliser une tache spécifique[22].
Toutes les fonctions sont désignées par un nom unique. Une fonction se présente toujours sous la forme suivante :
NomDeLaFonction(Argument1;Argument2;...)
Il est possible d'associer plusieurs fonctions ou plus précisément de les imbriquer dans le but d'effectuer des opérations complexes. L'association de fonctions prend la forme suivante :
La fonction SOMME() permet l'addition d'une plage de cellules (ensemble de cellules) et/ou de plusieurs valeurs[23]. Cette fonction est équivalente à l'opérateur addition.
La fonction MAINTENANT() permet d'obtenir la date et l'heure actuelle (date du système) lors de son insertion ou lors de l'ouverture du classeur. Elle est mise à jour à chaque actualisation du classeur[25]. Cette fonction est utile, par exemple, pour automatiser la génération defacture ou pour calculer l'écart entre deux dates.
Les autres fonctions sont insérables manuellement, ou via l'assistant « Insertion de fonction »[26]. Les fonctions sont divisées en 14 catégories[22] :
Fonctions de comptabilité ;
Fonctions cube ;
Fonctions de base de données ;
Fonctions de date et d'heure ;
Fonctions d'ingénierie ;
Fonctions financières ;
Fonctions d'information ;
Fonctions logiques ;
Fonctions de recherche et de référence ;
Fonctions mathématiques et trigonométriques ;
Fonctions statistiques ;
Fonctions de texte ;
Fonctions définies par l'utilisateur installées avec les compléments ;
Certaines formules reposent sur des packs externes de fonctions complémentaires[27]. Les formules sont grossièrement les mêmes que pourOpenOffice.org Calc.
Les formules matricielles sont des formules complexes qui ont la particularité de faire des calculs sur des matrices entières. Elle s'activent par les touches Ctrl+Maj[28].
Les Tableaux Croisés Dynamiques (TCD) ont pour but de faire des statistiques très poussées et ce d'une manière souple et particulièrement performante. Ceux-ci sont réalisés à partir d'un tableau présenté sous la forme de listes de données ou d'une base de données.
Excel intègre le langage de programmationVisual Basic for Applications (VBA) qu'il partage avec d'autres logiciels de la suite Microsoft Office. Il permet de contrôler entièrement l'application Excel via un éditeur de code intégré, mais aussi d'interagir avec d'autres applications d'Office comme Word, PowerPoint ouAccess.
VBA permet de définir desmacro-commandes (ou « macros ») qui permettent d'exécuter des tâches longues ou répétitives. Il permet également, à l'aide de certaines bibliothèques de composants (Windows ou.NET par exemple), de créer de véritables applications dans lesquelles Excel ne joue plus que le rôle d'interface graphique. L’exécution des macros nécessite l'extension de fichier « xlsm » et peut-être bloqué par Excel afin de prévenir le risque d'attaque informatique via ce code[30].
Power Pivot est une extension de Microsoft Excel permettant l'analyse de donnée. En outre, ce modèle permet l'import debases de données complexes, la réalisation de calculs, ou la génération detableaux de bord automatisés[31].
La protection par mot de passe pour verrouiller l'accès au contenu d'une feuille Excel permet de se mettre à l'abri de modifications faites par inadvertance par des utilisateurs (étourdis) ou tout simplement par pure confidentialité et de réserver la lecture aux titulaires des mots de passe[32].
Mais contrairement à une croyance répandue, l'utilisation d'un mot de passe dans un tableur n'est pas conçu pour la sécurité. La protection peut être otée facilement[33] ou pire, un utilisateur expérimenté et déterminé sera en mesure de retrouver le mot de passe avec une attaque parforce brute,dictionnaire ou masque. Toutefois, les méthodes d'attaques partable arc-en-ciel sont inefficaces grâce ausalage du mot de passe. Plus le mot de passe est complexe, plus il sera sécurisé (le nombre de caractère maximal sur Excel est de 15 caractères). Le contournement d'un mot de passe par force brute est relativement complexe[34]. Étant donné que les fichiersOpen XML sont principalement desarchives, il faudra premièrement extraire le contenu et récupérer la balise XML de protection contenant le sel et le hash. Comme la dernière étape demande une puissance de calcul et une certaine complexité, elle est dissuasive pour la plupart des utilisateurs. Il s'agit de trouver le mot de passe tel que passé dans lafonction de hachage avec le sel un certain nombre de fois soit un correspondant au hash présent dans la balise de sécurité. Cette dissuasion repose sur le temps pris par l'algorithme de hachage.
En effet, un utilisateur qui possède le mot de passe devra effectuer l'opération une seule fois. Tandis qu'un attaquant ne connaissant pas le mot de passe devra réitérer l'opération un grand nombre de foisce qui prendra un certain temps mais finira par arriver. Il est conseillé de choisir au moment de la création/sauvegarde du fichier, l'option qui propose un chiffrement plus fort que celui assignépar défaut.
Lepseudo-code utilisé pour les versions d'Excel 3, 4, 5, 95, 97, 2000, XP, 2003 est détaillé dans la documentation du format Open XML[35]. Plus d'information sur la sécurité des mots de passe sont consultables sur la pageMicrosoft Office password protection.
Jusqu'à la version 2007, Microsoft Excel utilisait un format propriétaire binaire caractérisé par l'acronyme BIFF (Binary Interchange File Format).
Excel 2007 utilise le format propriétaire de fichierOpen XML identique à la structure du format XML comme format principal. Il porte le nom deSpreadsheetML dont l'acronyme s'écrit XMLSS. Ce format est introduit dans la version 2002 mais n'est pas capable d'encoder les macros écrites avec du langage VBA. Ce format soumis àOpen Specification Promise et a été standardisé par l'ISO mais n'est pas pour autant unformat ouvert[36].
Excel 2007 reste pour autant totalement compatible avec les formats des versions précédentes bien que Microsoft encourage l'usage de ce nouveau format XML. En parallèle, la plupart des versions de Microsoft Excel sont capables de lire les formats externes issus de fichiers CSV, DBF, SYLK ou encore DIF ; il dispose en plus d'un module d'importation intelligent defichiers texte.
Microsoft Excel 2007 autant que les autres applications de la suiteMicrosoft Office 2007, intègre le nouveau format de fichier faisant partie des spécifications du format XML ouvert (OOXML).
Les nouveaux formats depuis Excel 2007 sont :
Formats depuis Excel 2007
Format
Extension
Commentaires
Classeurs Excel
.xlsx
Le format Excel par défaut. En réalité, il s'agit d'un format compresséZIP avec une structureXML sous forme de texte. Ce format est appelé à remplacer le format initial .xls mais ne sait pas incorporer de macros pour des raisons de sécurité.
Format des classeurs avec Macros incorporées
.xlsm
Identique au format des classeurs Excel mais avec macros incorporées.
Format binaire des classeurs
.xlsb
Tout comme le format xlsm avec macros incorporées. A la différence du format xlsm, ce format stocke toutefois les informations du classeur en binaire plutôt qu'en XML de manière à pouvoir ouvrir et enregistrer de manière plus efficace considérant que format est plutôt destiné aux classeurs très volumineux, pourvus de milliers de lignes sur plusieurs centaines de colonnes.
Format des modèles avec Macros-incorporées
.xltm
Tout comme le format des modèles XLT des versions précédentes qu'il remplace, ce format permet de créer des modèles avec macros incorporées.
Format des macros complémentaires Excel
.xlam
Les macros complémentaires Excel sont considérées comme des bibliothèques de fonctions utilisées en référence, offrant des extra-fonctionnalités. Du fait de leur constitution, ce type de fichier supporte les macros.
Exportation des données issues de feuilles de calcul
Microsoft Excel fournit un jeu de fonctions d'applications liées directement à l'interface pour pouvoir exploiter des données issues de feuilles de calcul Excel dans des environnements et/ou des applications hétérogènes. Parmi eux se trouvent des composants permettant notamment d'ouvrir des classeurs Excel directement depuis Internet à l'aide de contrôlesActiveX ou encore de composants (PlugIns) comme ceux disponibles dansAdobeFlash Player. D'autres fonctionnalités sont en mesure de copier des données issues de feuilles de calcul Excel directement au sein d'applications Web en utilisant le formatCSV (format texte séparé par des virgules).
Une caractéristique très intéressante de Microsoft Excel est celle de pouvoir écrire du code à travers le langage Visual Basic pour application. La rédaction du code (procédures, fonctions et macros) s'effectue dans un éditeur indépendant du classeur :Visual Basic Editor (VBE).
L'exploitation du classeur et de son contenu peut alors s'effectuer en utilisant des objets. Le code issu de procédures ou de fonctions peut être exécuté directement (F5) ou à partir de la feuille de calcul ciblée ou depuis un contrôle posé sur une feuille ou sur une fenêtre sous forme de formulaire (UserForm). On peut donc écrire, modifier, déplacer, copier ou agir avec une multitude de possibilités sur le contenu des feuilles de calcul (données etgraphiques) et ce, de façon instantanée. Chaque feuille de calcul peut devenir une véritable interface en parfaite homogénéité avec le code qui la supervise ou qui gère ses calculs. C'est pourquoi Excel est l'un des outils privilégiés dudéveloppement de petites applications par l'utilisateur
Excel a été critiqué sous différents angles et en particulier pour des problèmes de précision sur des calculs envirgule flottante, notamment en comparaison d'autres outils destinés aux calculs statistiques. Les adeptes d'Excel ont répondu que ces erreurs de précision ne concernaient qu'une minorité d'utilisateurs et que ces mêmes utilisateurs, le plus souvent, avaient des solutions de contournement pour y parer.
Par ailleurs, Excel utilise1900 comme année de base et considère que celle-ci estbissextile. L'objectif était d'être en mesure de rester compatible avec lebug rencontré dans le tableurLotus 1-2-3. Il continue d'être exploité ainsi encore aujourd'hui, même au sein du format de fichier XML ouvert[37].
Pour contrer certaines failles dans des calculs de date, Excel intègre et gère aussi la base de ses calculs à partir de l'année 1904.
Le, il apparait qu'Excel 2007 affiche des résultats incorrects dans certaines situations[38]. Par exemple, pour la multiplication de 850 par 77,1, qui devrait avoir pour résultat 65 535, Excel affiche la valeur 100 000.
Microsoft a réagi en conséquence et a rapporté que ce problème existait pour un jeu de douze valeurs particulières, dont 65 535. Quel que soit le calcul effectué pour retourner une de ces valeurs, le résultat s'affiche avec une erreur similaire. Pour autant, la valeur correcte est quant à elle bien stockée en mémoire même si elle est passée à d'autres cellules. Seul le résultat affiché est inexact. Il fut précisé que seule la version 2007 était pénalisée par ce comportement. Le, Microsoft met un correctif à la disposition des utilisateurs. En parallèle à cela, leService Pack 1 de Microsoft Office 2007 corrige également le problème.
Chris Lomont a pu présenter de façon détaillée la cause de ce problème en expliquant que ce dernier était dû au changement du code de formatage de 16 bits en 32 bits, ce qui justifiait le fait que seules ces douze valeurs étaient concernées. Il a également souligné comment le correctif a pu corriger le problème[39].
Dans le cadre du championnat du monde desspécialistes de la suite Microsoft Office (Microsoft Office Specialist World Championship) organisé par Certiport, il existe une division consacrée à Excel depuis 2001. La compétition a été remportée en 2016 par l'Américain John Dumoulin[41].
De son côté, l'entrepriseFinancial Modeling World Cup (FMWC) organise trois compétitions sur Excel[42] :
LaFinancial Modeling World Cup centrée sur les applications financières, depuis 2020
LeMicrosoft Excel World Championship (MEWC) portant sur différents cas d'usage du logiciel, depuis 2021 sous sa forme actuelle
LeMicrosoft Excel Collegiate Challenge (MECC) destiné aux étudiants, depuis 2022