Brevet FR2811788A1 — publié le 20020118

Domaine technique de l 'invention La présente invention concerne le traitement informatique des données, et plus particulièrement une méthode et un système pour appliquer dans une feuille de calcul électronique des options définies par l'utilisateur. Contexte Avant l'avènement de l'ordinateur, les analyses numériques, notamment les analyses financières, étaient généralement préparées à partir d'un livre de comptabilité ou une feuille de calcul, au moyen d'un crayon et d'une calculatrice. L'organisation des données en lignes et en colonnes sur une feuille de calcul permet au lecteur d'assimiler rapidement les informations. En revanche, la préparation d'une telle feuille de calcul sur papier n'est pas rapide. En effet, chaque entrée doit être soigneusement calculée avant d'être entrée. De plus, tous les calculs étant effectués à la main, les feuilles de calcul préparées sont sujettes aux erreurs. En conclusion, la préparation des feuilles de calcul à la main est lente, ennuyeuse et peu fiable. Les micro-ordinateurs ont apporté une solution sous la forme de "feuilles de calculs électroniques". Mieux connus sous le nom de "tableurs", ces programmes informatiques constituent une alternative informatisée aux outils traditionnels de modélisation financière: le livre comptable, le crayon et la calculatrice. A certains égards, les tableurs sont à ces outils ce que les traitements de texte sont à la machine à écrire. Les tableurs constituent un formidable progrès en 2 2811788 termes de facilité de création, d'édition et d'utilisation des modèles financiers. Un tableur type configure la mémoire de l'ordinateur sous forme de tableau ou de grille, comme un livre comptable, pour constituer une sorte de calculatrice visible pour l'utilisateur. Toutefois, du fait que ce "livre" existe de manière dynamique dans la mémoire de l'ordinateur, il diffère des livres en papier traditionnels sur plusieurs points importants. Les emplacements dans le tableur, par exemple, doivent être communiqués à l'ordinateur sous une forme qui lui soit compréhensible. Une méthode courante pour cela consiste à attribuer un numéro à chaque ligne, une lettre à chaque colonne et une autre lettre à chaque feuille (ou page) du tableur. Par exemple, pour désigner un emplacement situé à l'intersection de la colonne A et de la ligne 1 de la deuxième page (c'est à dire l'angle supérieur gauche), l'utilisateur tape "B:Ai". Ainsi, le tableur définit un élément de mémoire adressable ou "cellule" à chaque intersection de ligne et de colonne sur une page donnée. On entre les données dans une feuille de calcul électronique de la même manière qu'on le ferait sur un livre comptable. Après avoir positionné un curseur à l'emplacement désiré, l'utilisateur entre des informations alphanumériques. De plus, outre des textes ou des informations numériques, les cellules du tableur peuvent mémoriser des instructions particulières ou "formules" spécifiant les calculs à effectuer sur les nombres enregistrés dans certaines cellules. Ces cellules peuvent aussi être définies et nommées pour former une série dans la mesure o elles sont disposées comme un ensemble convexe. Un exemple type d'une telle série nommée correspond à un tableau normal comme on en trouve dans les livres comptables. De cette manière, les noms des séries peuvent servir de variables dans une équation, ce qui permet de définir des relations 3 2811788 mathématiques précises entre les cellules. La structure et le fonctionnement des tableurs, y compris les fonctions évoluées telles que les macros, sont décrits dans la littérature technique et commerciale, ainsi que dans les brevets. On trouvera par exemple une présentation générale dans Cobb, S., Using Quattro Pro 2, Borland-OsbomeIMcGraw-Mll, 1990, et LeBlond, G. et Cobb, D., Using 1-2-3, Que corp., 1985. Les informations contenues dans ces documents sont citées ici à titre d'information. Les feuilles de calcul électroniques offrent de nombreux avantages par rapport à leurs équivalents papier. D'une part, les feuilles de calcul électroniques sont beaucoup plus vastes (autrement dit, contiennent davantage d'informations); les feuilles de calcul électroniques possédant des milliers ou même des millions de cellules ne sont pas rares. Les tableurs permettent aussi aux utilisateurs d'exécuter des scénarios de simulation. Après avoir entré un jeu de relations de calcul dans une feuille, à l'aide de formules intégrées par exemple, il est possible de faire des calculs selon différents jeux d'hypothèses, les résultats de chaque nouveau calcul apparaissant presque instantanément. Pour effectuer cette opération à la main, avec un papier et un crayon, il faudrait recalculer chaque relation dans le modèle lors de chacune des modifications. Ainsi, les systèmes de feuilles de calcul électroniques sont aptes à résoudre des problèmes de simulation, c'est à dire à modifier une entrée et voir ce qui se produit à la sortie. Les problèmes de simulation peuvent être représentés formellement en définissant une ou plusieurs options, chacune d'elles représentant une hypothèse qui peut être programmée comme étant "VRAIE" ou "FAUSSE". L'effet d'une seule option définie par l'utilisateur peut prendre différentes formes et nécessite que l'utilisateur du tableur représente formellement cet effet à l'aide de différents moyens intégrés. Avec la technologie actuelle des tableurs, 4 2811788 ces moyens peuvent être basés soit sur l'écriture de formules (ce qui nécessite une connaissance approfondie du langage et de la syntaxe des formules), ou soit sur l'utilisation de ce qu'on appelle des "versions". Dans les deux cas, il y existe des limites qui peuvent conduire à des solutions inefficaces ou à générer des erreurs. Pour utiliser les formules sur un tableur, l'utilisateur doit d'abord en maîtriser le langage et la syntaxe, ce qui est loin d'être facile pour quelqu'un qui n'est pas habitué aux langages de programmation. Ensuite, il faut définir une représentation formelle des options telles que définies par l'utilisateur, avec les moyens associés pour les gérer: cette seconde tâche est encore plus difficile car l'utilisateur ne peut compter sur aucun jeu strict de règles (comme celles implantées dans un compilateur ou un traducteur de langage) pour déterminer si son travail ne contient pas d'erreur. En outre, une feuille de calcul électronique préparée par un utilisateur avec sa façon personnelle de représenter les options sera difficile à utiliser par quelqu'un d'autre si ce dernier n'a pas reçu des instructions précises du premier sur la manière de manipuler les options. En bref, à moins de posséder de solides compétences en programmation, il est pratiquement impossible pour un utilisateur de tableur ordinaire de réaliser et de partager des scénarios de simulation sans erreurs, à l'aide des options préalablement définies, en se basant uniquement sur le langage des formules intégrées dans le tableur. Les outils de tableur actuels utilisent les concepts de '"versions" et de "groupes de versions". Ceux-ci présentent certains avantages par rapport à l'approche précédente, mais également certains inconvénients, comme nous allons le voir. Rappelons d'abord la définition du mot "version", d'après la description suivante donnée par l'aide en ligne du tableur 2811788 1-2-3 de Lotus Corporation:" Les versions sont des jeux de données différentes pour la même série nommée. Chaque version a un nom, une date et une heure de création et de modification, ainsi que le nom de la personne qui l'a créée ou l'a modifiée en dernier. Vous pouvez aussi affecter des styles et des réglages de protection à une version et ajouter un commentaire. Par exemple, vous pouvez nommer une série Revenues et créer trois versions de la série: HighRev, avec des valeurs de 600, 500, 400 et 300, MedRev, avec des valeurs de 500, 400, 300 et 200, et LowRev, avec des valeurs de 400, 300, 200 et 100. Vous pouvez créer des versions de n'importe quelle série nommée. Par exemple, comme vous avez créé des versions de Revenues, vous pouvez nommer une autre série Expenses et créer des versions nommées HighExp, MedExp et LowExp. Lorsque vous créez des versions pour une série nommée, toutes les versions sont enregistrées dans les cellules de la série. 1-2-3 effectue les calculs avec les valeurs de la version affichée. Toute modification de style ou de données des cellules réactualise automatiquement la version sur la série." Une fois qu'une série de cellules a fait l'objet de versions, l'utilisateur peut définir plusieurs versions pour cette série. Dans le cas classique o il faut gérer plusieurs options, le nombre de versions à définir peut devenir rapidement excessif. En effet, si une feuille de calcul électronique doit traiter un jeu de N options indépendantes, toute cellule dont le contenu dépend de ces N options doit être représentée avec 2N versions, chacune correspondant à une combinaison donnée de ces N options. Outre l'augmentation de l'occupation de la mémoire (et la dégradation des performances qui s'en suit), cette situation peut devenir rapidement ingérable pour l'utilisateur, notamment dans le cas o plusieurs cellules dispersées font l'objet de versions, et ceci même en utilisant le concept de 6 2811788 "groupes de versions" permettant d'associer des versions sur différentes séries de cellules. Résumé de l'invention La présente invention concerne le domaine du traitement informatique des données, et plus particulièrement une méthode et un système pour appliquer dans une feuille de calcul électronique une ou plusieurs options définies par un utilisateur dans une ou plusieurs cellules. Cette méthode comprend les étapes suivantes: * définition pour chaque option d'une variable booléenne avec une première valeur et une seconde valeur, de préférence une valeur "vrai" ou "faux", * pour chacune desdites cellules: * désignation d'une ou plusieurs variables booléennes, et * association d'un opérateur logique ou mathématique avec chaque variable booléenne, * pour chacune desdites variables booléennes désignées dans chacune desdites cellules: * spécification d'une valeur par défaut, ladite valeur par défaut étant définie comme la valeur de la cellule lorsque la variable booléenne désignée est réglée sur la première valeur, de préférence lorsque la variable booléenne est réglée sur la valeur "faux", * spécification d'une valeur delta en appliquant à la valeur par défaut spécifiée de la cellule l'opérateur associé à la variable booléenne désignée lorsque la variable booléenne est réglée sur la seconde valeur, de préférence lorsque la variable booléenne est réglée sur la valeur "vrai", 7 2811788 * réglage de chaque variable booléenne sur la première ou la seconde valeur, * Pour chacune desdites cellules: calcul desdites valeurs delta. Brève description des dessins Les aspects nouveaux et inventifs que nous estimons caractéristiques de l'invention sont présentés dans les revendications ci-après. Toutefois, on comprendra mieux l'invention elle-même, ainsi que son mode préféré d'utilisation et ses autres objets et avantages, à la lecture de la description détaillée ci-après, accompagnée des dessins suivants: * La figure 1A représente un système informatique dans lequel la présente invention peut être implantée. * La figure lB représente un système logiciel comprenant un système d'exploitation, un logiciel d'application et une interface utilisateur pour appliquer la présente invention. * La figure 1C montre l'architecture et les fonctions de base d'une interface utilisateur graphique dans laquelle la présente invention peut être implantée. * La figure 2A montre une interface de bloc-notes de tableur selon la version préférée de la présente invention. * La figure 2B montre la barre d'outils de l'interface de bloc-notes représentée sur la figure 2A. 8 2811788 * Les figures 2C et 2D montrent des identifiants de page pour accéder rapidement et manipuler individuellement les pages de l'interface de blocnotes représentée sur la figure 2A. * La figure 3 montre une interface utilisateur préférée pour gérer des options définies par l'utilisateur, conformément à la présente invention. * La figure 4 montre une interface utilisateur préférée pour appliquer des options définies par l'utilisateur dans une cellule donnée, conformément à la présente invention. * La figure 5 illustre une méthode préférée pour appliquer des options définies par l'utilisateur dans une cellule donnée, conformément à la présente invention. * La figure 6 illustre le système et la méthode faisant l'objet de la présente invention. Description détaillée de la mise en oeuvre préférée MATERIEL Comme le montre la figure 1A, la présente invention peut être mise en oeuvre dans un système informatique 100 comprenant un processeur central 101, une mémoire centrale 102, un contrôleur d'entrées/sorties 103, un clavier 104, un dispositif de pointage 105 (p. ex. souris, "track-ball", stylet ou autre), un dispositif d'affichage 106 et un système de stockage 107 (p. ex. un disque dur). D'autres périphériques d'entrée/sortie, tels qu'une imprimante 108, peuvent être inclus dans le système 100 si on le désire. Comme on le voit, les différents éléments du système 100 communiquent par un bus système 110 ou une autre architecture similaire. Dans une mise en oeuvre préférée, le système informatique 100 comprend un PC compatible IBM que l'on peut acquérir chez différents fournisseurs (dont International Business Machine - IBM Corporation d'Armonk, N.Y.). Comme le montre la figure lB, un système logiciel 150 contrôle le fonctionnement du système informatique 100. Le système logiciel 150, qui est enregistré dans la mémoire système 102 et sur le disque 107, comprend un système d'exploitation 151 et une interface 153. Un ou plusieurs programmes d'application, tels que le logiciel d'application 152, peuvent être "chargés" (c'est à dire transférés du disque 107 dans la mémoire 102) pour être exécutés par le système 100. Le système 100 reçoit les instructions de l'utilisateur et les données par l'intermédiaire d'un interface utilisateur 153; ces entrées peuvent ensuite être traitées par le système 100 conformément aux instructions du module d'exploitation 151 et/ou du module d'application 152. L'interface 153, qui est de préférence une interface utilisateur graphique (GUI), sert aussi à afficher les résultats, après quoi l'utilisateur peut ajouter de nouvelles entrées ou clore la session. Dans une mise en oeuvre préférée, le système d'exploitation 151 et l'interface 153 sont Microsoft Win95, disponible chez Microsoft Corporation de Redmond, Wash. Par ailleurs, le module d'application 152 comprend un bloc- notes de tableur conforme à la présente invention comme on le verra en détail ultérieurement. INTERFACE A. Introduction Les mises en oeuvre préférées s'appliquent à des tableurs fonctionnant dans l'environnement Microsoft Win95. 2811788 Cependant, la présente invention n'est pas limitée à une application particulière ou à un environnement particulier. Au contraire, les spécialistes comprendront que le système et les méthodes qui font l'objet de la présente invention peuvent être appliqués avec intérêt à divers logiciels système et d'application, tels que des systèmes de gestion de base de données, des traitements de texte, etc. En outre, la présente invention peut être appliquée à diverses plates-formes, telles que Macintosh, UNIX, NextStep, etc. Par conséquent, la description suivante des mises en oeuvre préférés est donnée à titre d'exemple. Elle a pour but d'illustrer l'invention, et ne saurait être limitative. Sur la figure 1C, le système 100 comprend une interface de fenêtrage ou un espace de travail 160. La fenêtre 160 est une interface utilisateur graphique (GUI) rectangulaire destinée à l'affichage à l'écran 106; d'autres éléments de fenêtrage peuvent être affichés dans différentes tailles et différentes formes au choix (p. ex., mosaïque ou cascade). Au sommet de la fenêtre 160 se trouve une barre de menus 170 avec plusieurs menus d'instructions utilisateur dont chacun permet d'appeler des sous-menus et des outils supplémentaires à utiliser avec les objets de l'application. La fenêtre 160 comprend une zone client 180 pour afficher et manipuler des objets "écran" tels qu'un objet graphique 181 ou un objet texte 182. Dans le principe, la zone client est un espace de travail ou une fenêtre permettant à l'utilisateur d'interagir avec les objets "données" qui résident dans le système informatique 100. L'interface de fenêtrage 160 contient un curseur ou pointeur 185 pour sélectionner ou appeler d'une manière quelconque les objets "écran" intéressants. En réponse aux signaux de mouvement envoyés par le dispositif de pointage 105, le curseur 185 se déplace librement à travers l'écran 106 vers l'emplacement désiré. Pendant ou après le déplacement du 1 2811788 curseur, l'utilisateur peut générer des signaux d'événements (p. ex. en "cliquant" et en "tirant" avec le bouton de la souris) pour sélectionner et manipuler des objets, comme le savent les spécialistes. Par exemple, la fenêtre 160 peut être fermée, redimensionnée ou réduite en "cliquant" (sélectionnant) respectivement sur les éléments de l'écran 172, 174/5 et 177/8. Dans une mise en oeuvre préférée, le curseur 185 est contrôlé par une souris. Des souris à un, deux ou trois boutons sont proposées par divers vendeurs, dont Apple Computer de Cupertino, Calif., Microsoft Corporation de Redmond, Wash., et Logitech Corporation de Fremont, Calif. Le dispositif de contrôle de curseur 105 sera de préférence une souris à deux boutons, munie d'un boutons gauche et d'un bouton droit. Les techniques et les opérations de programmation des souris sont bien décrites dans la littérature concernant la programmation et le matériel; voir p. ex. Microsoft Mouse Programmer's Reference, Microsoft Press, 1989. La structure générale et le fonctionnement des systèmes GUI déclenchés par des événements, tels que les fenêtres, sont également connus des spécialistes; voir, p. ex. Petzold, C., Programming Windows, seconde édition, Microsoft Press, 1990. Les informations contenues dans ces documents sont citées ici à titre d'information. B. Interface préférentielle Concernant la figure 2A, nous allons maintenant décrire une interface de bloc-notes conforme à la présente invention. Le bloc-notes de la présente invention comprend un espace de travail de bloc-notes 200 pour recevoir, traiter et présenter des informations alphanumériques ou graphiques. L'espace de travail de bloc-notes 200 comprend une barre de menus 210, une barre d'outils 220, un indicateur de cellule 12 2811788 courante 230, une ligne d'entrée 231, une ligne de statut 240 et une fenêtre de bloc-notes 250. La barre de menus 210 permet d'afficher et d'appeler, en réponse à des entrées de l'utilisateur, un niveau principal d'instructions utilisateur. Le menu 210 permet aussi d'appeler d'autres menus déroulants, comme on les connaît dans les applications de fenêtrage. La ligne d'entrée 231 peut recevoir les instructions et les informations de l'utilisateur pour entrer et modifier le contenu des cellules; il peut s'agir de données, de formules, de macros, etc. L'indicateur 230 affiche une adresse pour la position courante du curseur (autrement dit, la cellule active), ou l'adresse ou le nom d'une série nommée sélectionnée (autrement dit, une sélection active). Sur la ligne de statut 240, le système 100 affiche des informations sur l'état courant du bloc-notes; par exemple, un message "PRET" indique que le système est prêt pour que l'utilisateur sélectionne une autre tâche à effectuer. La barre d'outils 220, représentée plus en détails sur la figure 2B, comprend une ligne ou une palette d'outils qui permettent à l'utilisateur d'accéder rapidement aux commandes ou propriétés les plus utilisées. Dans une mise en oeuvre donnée à titre d'exemple, la barre d'outils 220 comprend des boutons de manipulation de fichier 221, des boutons d'impression 222, un bouton "annuler frappe" 223, des boutons "couper", "copier" et "coller" 224, des boutons d'affichage de fenêtres d'informations 225, un bouton de sélection de série nommée 226, un bouton de copie de style 227, un bouton "redimensionner colonnes" 228 et un bouton "somme" 229. Les fonctions de ces boutons sont suggérées par leur nom. Par exemple, les boutons 224 permettent de couper, de copier et de coller des données ou des objets. Les mêmes actions sont également possibles avec les commandes correspondantes dans le menu Edition (accessible dans la barre de menus 210). 1 3 2811788 Le bloc-notes, qui constitue une interface pour entrer et afficher des informations intéressantes, contient plusieurs pages de tableur. Chaque page peut contenir des fonctions de fenêtrage conventionnelles, telles que "déplacer", "redimensionner" et "effacer". Dans une mise en oeuvre préférée, le bloc-notes contient 256 pages de tableur, toutes sauvegardées sous forme de fichier simple dans le système de stockage 107. L'espace de travail 200 peut afficher un ou plusieurs bloc-notes, dimensionnés et positionnés (p. ex. en mosaïque, superposés, etc.) conformément aux instructions de l'utilisateur. Chaque page de tableur d'un bloc-notes comprend une feuille en 2 dimensions. Par exemple, la page A du bloc-notes 200 comprend une grille formée de lignes et de colonnes telles que la ligne 3 et la colonne F. A chaque intersection ligne/colonne, un champ ou cellule (p. ex., la cellule C4) permet d'entrer, de traiter et d'afficher des informations de manière conventionnelle. Chaque cellule peut être appelée avec un sélecteur destiné à désigner la cellule active (c'est à dire la cellule actuellement sélectionnée). Comme on le voit sur les figures 2C et D, les pages du bloc-notes sont identifiées par des identifiants de page 260 situés de préférence le long d'un bord du bloc-notes. Dans une mise en oeuvre préférée, chaque identifiant de page est constitué par un onglet (p. ex., les onglets 261a, 262a et 263a) situé le long du bord supérieur du bloc-notes. Chaque onglet peut comprendre des commentaires explicites, tels que des étiquettes de texte ou graphiques. Les titres des onglets sont choisis par l'utilisateur et représentent le contenu de la page correspondante. Sur la figure 2C, les onglets 260 sont dotés de leurs noms par défaut respectifs. Par exemple, les trois premiers onglets (261a, 262a et 263a) sont appelés respectivement A, B et C. Toutefois, les 1 4 2811788 onglets reçoivent généralement des noms descriptifs donnés par l'utilisateur. Par exemple, comme le montre la figure 2D, les trois premiers onglets ont été appelés "Contents" ("contenus" en français) (onglet 261b), "Summary" ("résumé" en français)(onglet 262b) et "Jan" (pour le mois de "janvier") (onglet 263b). De même, les autres onglets ont été nommés d'après les autres mois de l'année. Ainsi, l'utilisateur peut associer les identifiants de page avec les onglets habituels d'un bloc-notes en papier ordinaire. De cette manière, l'utilisateur sait comment sélectionner la page ou la feuille qui l'intéresse: il suffit de sélectionner l'onglet correspondant à la page (comme on sélectionne une page dans un bloc-notes en papier). Outre le fait d'aider l'utilisateur à sélectionner une page comprenant de l'information, les identifiants de page personnalisables aident à entrer les adresses des séries nommées. Par exemple, lorsqu'il entre une formule désignant une série nommée de cellules figurant sur une autre page, l'utilisateur peut simplement utiliser le nom descriptif de la page dans l'adresse de la série nommée, ce qui permettra à un autre utilisateur de comprendre facilement la relation de la/des cellule(s) ou des informations désignées. On trouvera une description générale des caractéristiques et du fonctionnement de l'interface de bloc-notes dans Quattro Pro for Windows (Getting Started, User's Guide and Building Spreadsheet Applications), disponible chez Borland International. GESTION DES OPTIONS DEFINIES PAR L'UTILISATEUR A. Introduction La puissance des tableurs s'étant accrue depuis plusieurs années, il est aujourd'hui possible de développer des applications personnalisées complexes uniquement à partir de 2811788 tableurs, contrairement aux applications développées avec des langages de programmation généraux tels que C++ ou VisualBasic de Microsoft Corporation. Cela est possible grâce aux outils intégrés dans les tableurs tels que les langages de macro, les langages de script, les formules et les versions. Dans des applications de tableur types, on trouve habituellement des cellules isolées ou des séries de cellules dont le contenu dépend d'une ou plusieurs conditions. L'exécution d'un scénario de simulation peut alors consister à appliquer différents jeux de conditions à ces cellules. On peut le faire avec des outils de tableur conventionnels grâce au concept de version. Une version est toujours associée à une série de cellules (qu'elle contienne un ou plusieurs cellules) et peut être considérée comme un ensemble de situations mutuellement exclusives de cette série de cellules. Lorsque plusieurs conditions indépendantes doivent être prises en compte pour exécuter la simulation, le nombre de versions à définir varie de manière exponentielle avec le nombre de conditions. En effet, avec N hypothèses indépendantes, il y a 2N combinaisons différentes. Avec seulement N égal à 7, 2N est déjà égal à 128. Ainsi, même avec un nombre réduit de conditions, il existe un grand nombre de combinaisons de conditions et ce grand nombre peut facilement se heurter aux limites du tableur. En outre, lorsque plusieurs cellules disséminées dans un tableur dépendent d'un même ensemble de conditions, les outils conventionnels proposent la mise en oeuvre du concept de "groupes de versions", ce qui implique de la part de l'utilisateur du tableur, une définition méticuleuse des dépendances entre versions des différentes séries de cellules. La présente invention offre une solution conviviale à ce problème en définissant une méthode et un système pour gérer et appliquer des options définies par l'utilisateur pour une cellule donnée. 1 6 2811788 Dans les paragraphes suivants, les conditions susmentionnées seront appelées des "options". Une option se définit comme une variable booléenne qui peut être définie comme "vraie" ou "fausse" et qui peut avoir un impact sur le contenu de n'importe quelle cellule d'un tableur, en la désignant exactement comme une série nommée conventionnelle. Par exemple, la formule "$baseprice *(1-10%*$discount)" désigne d'une part une série nommée conventionnelle "baseprice" et d'autre part une série nommée "discount" qui est également définie comme une option conformément à la présente invention. Dans cette exemple, lorsque l'option "discount" est "fausse" (la valeur de l'option "fausse" étant par convention forcée à 0), la formule prend la même valeur que celle contenue dans la série nommée"baseprice". A l'inverse, lorsque l'option option "discount" est "vraie" (la valeur de l'option "vraie" étant par convention forcée à 1), la formule donne une valeur égale à celle de la série nommée "baseprice" réduite de 10%. Dans les paragraphes suivants, les cellules auxquelles sont appliquées une ou plusieurs options définies par l'utilisateur seront appelées "cellules d'application d'options" ou CAO. B. Gestionnaire d'options et applicateur d'options Par rapport aux outils conventionnels que nous venons de décrire, la présente invention propose une approche plus puissante, conviviale et interactive pour gérer les options définies par l'utilisateur sous la forme d'un "gestionnaire d'options". Ce gestionnaire permet automatiquement à l'utilisateur du tableur: * de définir si une condition donnée doit être traitée comme ce qu'on appelle une option, puis * de gérer cette option. 1 7 2811788 Dans une mise en oeuvre préférée, la présente invention est utilisée en trois étapes: 1. La première étape a lieu lorsque l'utilisateur du tableur décide, sur la base de critères non détaillés ici, si une ou plusieurs conditions doivent tirer partie de la présente invention, c'est à dire être gérées comme une ou plusieurs options par le gestionnaire d'options. Visualisation des options L'utilisateur appelle d'abord une instruction spécifique appelée "Option Manager" à l'aide de moyens conventionnels disponibles dans un environnement de tableur tels que (sans limitation) des boutons spéciaux, des raccourcis clavier ou des entrées de menu ou de sous-menu. Il en résulte l'affichage sur l'écran 106 d'une boîte de dialogue de gestionnaire d'options 300, comme on le voit sur la figure 3. Dans cette boîte de dialogue de gestionnaire d'options 300, l'utilisateur peut visualiser les options déjà définies dans la "fenêtre de liste" 301 (telles que celles nommées "year end", "volume", "new customer" et "rebate" sur la figure 3), ainsi que les options non utilisées dont les noms suivent un modèle prédéfini, tels que "option*", le caractère "*" étant un caractère de remplacement qui représente un nombre. Dans l'exemple représenté sur la figure 3, l'option figurant en bas de la fenêtre de liste 301 est nommée "option5" et correspond donc dans cette mise en oeuvre préférée à une option non utilisée. On peut utiliser n'importe quel autre convention pour nommer une option sans trahir l'esprit de la présente invention. Pour visualiser une autre option - déjà définie ou non utilisée - non affichée dans la fenêtre de liste 301 de la boîte de dialogue de gestionnaire d'options 300, l'utilisateur peut, par exemple, utiliser un dispositif de pointage 105 pour 18 2811788 cliquer sur la barre de défilement 302 afin de faire monter ou descendre toute la liste des options utilisées et non utilisées dans la fenêtre de liste 301. Définition des options L'utilisateur peut normalement décider d'utiliser la première option inutilisée (l'"option5" dans la fenêtre de liste 301 de la boîte de dialogue du gestionnaire d'options 300). Pour cela, l'utilisateur clique avec le dispositif de pointage 105 sur le bouton "Rename" 305 situé à droite de l'"option5" dans la fenêtre de liste 301. Il affiche ainsi sur l'écran 106 une nouvelle boîte de dialogue 310. Dans cette boîte de dialogue 310, un champ d'entrée 311 permet à l'utilisateur de changer avec le clavier 104 le nom par défaut de l'"option5". Si, pour une raison quelconque, l'utilisateur décide de ne pas définir de nouvelle option, il peut annuler cette opération en cliquant sur le bouton "Cancel" 313. Il ferme ainsi la boîte de dialogue 310 à l'écran 106 et revient à la boîte de contrôle du gestionnaire d'options 300. En revanche, si l'utilisateur veut poursuivre la définition de la nouvelle option, il confirme l'opération en cliquant sur le bouton "OK" 312 de la boîte de dialogue 310. Il ferme alors la boîte de dialogue 310 à l'écran 106 et revient à la boîte de dialogue du gestionnaire d'options 300 qui affiche maintenant au bas de la fenêtre de liste 301 le nouveau nom de l'option qui vient d'être spécifié. Si l'utilisateur veut définir d'autres nouvelles options, il peut utiliser la même procédure dans la mesure o il reste des options inutilisées. Ceci fait, l'utilisateur clique avec le dispositif de pointage 105 sur le bouton "Done" 306. Il ferme ainsi la boîte de dialogue du gestionnaire d'options 300 sur l'écran 106. 19 2811788 * 2. La deuxième étape a lieu lorsque l'utilisateur du tableur décide, sur la base de critères non précisés ici, de profiter de la présente invention en manipulant des options déjà définies avec le gestionnaire d'options. Ces manipulations consistent par exemple à renommer une ou plusieurs options déjà définies, ou à lire et/ou à changer le statut ("vrai" ou "faux") d'une ou plusieurs options déjà définies. Boite de dialogue Dans les deux cas, l'utilisateur appelle d'abord une instruction spécifique appelée "Option Manager" à l'aide des moyens conventionnels disponibles dans un environnement de tableur tels que (sans limitation) des boutons spéciaux, des raccourcis clavier ou des entrées de menu ou de sous-menu. Il en résulte l'affichage sur l'écran 106 d'une boîte de dialogue de gestionnaire d'options 300, comme on le voit sur la figure 3. Visualisation des options Dans cette boîte de dialogue de gestionnaire d'options 300, l'utilisateur peut visualiser les options déjà définies dans la "fenêtre de liste" 301 (telle que celles nommées "year end", "volume", "new customer" et "rebate" sur la figure 3). Pour visualiser d'autres options définies éventuellement non affichées dans la fenêtre de liste 301 de la boîte de dialogue du gestionnaire d'options 300, l'utilisateur peut, par exemple, cliquer avec le dispositif de pointage 105 sur la barre de défilement 302 afin de faire monter ou descendre toute la liste des options utilisées et non utilisées dans la fenêtre de liste 301. Changement du nom des options Si l'utilisateur choisit de renommer une ou plusieurs options déjà définies, il doit appliquer, pour chaque 2 Zl 2811788 option concernée, une procédure similaire à celle utilisée pour définir une nouvelle option. En résumé, elle consiste d'abord à utiliser la barre de défilement 302 pour afficher dans la fenêtre de liste 301 l'option à renommer, à cliquer sur le bouton "Rename" situé à droite de l'option sélectionnée (le bouton 305 si l'option sélectionnée apparaît en bas de la fenêtre de liste 301), puis à remplacer avec le clavier 104 le nom courant de l'option affiché dans la fenêtre 311 de la boîte de dialogue 310, et enfin à cliquer sur le bouton "OK" 312. Lecture/changement du statut des options Si l'utilisateur choisit de lire et/ou de changer le statut d'une ou plusieurs options préalablement définies, il commence, comme indiqué ci-dessus, par afficher dans la fenêtre de liste 301 (éventuellement avec la barre de défilement 302) la première option dont le statut doit être lu et/ou modifié. Ceci fait, le statut de cette option s'affiche dans le champ situé immédiatement à droite de la fenêtre de liste 301. Par exemple, si l'option actuellement gérée est celle située en bas de la fenêtre de liste 301, le statut s'affiche dans le champ 303; il peut prendre les valeurs "VRAI" ou "FAUX". Si l'utilisateur, pour une raison non détaillée ici, décide de faire passer le statut courant de "VRAI" à "FAUX" ou inversement de "FAUX" à "VRAI", il clique avec le dispositif de pointage 105 sur le bouton "Change" 304. L'effet de cette opération se reflète dans la boîte de dialogue du gestionnaire d'options 300 qui échange les valeurs "VRAI" et "FAUX" affichées dans le champ 304. Ces étapes doivent être répétées pour chaque option dont l'utilisateur désire lire et/ou modifier le statut. Ceci fait, l'utilisateur clique avec le dispositif de pointage sur le bouton "Done" 306. Il ferme ainsi la boîte de dialogue du gestionnaire d'options 300 à l'écran 106. 21 2811788 * 3. La troisième étape a lieu lorsque l'utilisateur du tableur décide, sur la base de critères non détaillés ici, si le contenu d'une cellule donnée (la CAO) doit dépendre ou non d'une option spécifiée donnée. Après avoir sélectionné la cellule dans laquelle les options définies par l'utilisateur doivent être appliquées, l'utilisateur appelle d'abord une instruction spécifique appelée "Option_Applicator" à l'aide des moyens conventionnels disponibles dans un environnement de tableur tels que (sans limitation) des boutons spéciaux, des raccourcis clavier ou des entrées de menu ou de sous-menu. Il en résulte l'affichage sur l'écran 106 d'une boîte de dialogue d'applicateur d'options 400, comme on le voit sur la figure 4. Combinaison d'effets d'option Dans cette boîte de dialogue d'applicateur d'options 400, l'utilisateur peut visualiser si une option a déjà été appliquée à la CAO et, si c'est le cas, quel est l'effet de l'option. Pour cela, la boîte de dialogue d'applicateur d'options 400 contient une boîte de combinaison "Option Effect" (Effet d'option) 411 qui affiche l'une des valeurs possibles suivantes: * "NONE" signifie qu'il n'y a aucune option appliquée à la CAO, * "ADD" signifie qu'une option est appliquée, avec un effet additif, * "MULTIPLY" signifie qu'une option est appliquée, avec un effet multiplicateur, et * "OR" signifie qu'une option est appliquée, avec un effet exclusif. Si l'utilisateur désire appliquer une nouvelle option ou modifier une option existante, il lui suffit d'utiliser des moyens conventionnels (tels que, par exemple, le dispositif de pointage 105 ou des raccourcis avec le 22 2811788 22 B e clavier 104) pour modifier le contenu de la boîte de combinaison "Option Effect" 411. Dans cette boîte de dialogue d'applicateur d'options 400, L'utilisateur peut aussi visualiser toute option déjà appliquée à la CAR à l'aide de la boîte de combinaison "Applied Option" (Option appliquée) 412 qui montre l'option appliquée à la CAO. Les valeurs affichées dans la boîte de combinaison "Applied Option" 412 correspondent à la liste d'options définies par l'utilisateur, telle qu'elle est définie et gérée par la méthode Option_Manager. Si l'utilisateur désire modifier une option déjà appliquée ou spécifier une nouvelle option, il lui suffit d'utiliser des moyens conventionnels (tels que, par exemple, le dispositif de pointage 105 ou des raccourcis avec le clavier 104) pour modifier le contenu de la boite de combinaison "Applied Option" 412 pour afficher l'option désirée. Valeur par défaut Dans la boîte de dialogue de l'applicateur d'options 400, l'utilisateur peut aussi visualiser le contenu de la CAO lorsque l'option appliquée est programmée sur "FAUX". Pour cela, la boîte de dialogue de l'applicateur d'options 400 contient le champ "Default Value" (Valeur par défaut) 408 qui montre le contenu de la CAO lorsque l'option appliquée est programmée sur "FAUX". Dans l'exemple de la figure 4, cette valeur par défaut correspond au contenu de la cellule portant l'adresse D21. Si l'utilisateur désire modifier cette valeur par défaut, il lui suffit d'utiliser des moyens conventionnels (tels que, par exemple, le dispositif de pointage 105 ou des raccourcis avec le clavier 104) pour modifier le contenu du champ "Default Value" 408 de façon à ce que la valeur modifiée désirée soit affichée. En outre, si, lors de la modification du champ "Default Value" 408, l'utilisateur a besoin de désigner une cellule ou une série dans la feuille de calcul, il peut d'abord cliquer avec le dispositif de 2 3 2811788 pointage 105 sur le bouton "Select Cell" (Sélectionner cellule) 407, puis pointer dans la feuille de calcul sur la cellule ou la série de cellules concernée. Il ajoute ainsi dans le contenu du champ "Default Value" 408 l'adresse de la cellule ou de la série concernée. Cette fonction est particulièrement utile lorsque la valeur par défaut doit être spécifiée comme le résultat de calculs arithmétiques entre des cellules ou des séries de cellules. Valeur delta Dans la boîte de dialogue de l'applicateur d'options 400, l'utilisateur peut aussi visualiser la variation du contenu de la CAO (selon l'effet spécifié dans la boîte de combinaison "Option Effect" 411) lorsque l'option appliquée est programmée sur "VRAI". Pour cela, la boîte de dialogue de l'applicateur d'options 400 contient un champ "Delta Value " (Valeur Delta) 410 qui montre la variation du contenu de la CAO lorsque l'option appliquée est programmée sur "VRAI". Dans l'exemple de la figure 4, cette Valeur Delta correspond à l'opposé du contenu de la cellule portant l'adresse D23. Plus généralement, appelons D la valeur par défaut définie dans le champ "Default Value" 408, appelons A la Valeur Delta définie dans le champ "Delta Value " 410 et appelons E la valeur prise par l'effet appliqué comme il est spécifié dans la boîte de combinaison "Option Effect" 411. Si l'option appliquée (telle qu'elle est spécifiée dans la boîte de combinaison "Applied Option" 412) est "FAUSSE", la valeur prise par la CAO est alors égale à D, quelle que soit la valeur de E; si l'option appliquée est "VRAIE", alors la valeur prise par la CAO est respectivement égale à D + A, D *A ou A si la valeur de E est égale à "ADD", "MULTIPLY" ou "OR". Si l'utilisateur désire modifier la Valeur Delta, il lui suffit d'utiliser des moyens conventionnels (tels que, par 2 4 2811788 exemple, le dispositif de pointage 105 ou des raccourcis avec le clavier 104) pour modifier le contenu du champ "Delta Value" 410 de façon à ce que la valeur modifiée désirée soit affichée. En outre, si, lors de cette modification du champ "Delta Value" 410, l'utilisateur a besoin de désigner une cellule ou une série dans la feuille de calcul, il peut d'abord cliquer avec le dispositif de pointage 105 sur le bouton "Select Cell" ("Sélectionner cellule" en français) 409, puis pointer dans la feuille de calcul sur la cellule ou la série de cellules concernée. Il ajoute ainsi dans le contenu du champ "Delta Value" 410 l'adresse de la cellule ou de la série concernée. Cette fonction est particulièrement utile lorsque la Valeur Delta doit être spécifiée comme le résultat de calculs arithmétiques entre des cellules ou des séries de cellules. Référence de cellule relative/absolue Dans la boîte de dialogue de l'applicateur d'options 400, l'utilisateur peut aussi visualiser et définir si l'option appliquée doit être considérée comme référence absolue ou non. Pour cela, la boîte de dialogue de l'applicateur d'options 400 contient une case " Absolute Address" ("Adresse absolue" en français) 413 qui peut être cochée ou non. Dans le premier cas, l'option appliquée est désignée comme référence absolue et, dans le second, elle est désignée comme référence relative. A l'aide de moyens conventionnels tels que le dispositif de pointage 105, l'utilisateur peut modifier cet arrangement en cliquant sur la case "Absolute Address" 413 de manière à cocher ou ne plus cocher la case. Application/modification des effets d'option Lorsque l'utilisateur est prêt à appliquer un nouvel effet d'option à une CAO ou à modifier l'effet d'option courant d'une CAO, il peut "exécuter" cette action en cliquant 2811788 avec des moyens conventionnels tels que le dispositif de pointage 105 sur le bouton "Apply" ("Appliquer" en français) 406. Il modifie ainsi le contenu de la CAO qui contient maintenant le nouvel effet d'option ou l'effet d'option modifié. Si l'utilisateur désire appliquer plusieurs options à la CAO, il doit répéter cette procédure pour chaque option appliquée, puis réinitialiser la valeur par défaut de la CAO comme étant le contenu de la CAO après l'application de chaque option. Pour cela, la boîte de dialogue de l'applicateur d'options 400 contient un bouton "Set Default Value = Cell Content" ("Programmer valeur par défaut = contenu de la cellule" en français) 404 sur lequel l'utilisateur du tableur peut cliquer avec des moyens conventionnels tels que le dispositif de pointage 105. Il remplace ainsi le contenu du champ "Default Value" 408 par le contenu de la CAO, il efface le contenu du champ "Delta Value" 410 et initialise la boîte de combinaison "Option Effect" 411 à la valeur "NONE". Ceci fait, la CAO dépend toujours des actions préalablement définies par l'utilisateur, comme nous l'avons déjà vu, mais l'utilisateur peut maintenant spécifier une nouvelle option, un nouvel effet et une nouvelle Valeur Delta, respectivement dans: * la boîte de combinaison "Applied Option" 412, * la boîte de combinaison "Option Effect" 411, et * le champ "Delta Value" 410, et spécifier si cette nouvelle option est désignée comme une référence absolue à l'aide de la case "Absolute Address" 413. Fermer/annuler Lorsque l'utilisateur a terminé de spécifier la manière dont une ou plusieurs options définies par lui-même s'appliquent à la CAO, il peut soit fermer la boîte de dialogue de l'applicateur d'options 400, soit continuer à travailler avec une autre CAO. 26 2811788 * Si l'utilisateur choisit de fermer la boîte de dialogue de l'applicateur d'options 400, il peut utiliser des moyens conventionnels tels que le dispositif de pointage 105 pour cliquer sur le bouton "Done" ("Fait" en français) 403 ou sur le bouton "Cancel" ("Annuler" en français) 405. Cela a pour effet de fermer la boîte de dialogue de l'applicateur d'options 400 sur l'écran 106. Si l'utilisateur choisit de continuer à travailler avec une autre CAO, il doit d'abord changer de CAO. Pour cela, la boîte de dialogue de l'applicateur d'options 400 contient un bouton "Change Selection" ("Changer sélection" en français) 402 sur lequel il peut cliquer avec le dispositif de pointage 105. Ceci fait, l'utilisateur peut utiliser ce même dispositif de pointage 105 pour sélectionner dans la feuille de calcul une cellule qui devient alors la nouvelle CAO. Sélection courante Pour visualiser à tout moment la CAO en cours, la boîte de dialogue de l'applicateur d'options 400 contient un champ "Current Selection" ("Sélection courante" en français) 401 qui affiche l'adresse de la CAO courante. A chaque fois qu'une nouvelle CAO est sélectionnée comme indiqué ci-dessus, le champ "Current Selection" 401 est actualisé pour afficher l'adresse de la nouvelle CAO. C. Méthode Option_Applicator La présente méthode pour appliquer des options définies par un utilisateur est résumée sur la figure 6: A l'étape 601, la méthode attend que l'utilisateur demande l'affichage sur l'écran 106 d'une boîte de dialogue d'applicateur d'options (BDAO) 400. 27 2811788 * A l'étape 602, une demande de l'utilisateur pour afficher la BDAO 400 sur l'écran 106 est détectée. * A l'étape 603, la cellule d'application d'options (CAO) est programmée de manière identique à la cellule courante. La CAO correspond à la cellule o les options sont appliquées. * A l'étape 604, le contenu de la CAO est analysé pour identifier les attributs éventuels des options déjà appliquées. Si aucun attribut n'est trouvé, des valeurs d'attributs par défaut sont programmées. * A l'étape 605, la BDAO 400 est affichée sur l'écran 106 pour montrer les attributs d'options de la CAO identifiés à l'étape précédente. * A l'étape 606, la méthode attend que l'utilisateur exécute une opération sur la BDAO 400. * A l'étape 607, une opération de l'utilisateur sur la BDAO 400 est détectée. * Si l'opération de l'utilisateur correspond à un changement de CAO, la méthode passe à l'étape 604, * Si l'opération de l'utilisateur correspond à un changement de l'un des attributs d'options de la CAO courante, la méthode passe à l'étape 608, * Si l'opération de l'utilisateur correspond à la fermeture de la BDAO 400, la méthode revient à l'étape initiale 601. * A l'étape 608, le changement d'attributs de la CAO est effectué conformément à l'opération de l'utilisateur sur la BDAO 400. * A l'étape 609, la BDA0 400 est rafraîchie pour refléter le changement d'attributs résultant l'opération de l'utilisateur. La méthode revient ensuite à l'étape 606 pour attendre une nouvelle opération de l'utilisateur. La méthode d'application des options définies par l'utilisateur à une cellule donnée appelée cellule 2 8;2811788 d'application d'options ou CAO est décrite en détail dans l'ordinogramme 500 de la figure 5. Cette méthode peut être considérée comme le traitement de l'instruction Option_Applicator, qu'elle soit utilisée pour appliquer une ou plusieurs nouvelles options à une CAO ou pour actualiser une CAO à laquelle une ou plusieurs options étaient déjà appliquées. Cette méthode comprend les étapes suivantes: * A l'étape 501, la méthode est dans sa configuration par défaut; elle attend un événement pour lancer le processus. * A l'étape 502, un événement résultant d'une opération de l'utilisateur est détecté. Cette opération peut être, par exemple, une combinaison spécifique de touches sur le clavier 104 ou le clic du dispositif de pointage 105 sur une touche spécifique, ou tout autre moyen similaire non *précisé ici. * A l'étape 503, la CA0 est programmée de manière identique à la cellule du tableur actuellement sélectionnée. * A l'étape 504, le contenu de la CAO est analysé pour identifier les options éventuelles déjà définies. Pour cela, on peut utiliser, sans limitation, un traducteur de contenu. Cette opération d'analyse consiste à déterminer les attributs des options de la CAO qui correspondent aux éléments suivants: * La valeur par défaut correspond à la valeur de la CAO lorsque l'option appliquée prend la valeur 'FAUX'. Si aucune option n'a été précédemment appliquée à la CAO, l'attribut de valeur par défaut correspond au contenu de la CAO. * La Valeur Delta correspond à la variation de la valeur de la CAO, lorsque l'option appliquée prend la valeur VRAI'. Si aucune option n'a été précédemment 2 9 2811788 appliquée à la CAO, l'attribut de Valeur Delta est nul. * L'effet correspond à la manière dont la Valeur Delta affecte la valeur par défaut. L'effet peut être additif, multiplicateur ou exclusif, de sorte que le contenu de la CAO corresponde respectivement à "valeur par défaut + Valeur Delta", " valeur par défaut * Valeur Delta" ou "Valeur Delta" lorsque l'option appliquée prend la valeur 'VRAI'. Si aucune option n'a été précédemment appliquée à la CAO, l'attribut Effet prend la valeur 'NEANT'. * L'option correspond à l'option définie par l'utilisateur qui affecte la valeur de la CAO. Si aucune option n'a été précédemment appliquée à la CAO, l'attribut Option prend la valeur par défaut 'NEANT'. * AbsAdd est une variable logique indiquant si l'option appliquée est considérée comme une référence absolue ou relative. Elle peut prendre les valeurs 'VRAI' ou FAUX'. Si aucune option n'a été précédemment appliquée à la CAO, l'attribut AbsAdd prend la valeur par défaut 'FAUX'. A l'étape 505, la boîte de dialogue de l'applicateur d'option 400 s'affiche sur l'écran 106. Dans la boîte de dialogue de l'applicateur d'option 400, l'adresse de la CAO est affichée dans le champ "Current Selection" 401, l'attribut Valeur par défaut est affiché dans le champ "Default Value" 408, l'attribut Valeur Delta est affiché dans le champ "Delta Value" 410, l'attribut Effet est affiché dans la boîte de combinaison "Option Effect " 411, l'attribut Option est affiché dans la boîte de combinaison "Applied Option" 412 et l'attribut AbsAdd, s'il est égal à VRAI', génère une coche dans la case d'"Absolute Address" 413. 3 0 2811788 A l'étape 506, la méthode attend une opération de l'utilisateur sur la boîte de dialogue de l'applicateur d'options 400. Cette opération résulte généralement d'un clic avec le dispositif de pointage 105, éventuellement suivi de l'entrée d'un texte avec le clavier 104, mais elle peut aussi résulter d'autres moyens similaires non précisés ici. * A l'étape 507, une opération de l'utilisateur sur la boîte de dialogue de l'applicateur d'options 400 est détectée. Si l'opération de l'utilisateur est un clic sur le bouton "Done" 403 ou sur le bouton "Cancel" 405, la méthode passe à l'étape 508; si l'opération de l'utilisateur est un clic sur le bouton "Change Selection" 402, la méthode passe à l'étape 509; si l'opération de l'utilisateur est un clic sur le bouton "Select cell" 407, la méthode passe à l'étape 511; si l'opération de l'utilisateur est un clic sur le bouton "Select cell" 409, la méthode passe à l'étape 513; si l'opération de l'utilisateur est une combinaison avec le dispositif de pointage 105 et d'entrée de données avec le clavier 104 provoquant une modification de la boîte de combinaison "Applied Option" 412, la méthode passe à l'étape 515; Si l'opération de l'utilisateur est une combinaison avec le dispositif de pointage 105 et d'entrée de données avec le clavier 104 provoquant une modification de la boîte de combinaison "Option Effect" 411, la méthode passe à l'étape 516; si l'opération de l'utilisateur est un clic sur la case "Absolute Address" 413, la méthode passe à l'étape 517; si l'opération de l'utilisateur est un clic sur le bouton "Apply" 406, la méthode passe à l'étape 518; si l'opération de l'utilisateur est un clic sur le bouton "Set Default Value = Cell Content" 404, la méthode passe à l'étape 519; si l'opération de l'utilisateur est une combinaison avec le dispositif de pointage 105 et d'entrée 31 2811788 de données avec le clavier 104 provoquant une modification du contenu du champ "Default Value" 408, la méthode passe à l'étape 520; enfin, si l'opération de l'utilisateur est une combinaison avec le dispositif de pointage 105 et d'entrée de données avec le clavier 104 provoquant une modification du contenu du champ "Delta Value" 410, la méthode passe à l'étape 521. * A l'étape 508, la boîte de dialogue de l'applicateur d'options 400 est fermée, de sorte qu'elle disparaît de l'écran 106 et que la méthode revient à l'étape initiale 501 pour traiter une éventuelle future instruction Option Applicator. * A l'étape 509, la méthode utilise des moyens conventionnels pour permettre à l'utilisateur de sélectionner une cellule dans la feuille de calcul. Ces moyens peuvent, par exemple, être basés sur une fenêtre "popup" dans laquelle l'utilisateur entre avec le clavier 104 l'adresse de la cellule à sélectionner; ils peuvent aussi être basés sur un dispositif de pointage 105, l'utilisateur cliquant sur la cellule à sélectionner, ou encore sur d'autres moyens similaires non précisés ici. * A l'étape 510, la CAO devient la cellule sélectionnée lors de l'étape 509, et la méthode revient à l'étape 504, de sorte que les nouveaux attributs de la CAO sont déterminés avant d'être affichés dans la boîte de dialogue de l'applicateur d'options 400. * A l'étape 511, la méthode utilise des moyens conventionnels pour permettre à l'utilisateur de sélectionner une cellule dans la feuille de calcul. Ces moyens peuvent, par exemple, être basés sur une fenêtre "popup" dans laquelle l'utilisateur entre avec le clavier 32 2811788 104 l'adresse de la cellule à sélectionner; ils peuvent aussi être basés sur un dispositif de pointage 105, l'utilisateur cliquant sur la cellule à sélectionner, ou encore sur d'autres moyens similaires non précisés ici. * A l'étape 512, la chaîne de caractères correspondant à l'adresse de la cellule sélectionnée lors de l'étape 511 est ajoutée à la fin de l'attribut de valeur par défaut de la CAO. La méthode passe ensuite à l'étape 522. * A l'étape 513, la méthode utilise des moyens conventionnels pour permettre à l'utilisateur de sélectionner une cellule dans la feuille de calcul. Ces moyens peuvent, par exemple, être basés sur une fenêtre "popup" dans laquelle l'utilisateur entre avec le clavier 104 l'adresse de la cellule à sélectionner; ils peuvent aussi être basés sur un dispositif de pointage 105, l'utilisateur cliquant sur la cellule à sélectionner, ou encore sur d'autres moyens similaires non précisés ici. * A l'étape 514, la chaîne de caractères correspondant à l'adresse de la cellule sélectionnée lors de l'étape 513 est ajoutée à la fin de l'attribut de Valeur Delta de la CAO. La méthode passe ensuite à l'étape 522. * A l'étape 515, l'attribut Option de la CAO est modifié pour prendre la valeur affichée dans la boîte de combinaison "Applied Option" 412. La méthode passe ensuite à l'étape 522. * A l'étape 516, l'attribut Effect de la CAO est modifié pour prendre la valeur affichée dans la boite de combinaison "Option Effect" 411. La méthode passe ensuite à l'étape 522. 33 2811788 * A l'étape 517, l'attribut AbsAdd de la CAO est modifié pour refléter la présence de la coche dans la case "Absolute Address" 413: si la coche est présente, l'attribut AbsAdd de la CAO est programmé sur 'VRAI'; sinon, il est programmé sur 'FAUX'. La méthode passe ensuite à l'étape 522. * A l'étape 518, le contenu de la CAO est modifié pour refléter les valeurs courantes affichées dans les différents attributs d'option de la CAO. Ce contenu peut prendre, par exemple, la forme d'une formule spécifique, non précisée ici, qui traduit de manière appropriée comment une ou plusieurs options sont appliquées à la CAO. La méthode passe ensuite à l'étape 522. * A l'étape 519, les attributs d'option de la CAO sont modifiés comme suit: l'attribut DefaultValue devient égal au contenu de la CAO, l'attribut DeltaValue devient nul, l'attribut Effect devient égal à 'NEANT', l'attribut Option devient égal à 'NEANT' et l'attribut AbsAdd devient égal à 'FAUX'. La méthode passe ensuite à l'étape 522. * A l'étape 520, l'attribut DefaultValue de la CAO est modifié pour prendre la valeur affichée dans le champ "Default Value" 408. La méthode passe ensuite à l'étape 522. * A l'étape 521, l'attribut DeltaValue de la CAO est modifié pour prendre la valeur affichée dans le champ "Delta Value" 410. La méthode passe ensuite à l'étape 522. * A l'étape 522, la boîte de dialogue d'applicateur d'options 400 est rafraîchie à l'écran 106 de sorte que les attributs d'option de la CAO, potentiellement modifiés lors des étapes 511 à 521, soient modifiés dans les 34 2811788 éléments correspondants 401, 408, 410, 411, 412 et 413 de la boîte de dialogue d'applicateur d'options 400. La méthode repasse ensuite à l'étape 506, de manière à ce qu'une éventuelle future opération de l'utilisateur puisse être d'abord attendue (étape 506), puis détectée (étape 507) et traitée (étapes 508 à 521). AUTRES VERSIONS Bien que l'invention ait été particulièrement illustrée et décrite en se référant à une mise en oeuvre préférée, on comprendra que diverses modifications de forme et de détail peuvent être apportées sans trahir l'esprit ni sortir de l'objet de l'invention. La méthode Option Applicator et le système qui font l'objet de la présente invention peuvent être utilisés avantageusement dans les environnements dont les éléments d'information sont organisés sous forme de tableaux multidimensionnels dotés de plus de trois dimensions. Revendications Les revendications sont les suivantes: 1. Une méthode pour appliquer une ou plusieurs options dans une ou plusieurs cellules d'une feuille de calcul électronique multidimensionnelle comprenant plusieurs cellules identifiées chacune par une adresse le long de chaque dimension, ladite méthode comprenant les étapes suivantes: * définition pour chaque option d'une variable booléenne avec une première valeur et une seconde valeur, de préférence une valeur "vrai" ou "faux", * pour chacune desdites cellules: * désignation d'une ou plusieurs variables booléennes, et * association d'un opérateur logique ou mathématique avec chaque variable booléenne, * pour chacune desdites variables booléennes désignées dans chacune desdites cellules: * spécification d'une valeur par défaut, ladite valeur par défaut étant définie comme la valeur de la cellule lorsque la variable booléenne désignée est réglée sur la première valeur, de préférence lorsque la variable booléenne est réglée sur la valeur "faux", * spécification d'une valeur delta en appliquant à la valeur par défaut spécifiée de la cellule l'opération associée à la variable booléenne désignée lorsque la variable booléenne est réglée sur la seconde valeur, de préférence lorsque la variable booléenne est réglée sur la valeur "vrai", FR 9 2000 0029NYNE * réglage de chaque variable booléenne sur la première ou la seconde valeur, * Pour chacune desdites cellules: * calcul desdites valeurs delta. 2. La méthode décrite dans la revendication précédente, l'étape de calcul desdites valeurs delta comprenant l'étape supplémentaire suivante: * calcul de la valeur de la cellule desdites valeurs delta calculées. 3. La méthode décrite dans la revendication précédente, ladite étape d'association d'un opérateur logique ou mathématique avec chaque variable booléenne comprenant l'étape préliminaire suivante: * spécification d'un opérateur d'addition, de multiplication ou d'exclusion. 4. La méthode décrite dans l'une des revendications précédentes, ladite étape de spécification d'une valeur delta comprenant l'étape supplémentaire suivante: * définition de la valeur delta comme une valeur additionnelle, un facteur de multiplication ou une valeur alternative appliqué à la valeur par défaut de la cellule spécifiée lorsque la variable booléenne est réglée sur la première valeur, de préférence sur la valeur "vrai". 5. La méthode décrite dans l'une des revendications précédentes, comprenant l'étape supplémentaire suivante: * pour chacune desdites variables booléennes désignées dans chacune desdites cellules: FR 9 2000 0029/YNE Dû 3+ * spécification du fait que la variable booléenne est désignée dans la cellule par une référence absolue ou non, de sorte que toute opération "copier-coller" appliquée à la cellule permet d'obtenir une cellule désignée avec la même variable booléenne. 6. La méthode décrite dans l'une des revendications précédentes, lesdites étapes de définition d'une ou plusieurs variables booléennes, d'association d'un opérateur logique ou mathématique à chaque variable booléenne et de réglage de chaque variable booléenne sur la première ou la seconde valeur sont réalisées au moyen d'une interface utilisateur interactive. 7. La méthode décrite dans l'une des revendications précédentes, ladite interface utilisateur interactive comprenant une boîte de dialogue affichée sur l'écran d'un système informatique. 8. Un système comprenant des moyens adaptés pour appliquer la méthode selon l'une des revendications précédentes. 9. Un programme informatique comprenant des instructions lisibles par ordinateur adaptées pour appliquer la méthode selon les revendications 1 à 7. FR 9 2000 0029NNE