FR 2957431 A1 20110916 FR 1000991 A 20100311 PROCEDE D'AFFICHAGE D'UN TABLEAU DE DONNEES. L'invention concerne un procédé d'affichage d'un tableau de données régulier dans une fenêtre affichée en mode normal à l'écran. Par régulier, on entend que chaque cellule du tableau présente la même largeur que la colonne à laquelle elle appartient et, la même hauteur que la ligne à laquelle elle appartient. Par affichage en mode normal, il faut comprendre que la position et les dimensions de la fenêtre sont libres, dans la limite donnée par la taille de l'écran. L'invention s'applique en particulier à un tableau qui utilise la totalité de l'espace disponible dans la fenêtre. Lorsque le contenu d'une cellule (texte, nombre, etc.) est plus grand que les dimensions de la cellule elle-même (celles-ci dépendant des dimensions de sa colonne et de sa ligne), il est possible que ce contenu soit occulté par la cellule adjacente. Ainsi, pour s'assurer que la totalité des contenus des cellules du tableau présente dans la fenêtre est visible par l'utilisateur, il est utile de pouvoir redimensionner une colonne à la largeur maximale du contenu des cellules du tableau et/ou la hauteur d'une ligne à la hauteur maximale du contenu des cellules de ce même tableau. Considérons l'exemple d'un grand tableau dont la largeur totale excède la largeur de la fenêtre d'affichage. Une solution existante vise à redimensionner la colonne en fonction de la largeur maximale du contenu de toutes les cellules du tableau appartenant à cette colonne, indépendamment du fait qu'elles fassent partie de la fenêtre (visible par l'utilisateur) ou non (pas visible par l'utilisateur. Ceci présente plusieurs inconvénients. Ainsi, cette solution pose un problème d'utilisation de l'espace. Par exemple, si seules les 10 premières lignes du tableau sont affichées dans la fenêtre et qu'elles ne contiennent que des cellules de 10 caractères au plus mais que la 1000eme ligne (qui n'est pas visible dans la fenêtre) contient des cellules de 100 caractères, on est obligé de redimensionner les colonnes pour pouvoir contenir 100 caractères. Par suite, tant que la dernière ligne n'est pas visible, 90% de l'espace occupé par la fenêtre est vide et donc perdu. De plus, si le tableau est très long, le temps nécessaire pour 5 que l'utilisateur effectue le redimensionnement de la colonne peut s'avérer non négligeable. Une autre solution viserait à redimensionner la colonne uniquement en fonction de la largeur maximale du contenu des cellules faisant partie de la fenêtre. 10 Dans ce cas, l'utilisation de l'espace serait optimale dans la mesure où l'on ne tient pas compte de cellules non visibles dans la fenêtre, ces cellules étant potentiellement plus larges que celles qui sont visibles dans la fenêtre. Par rapport à la solution précédente, on éviterait ainsi la perte 15 de place pour l'affichage. De plus, on limiterait le temps nécessaire à l'utilisateur pour qu'il effectue le redimensionnement de la colonne concernée. Malheureusement, le redimensionnement ainsi effectué est caduque et doit être répété dès que d'autres cellules du tableau viennent à être affichées dans la fenêtre. 20 Cela peut arriver lorsque l'utilisateur modifie le contenu d'une cellule (action directe de l'utilisateur). Cela peut également arriver lorsque la fenêtre est munie d'un ascenseur vertical que l'utilisateur a déplacé (action indirecte de l'utilisateur). Cela peut encore arriver lorsque le contenu d'une cellule change d'elle-même, indépendamment de l'utilisateur, par exemple 25 une modification d'une date ou encore d'une cotation d'une valeur en bourse affichée dans la cellule. L'utilisateur doit alors effectuer un nouveau redimensionnement de la colonne concernée, ce qui peut vite devenir fastidieux. 30 Un objectif de l'invention est ainsi de proposer un procédé d'affichage d'un tableau de données régulier dans une fenêtre affichée en mode normal sur un écran ne présentant plus au moins l'un des inconvénients mentionnés ci-dessus. En particulier, un objectif de l'invention est de proposer un tel procédé d'affichage pour un tableau de données régulier qui utilise la totalité de l'espace disponible dans la fenêtre affichée en mode normal à l'écran. A cet effet, l'invention propose un procédé d'affichage d'un tableau de données, comportant au moins une cellule, sur un écran d'ordinateur, cet ordinateur étant également muni d'un processeur et d'un moyen de pointage, caractérisé en ce qu'il comprend l'exécution automatique sur l'ordinateur des étapes suivantes : (A) on détermine, dans un référentiel de l'écran (O', X, Y), la position du pointeur P du moyen de pointage ; (B) on identifie la fenêtre qui est disposée sous le pointeur P ; (C) on détermine, dans le référentiel de l'écran, la position (Xo,1 ;Yo,1) d'au moins un objet (0) appartenant à la fenêtre et situé sous le pointeur ; (D) on exécute au moins une action ajustant les dimensions d'au moins une cellule visible dans la fenêtre au contenu de cette cellule, cette action modifiant la position de l'objet (0) à l'écran; (E) on repositionne l'objet (0) dans la position qu'il avait avant l'étape (D). Le redimensionnement d'une ligne ou d'une colonne du tableau de données proposé par l'invention est ainsi effectué automatiquement. Par automatique, il faut comprendre que le redimensionnement s'effectue sans l'intervention de l'utilisateur et ce, contrairement aux solutions existantes. Grâce à celui-ci, l'ensemble du contenu des cellules du tableau présentes dans la fenêtre est visible par l'utilisateur, sans que ce dernier n'ait à intervenir. Le redimensionnement automatique mis en oeuvre par l'invention a cependant pour effet de modifier les dimensions de la fenêtre affichée en mode normal à l'écran et/ou la position de cette fenêtre sur l'écran et/ou de cellules à l'intérieur de la fenêtre. Pour cette raison, l'invention propose également de repositionner automatiquement la fenêtre sur l'écran. L'utilisateur n'est donc pas gêné par le redimensionnement automatique effectué. En particulier, la position relative d'un pointeur, par exemple un pointeur de souris, par rapport au tableau ne change pas, malgré la 5 modification des dimensions de la fenêtre affichée en mode normal à l'écran et/ou la position de cette fenêtre sur l'écran. On évite ainsi que l'utilisateur vienne à pointer dans le vide ou sur une cellule du tableau sur laquelle il n'avait envisagé aucune action avant le redimensionnement automatique. 10 Le procédé selon l'invention pourra également présenter l'une au moins des caractéristiques suivantes, prise seule ou en combinaison: • l'étape (C) comprend les sous-étapes suivantes : (CI) on identifie le plus petit objet (0) appartenant à la fenêtre ; (C2) on détermine les coordonnées du plus petit rectangle englobant cet objet 15 (0), dans le référentiel (O', X, Y) de l'écran ; (C3) on détermine si les coordonnées du pointeur (Xp, Yp) dans le référentiel (O', X, Y) de l'écran vérifient les relations XBG Xp L'invention sera mieux comprise et d'autres buts, avantages et caractéristiques de celle-ci apparaîtront plus clairement à la lecture de la description qui suit et qui est faite au regard des dessins annexés, sur lesquels : - la figure 1 représente un tableau de données comportant plusieurs cellules affichées sur un écran, ce tableau étant destiné à être traité par le procédé selon l'invention ; - la figure 2 représente la cellule de la figure 1, à l'issue d'une étape intermédiaire du procédé selon l'invention ; - la figure 3 représente la cellule de la figure 1, après traitement par le procédé selon l'invention. Les moyens nécessaires pour la mise en oeuvre du procédé selon l'invention peuvent comprendre un ordinateur muni d'un processeur, d'une mémoire, d'un écran d'affichage et d'un moyen de pointage tel qu'une souris. Le moyen de pointage peut être une souris pour un ordinateur fixe. Il peut également se présenter sous la forme d'une surface tactile connectée à l'écran, le déplacement du doigt de l'utilisateur sur cette surface tactile permettant le déplacement du pointeur sur une fenêtre affichée à l'écran. Il peut encore se présenter sous la forme d'un écran tactile. Le pointeur P du moyen de pointage est représenté sur les figures annexées. Le procédé selon l'invention vise à afficher un tableau 1 de données, comportant au moins une cellule 2, sur l'écran dans la fenêtre 31 de 25 l'écran 3 de l'ordinateur décrit ci-dessus. Ce procédé comprend les étapes principales (A) à (D) qui suivent. Ces étapes s'effectuent automatiquement. Comme mentionné précédemment on entend par automatique le fait que le redimensionnement s'effectue sans l'intervention de l'utilisateur et ce, contrairement aux solutions 30 existantes. Lors d'une étape (A), on détermine, dans un référentiel (O', X, Y) de l'écran 3, les coordonnées (Xp, Yp) du pointeur P. De manière connue de l'homme du métier, ceci s'effectue en faisant appel à une fonction spécifique du système d'exploitation de l'ordinateur. On identifie alors, lors d'une étape (B), la fenêtre 31 qui est disposée au-dessous du pointeur P, au premier plan sur l'écran 3. On détermine ensuite, lors d'une étape (C) la position (X0,1 ;Y0,1), dans le référentiel de l'écran, d'au moins un objet O appartenant à la fenêtre et situé sous le pointeur. Pour cela, l'étape (C) comprend les sous-étapes suivantes : 10 (CI) on identifie le plus petit objet (0) appartenant à la fenêtre. (C2) on détermine les coordonnées du plus petit rectangle englobant cet objet, dans le référentiel (O', X, Y) de l'écran. Les coordonnées de ce rectangle dans le référentiel de l'écran peuvent par exemple être déterminées à partir des coordonnées du coin situé en bas 15 à gauche (XBG, YBG) de ce rectangle, de l'abscisse du coin situé en bas à droite (XBD) de ce rectangle et, de l'ordonnée du coin situé en haut à gauche (YHG) de ce rectangle. L'homme du métier comprendra que les coordonnées de ce rectangle peuvent être déterminées avec d'autres mesures. 20 (C3) on détermine ensuite si les coordonnées du pointeur (Xp, Yp) dans le référentiel (O', X, Y) de l'écran vérifient les relations XBG Xp XBD et YBG Ces itérations s'arrêtent lorsque les sous-étapes (CI) à (C3) ont été réalisées pour le plus grand objet situé au-dessous du pointeur, à savoir la fenêtre elle-même. Par ce biais, on comprend qu'on choisit de préférence le plus petit objet O contenu dans la fenêtre. Ce plus petit objet peut ainsi être un caractère contenu dans la cellule, comme par exemple un chiffre, une lettre ou encore un signe. Puis, on remonte à un objet plus grand, par exemple la cellule elle-même. Enfin, on termine par le plus grand objet possible, à savoir la 10 fenêtre elle-même. Ainsi, si l'objet O choisi à l'issue de l'étape (C) est un chiffre de la cellule qui disparaît lors du traitement effectué à l'étape (D), il est possible de choisir un nouvel objet, par exemple la cellule. De manière similaire, si l'objet O choisi à l'issue de l'étape (C) est la cellule et que celle-ci 15 disparaît lors du traitement effectué à l'étape (D), il est alors possible de choisir un nouvel objet, par exemple la fenêtre. A l'issue de l'étape (C), le procédé consiste alors à exécuter, lors d'une étape (D), au moins une action ajustant les dimensions d'au moins une cellule visible dans la fenêtre au contenu de cette cellule, cette action 20 modifiant la position de l'objet (0) à l'écran. Par exemple, l'étape (D) peut consister à redimensionner un tableau présentant des cellules ayant toutes initialement les mêmes dimensions, comme représenté sur la figure 1. Plus précisément, le tableau représenté sur la figure 1 comprend un texte ABCDEFGHIJKL dans la colonne 1, ligne 3 25 et le même texte, selon la même police, dans la colonne 2, ligne 1. La cellule située colonne, ligne 1 du tableau comprend par ailleurs un objet situé sous le pointeur, cet objet étant la lettre majuscule I. Le redimensionnement peut consister à agrandir la largeur de l'ensemble des cellules visibles de la première colonne du tableau et/ou à 30 agrandir la hauteur de l'ensemble des cellules visibles de la première ligne du tableau, comme représenté sur les figures 2 et 3. 2957431 i0 Ceci est par exemple effectué si l'on souhaite afficher le texte ABCDEFGHIJKLMN dans la colonne 1, ligne 3 en conservant là même police et, si l'on souhaite concomitamment afficher le texte ABC dans la colonne 2, ligne 1 du tableau dans une plus grande police. 5 Dans ce cas, la colonne 1 du tableau visible dans la fenêtre présente une largeur distincte à l'issue de l'étape (D). De même, la ligne de ce tableau présente une hauteur distincte à l'issue de l'étape (D). Cette action est initiée automatiquement par l'ordinateur. Elle peut cependant faire suite à une action préalable de l'utilisateur, par exemple parce qu'il a fait défiler le tableau affiché si bien qu'une partie de ce tableau ne se retrouve plus visible à l'écran. En variante, cette action peut être initiée sans action préalable de l'utilisateur. Par exemple, si la cellule affiche une heure ou une date, il se peut que celle-ci soit amenée à être redimensionnée automatiquement et sans action préalable de l'utilisateur, lorsque l'heure ou la date change. La figure 2 représente le tableau 1 de données de la figure 1 obtenu à l'issue de l'étape (D). Cette étape (D) consiste en l'occurrence à agrandir la largeur de la première colonne du tableau, comme mentionné ci-dessus. On notera que les cellules visibles du tableau de données occupent toute la place laissée par la fenêtre 31. Comme on peut le constater sur cette figure 2, la position de l'objet O dans le référentiel de l'écran a été modifiée lors de l'étape (D), les coordonnées de cet objet s'écrivant désormais (X0,2; Yo,2). On note par ailleurs que la position du pointeur P du moyen de pointage n'a pas changée lors de cette étape (D), la gestion de ce pointeur étant différente de celle de l'affichage du tableau 1 de données. Puis, lors d'une étape (E), on repositionne l'objet (0) dans la 30 position qu'il avait avant l'étape (D), comme représenté sur la figure 2. Au cours de l'étape (E), on détermine, dans le référentiel de l'écran, les coordonnées d'un vecteur déplacement (LX, AY) par les relations : LX = Xo,1 ù Xo,2 et LY = Yo,i ù Yo,2 afin de repositionner l'objet (0) dans la position qu'il avait avant l'étape (D). On affiche enfin le tableau de données à l'écran 3, comme représenté sur la figure 3. Entre les étapes (C) et (D), on détermine, lors d'une étape (d), la position relative (xo,1 ; yo,i) de l'objet (0) dans un référentiel de la fenêtre (O", x, y), à partir de sa position déterminée à l'étape (C) dans le référentiel de l'écran. Plus précisément, l'étape (d) peut comprendre les sous-étapes suivantes : (di) on détermine, dans le référentiel de l'écran, la position (Xo',,1 ; Yo,,,1) de l'origine O" du référentiel de la fenêtre; (d2) on détermine la largeur Il et la hauteur hi de la cellule ; (d3) on détermine, dans le référentiel de la fenêtre, la position relative 15 (xo,1 ; yo,i) de l'objet par les relations : xo,1 = (Xo,1 ù Xo»,1)/l1 et yo,i = (Yo,i ù Yo.. I)/hi. L'étape (d) comprendra, de préférence, une étape additionnelle dans laquelle on détermine la position relative (x'o,1 ; y'o,i) de l'objet (0) dans le référentiel de la cellule, à partir de sa position déterminée à 20 l'étape (c) dans le référentiel de l'écran. Ceci est notamment intéressant lorsque le plus petit objet obtenu à l'issue de l'étape (C) est un caractère contenu dans une cellule. La position de ce caractère peut ainsi être exprimée dans le référentiel de la cellule à laquelle il appartient. 25 Plus précisément, cette étape additionnelle comprend les sous-étapes suivantes : - on détermine, dans le référentiel de l'écran, la position de l'origine (Xo»,1 ; Yo,u,1) du référentiel de la cellule ; - on détermine la largeur Il et la hauteur hl de la cellule; 30 - on détermine, dans le référentiel de la cellule, la position relative (x'o,i ; y'o,i) de l'objet par les relations : x'o,i = (Xo,1 ù Xo",I)/li et y'o,i = (Yo,i ù Comme on l'aura compris, on déterminera, de préférence, la position relative de l'objet à la fois dans le référentiel de la cellule et dans le référentiel de la fenêtre. Ainsi, si la cellule dans laquelle se situe l'objet O n'est pas amenée à disparaître lors de l'étape (D), on préférera utiliser le référentiel de la cellule dans les étapes subséquentes à l'étape (D) pour des questions de précision de repositionnement de l'objet O par rapport au pointeur de la souris à l'issue du procédé. Et si cette cellule est amenée à disparaître lors de l'étape (D), alors il 10 sera toujours possible d'utiliser le référentiel de la fenêtre. L'origine O" du référentiel (O", x, y) de la fenêtre dont la position est déterminée à l'étape (dl) peut être un coin de cette fenêtre, par exemple celui représenté sur les figures annexées. En variante, on pourrait cependant choisir une autre origine pour ce référentiel. 15 Des remarques similaires peuvent être faites pour l'origine O" du référentiel (O"', x, y) de la cellule. Il faut noter que les sous-étapes de l'étape (d) additionnelle susceptibles d'être effectuées dans le référentiel de la cellule présentent un intérêt lorsque l'objet O déterminé à l'étape (C) n'est pas un caractère 20 contenu dans la cellule sous forme justifiée. Ce caractère peut par exemple être un chiffre, une lettre ou encore un signe. Par forme justifiée, il faut comprendre que le caractère peut être justifié à droite, à gauche, centré ou tout simplement justifié dans la cellule. Dans ce cas, on peut effectivement utiliser la position relative de l'objet 25 dans le référentiel de la cellule afin de retrouver l'objet dans la même position relative à l'issue du procédé selon l'invention. A contrario, elles ne présentent aucun intérêt lorsque l'objet O déterminé à l'étape (C) est un caractère contenu dans la cellule sous forme justifiée. 30 En effet, lorsque l'objet O déterminé à l'étape (C) est un caractère contenu dans la cellule sous forme justifiée, il est alors préférable d'utiliser la position « absolue » de l'objet 0 dans le référentiel de la cellule. En effet, cette approche permet alors de repositionner l'objet sous le pointeur, ce qui n'est pas le cas avec l'approche basée sur la position relative de l'objet par rapport à la cellule ou, selon le cas, par rapport à la fenêtre. Dans ce cas, l'étape (d) pourra comprendre une sous-étape dans laquelle on détermine le nombre de pixels entre l'objet O et un bord de la cellule dans laquelle l'objet O se situe, le choix de ce bord de la cellule dépendant de la nature de la justification. Par exemple, si l'objet O est justifié à gauche, alors on choisira le bord gauche de la cellule. Ce nombre de pixels pourra alors être pris en compte au cours de l'étape (f), comme ceci est expliqué par la suite. On notera que l'ensemble des coordonnées et distances impliquées dans les étapes décrites ci-dessus du procédé sont représentées sur la figure 1. Par ailleurs, entre les étapes (D) et (E), on peut déterminer, lors d'une étape (f), la position (X0,2; Yo,2) modifiée de l'objet O dans le référentiel de l'écran, au moins à partir de sa position relative déterminée à l'étape (d) dans le référentiel de la fenêtre. Plus précisément, l'étape (f) comprend les sous-étapes 20 suivantes : - on détermine, dans le référentiel de l'écran 3, la position modifiée (Xo",2 ; Yo'',2) de l'origine du référentiel de la fenêtre ; - on détermine la largeur L2 modifiée et la hauteur H2 modifiée de la fenêtre ; 25 - on détermine, dans le référentiel de l'écran, la position (Xo,2, Yo,2) modifiée de l'objet par les relations : Xo,2 = Xo",2 + xo,1*L2 et Yo,2 = Yo»,2 + Yo,I *L2. Par ailleurs, lorsque l'on a également déterminé la position relative (x'o,1 ; y'o,i) de l'objet O dans le référentiel de la cellule lors de l'étape 30 (d) additionnelle, l'étape (f) comprendra également une étape additionnelle dans laquelle on détermine, dans le référentiel de l'écran, la position (Xo,2 ; Yo,2) modifiée de l'objet (0), à partir de sa position relative déterminée lors de l'étape (d) additionnelle dans le référentiel de la cellule. Dans ce cas, l'étape additionnelle de l'étape (f) comprend les sous-étapes suivantes : - on détermine, dans le référentiel de l'écran, la position modifiée (Xo°',2 ; Yo,.,,2) de l'origine du référentiel de la cellule ; - on détermine la largeur I2 modifiée et la hauteur h2 modifiée de la cellule; - on détermine, dans le référentiel de l'écran, la position (Xo,2, Yo,2) 10 modifiée de l'objet par les relations : X0,2 = Xo,.',2 + x'o,i*12 et Y0,2 = Yo''',2 + y'o,I*h2. Dans le cadre de l'invention, on effectuera de préférence le calcul des coordonnées (Xo,2 ; Y0,2) à la fois à partir du référentiel de la cellule et du référentiel de l'écran. 15 En particulier, si le plus petit objet obtenu à l'issue de l'étape (C) est un caractère compris dans la cellule, qu'on retrouve à l'issue de l'étape (D), alors on préférera utiliser le référentiel de la cellule, pour les raisons déjà mentionnées précédemment. Et si cet objet a disparu lors de l'étape (D), alors on prend en 20 considération un plus grand objet, par exemple la cellule elle-même, dont on exprimera alors la position relative dans le référentiel de la fenêtre. On voit ici l'intérêt de la mise en oeuvre des étapes (CI) à (C4), visant à hiérarchiser les objets de la fenêtre du plus petit au plus grand. En effet, lors de l'étape (f), on cherche de préférence à retrouver le plus petit 25 objet obtenu à l'issue de l'étape (C) et si on ne le retrouve pas, alors on cherche à retrouver un objet plus grand et ainsi de suite jusqu'à ce qu'on retrouve un objet qui n'a pas été supprimé au cours de l'étape (E). De préférence, l'étape (f), effectuée entre les étapes (D) et (E), est comme suit: 30 (f) on détermine, dans le référentiel de l'écran, la position (Xo,2 ; Yo,2) modifiée de l'objet (0), à partir de sa position relative déterminée à l'étape (d) selon les sous-étapes suivantes : - on identifie le plus petit objet obtenu à l'issue de la mise en oeuvre des étapes (CI) à (C4) qui n'a pas été supprimé lors de l'étape (D); et - si cet objet présente une dimension inférieure à celle de la cellule, alors on détermine la position relative de l'objet dans le référentiel de la cellule ; et - si cet objet présente une dimension supérieure à celle de la cellule, alors on détermine la position relative de l'objet dans le référentiel de la fenêtre. En variante, lorsque l'objet (0) déterminé à l'étape (C) est un io caractère contenu dans la cellule sous forme justifiée, alors on disposera ce caractère au nombre n de pixels déterminé précédemment, qu'on ajoutera à partir du bord de la cellule, précédemment choisi en fonction de la nature de la justification. Dans l'exemple fourni précédemment, il s'agit du bord gauche de la cellule. 15 On comprend que les étapes (A) à (C), ainsi que l'étape (d) doivent être effectuées avant l'étape (D). En effet, si tel n'était pas le cas, alors la position initiale (Xo,1 ;Yo,1) de l'objet O dans le référentiel de l'écran ne pourrait pas être déterminée. Il est donc possible de mémoriser les données fournies lors 20 de ces étapes (A) à (C) et le cas échéant (d). Puis, si l'étape (D) est exécutée alors il est possible d'engager les autres étapes du procédé. II est également possible d'attendre une action ajustant les dimensions d'au moins une cellule visible à l'écran à son contenu. Celle-ci est alors mémorisée, puis les étapes (A) à (C) et (d) du procédé peuvent être 25 exécutées à partir de l'action mémorisée, avant l'exécution proprement dite de l'étape (D). Dans ce cas, on mémorise donc au moins une action ajustant les dimensions d'au moins une cellule visible à l'écran à son contenu, préalablement à l'étape (A). 30 Ceci est particulièrement intéressant lorsque cette action s'effectue automatiquement, sans action préalable de l'utilisateur, par exemple un changement d'heure ou de date. Comme cela peut être constaté en comparant les figures 1 et 3, le pointeur P du moyen de pointage reste automatiquement dans une même position relative par rapport à l'objet O. Par suite, l'utilisateur peut répéter plusieurs fois de suite une 5 même opération sans avoir à déplacer celui-ci, en raison de l'invariance du positionnement relatif du pointeur par rapport à l'objet O. De même, si une action modifiant les dimensions de la cellule identifiée à l'étape (A) du procédé selon l'invention s'effectue automatiquement, la modification de la cellule ne perturbe pas l'utilisateur 10 dans la mesure où le point de focalisation de ses yeux, en général le pointeur, est invariant par rapport à cette cellule. Il faut enfin noter que la fenêtre pourra disposer d'ascenseurs de façon à faire défiler son contenu horizontalement si le tableau est plus large que la fenêtre et/ou verticalement si celui-ci est plus long que la fenêtre. 15 De façon optionnelle, la fenêtre pourra disposer d'un ou plusieurs volets horizontaux si le tableau est plus long que la fenêtre et/ou d'un ou plusieurs volets verticaux si le tableau est plus large que la fenêtre. Ainsi, ou pourra par exemple afficher de façon contiguë les lignes 1 à 3 puis 1000 à 1006 (un volet) du tableau si la fenêtre ne dispose 20 que de l'espace nécessaire pour 10 lignes, la position de l'ascenseur affectant les lignes 1000 à 1006 (qui peuvent par exemple devenir 1001 à 1007, 1002 à 1008, etc.) sans affecter les lignes 1 à 3 qui demeurent affichées en permanence. De la même façon, avec deux volets horizontaux, on pourra 25 par exemple afficher un tableau d'un million de lignes en ne gardant dans la fenêtre que les lignes 1 à 3 puis 100 à 103 et 999 998 à 1 000 000 par exemple. Ainsi les 3 premières et les 3 dernières lignes sont toujours visibles dans la fenêtre ainsi qu'un certain nombre de lignes du milieu du tableau à concurrence de la place disponible dans la fenêtre. 30 Tout ce qui vient d'être dit pour des volets horizontaux fonctionne de la même façon pour des volets verticaux si l'on remplace `ligne' par 'colonne'. REVENDICATIONS1. Procédé d'affichage d'un tableau (1) de données, comportant au s moins une cellule (2), sur un écran (3) d'ordinateur, cet ordinateur étant également muni d'un processeur et d'un moyen de pointage, caractérisé en ce qu'il comprend l'exécution automatique sur l'ordinateur des étapes suivantes : (A) on détermine, dans un référentiel de l'écran (O', X, Y), la position du lo pointeur P du moyen de pointage ; (B) on identifie la fenêtre qui est disposée sous le pointeur P ; (C) on détermine, dans le référentiel de l'écran, la position (Xo,1 ;Yo,1) d'au moins un objet (0) appartenant à la fenêtre et situé sous le pointeur ; 1s (D) on exécute au moins une action ajustant les dimensions d'au moins une cellule visible dans la fenêtre au contenu de cette cellule, cette action modifiant la position de l'objet (0) à l'écran; (E) on repositionne l'objet (0) dans la position qu'il avait avant l'étape (D). 20 2. Procédé selon la revendication 1, dans lequel l'étape (c) comprend les sous-étapes suivantes : (CI) on identifie le plus petit objet (0) appartenant à la fenêtre ; (C2) on détermine les coordonnées du plus petit rectangle englobant cet 25 objet (0), dans le référentiel (O', X, Y) de l'écran ; (C3) on détermine si les coordonnées du pointeur (Xp, Yp) dans le référentiel (O', X, Y) de l'écran vérifient les relations XBG Xp XBD et YBG Yp YHG;et (C4) on réitère les sous-étapes (CI) à (C4) avec l'identification d'un objet, 30 lors de la sous-étape (CI), plus grand que le précédent et ce, jusqu'à ce que les sous-étapes (CI) à (C3) aient été réalisées pour le plus grand objet de la fenêtre, à savoir la fenêtre elle-même. 3. Procédé selon l'une des revendications précédentes, dans lequel, au cours de l'étape (E), on détermine, dans le référentiel de l'écran, les coordonnées d'un vecteur déplacement (EX, AY) par les relations : OX = Xo,l û Xo,2 et LY = Yo,1 û Yo,2 afin de repositionner l'objet (0) dans la position qu'il avait avant l'étape (D). 4. Procédé selon l'une des revendications précédentes, dans lequel, entre les étapes (C) et (D), on effectue l'étape suivante : (d) on détermine, au moins dans le référentiel de la fenêtre (O", x, y), la lo position relative (xo,1 ; yo,i) de l'objet (0), à partir de sa position déterminée à l'étape (C) dans le référentiel de l'écran. 5. Procédé selon la revendication précédente, dans lequel l'étape (d) comprend les sous-étapes suivantes : 15 (di) on détermine, dans le référentiel de l'écran, la position (Xo'.,1 ; Yo.,,1) de l'origine du référentiel de la fenêtre ; (d2) on détermine la largeur LI et la hauteur H~ de la fenêtre ; (d3) on détermine, dans le référentiel de la fenêtre, la position relative (xo,1 ; yo,i) de l'objet par les relations : xo,l = (Xo,1 û Xo,,,i)/L1 et yo,i = (Yo,1 û 20 Yo,,,1)/H1. 6. Procédé selon l'une des revendications 4 ou 5, dans lequel l'étape (d) comprend une étape additionnelle dans laquelle on détermine la position relative (x'o,1 ; y'o,1) de l'objet (0) dans le référentiel de la cellule, à 25 partir de sa position déterminée à l'étape (C) dans le référentiel de l'écran. 7. Procédé selon la revendication précédente, dans lequel cette étape additionnelle comprend les sous-étapes suivantes : - on détermine, dans le référentiel de l'écran, la position de l'origine 30 (Xo,,,,1 ; Yo-,1) du référentiel de la cellule ; - on détermine la largeur Il et la hauteur hi de la cellule;- on détermine, dans le référentiel de la cellule, la position relative (x'o,1 ; y'o,i) de l'objet par les relations : x'o,l = (Xo,1 û et y'o,i = (Yo,1 û Yo,,, 1 )/h 1 . 8. Procédé selon l'une des revendications 4 ou 5, dans lequel, lorsque l'objet (0) déterminé à l'étape (C) est un caractère contenu dans la cellule sous forme justifiée, alors l'étape (d) comprend une sous-étape dans laquelle on détermine le nombre n de pixels entre l'objet (0) et un bord d'une cellule, le choix de ce bord de la cellule dépendant de la nature de la lo justification. 9. Procédé selon l'une des revendications 4 à 7, dans lequel, entre les étapes (D) et (E), on effectue l'étape suivante : (f) on détermine, dans le référentiel de l'écran, la position (Xo,2 ; Yo,2) 15 modifiée de l'objet (0), à partir de sa position relative (xo,1 ; yo,i) déterminée à l'étape (d) au moins dans le référentiel de la fenêtre. 10. Procédé selon la revendication précédente, dans lequel l'étape (f) comprend les sous-étapes suivantes : 20 - on détermine, dans le référentiel de l'écran, la position modifiée (Xo",2 ; Yo°,2) de l'origine du référentiel de la fenêtre ; - on détermine la largeur L2 modifiée et la hauteur H2 modifiée de la fenêtre; - on détermine, dans le référentiel de l'écran, la position (Xo,2, Yo,2) 25 modifiée de l'objet par les relations : Xo,2 = Xo°,2 + xo,1*L2 et Y0,2 = Yo'°,2 + Yo,1*H2. 11. Procédé selon l'une des revendications 9 ou 10, dans lequel l'étape (f) comprend une étape additionnelle dans laquelle on détermine, dans 30 le référentiel de l'écran, la position (Xo,2 ; Yo,2) modifiée de l'objet (0), à partir de sa position relative déterminée lors de l'étape (d) additionnelle dans le référentiel de la cellule. 12. Procédé selon la revendication précédente, dans lequel l'étape additionnelle de l'étape (f) comprend les sous-étapes suivantes : - on détermine, dans le référentiel de l'écran, la position modifiée (Xo»,2 ; Yo''',2) de l'origine du référentiel de la cellule ; - on détermine la largeur 12 modifiée et la hauteur h2 modifiée de la cellule; - on détermine, dans le référentiel de l'écran, la position (X0,2, Yo,2) modifiée de l'objet par les relations : X0,2 = Xo'°,2 + X'o,1*12 et Y0,2 = YO''',2 + y'o,,*h2. 13. Procédé selon l'une des revendications 4 à 7, dans lequel, entre les étapes (D) et (E), on effectue l'étape suivante : (f) on détermine, dans le référentiel de l'écran, la position (X0,2 ; Y0,2) modifiée de l'objet (0), à partir de sa position relative déterminée à l'étape (d) selon les sous-étapes suivantes : - on identifie le plus petit objet obtenu à l'issue de la mise en oeuvre des étapes (CI) à (C4) qui n'a pas été supprimé lors de l'étape (D); et - si cet objet présente une dimension inférieure à celle de la cellule, alors on détermine la position relative de l'objet dans le référentiel de la cellule ; et - si cet objet présente une dimension supérieure à celle de la cellule, alors on détermine la position relative de l'objet dans le référentiel de la fenêtre. 14. Procédé selon l'une des revendications précédentes, dans lequel on mémorise au moins une action ajustant les dimensions d'au moins une cellule visible à l'écran à son contenu, préalablement à l'étape (A). 15. Produit programme d'ordinateur comprenant des instructions de code de programme pour la mise en oeuvre d'un procédé d'affichage d'un tableau de données selon l'une des revendications précédentes.