Utilisation des zones nommées comme source d'une liste déroulante

Bonjour
Dans le cadre de l'utilisation des zones nommées comme source d'une liste déroulante dans LO Calc ( dans le cas où cette source peut être augmentée ),
si une colonne entière est nommée comme source de cette liste LO (4.0.3.3) plante (borne maxi à 1048576).
Il est nécessaire dans ce cas de donner un nom à toute la colonne mais dans la gestion du nom, avant de l'utiliser comme source, de modifier la borne maximum à environ 100000 lignes (ça en fait déjà pas mal)
Cette manip ne plante pas et évite de faire défiler les lignes.
Cordialement

Bonjour,

Blanchard Michel wrote

Bonjour
Dans le cadre de l'utilisation des zones nommées comme source d'une
liste déroulante dans LO Calc ( dans le cas où cette source peut être
augmentée ),
si une colonne entière est nommée comme source de cette liste LO
(4.0.3.3) plante (borne maxi à 1048576).
Il est nécessaire dans ce cas de donner un nom à toute la colonne mais
dans la gestion du nom, avant de l'utiliser comme source, de modifier la
borne maximum à environ 100000 lignes (ça en fait déjà pas mal)
Cette manip ne plante pas et évite de faire défiler les lignes.
Cordialement
--
Michel*BLANCHARD*

L'affichage de la liste (clic sur le menu déroulant ou Alt+↓) est de toute
façon limité.
La limite dans OOo et les anciennes versions était de 2^14 items (16384),
cette limite dans les dernières versions est plus élevée :
J'arrive à 34464 items sans savoir si cette limite est fixe ou variable
selon la mémoire dont on dispose.

Une telle longueur est de toute façon peu pratique voire inutile.

Gérard

Bonjour

Gérard Fargeot wrote

Une telle longueur est de toute façon peu pratique voire inutile.

+1 :slight_smile:

Gérard Fargeot wrote

L'affichage de la liste (clic sur le menu déroulant ou Alt+↓) est de toute
façon limité.
La limite dans OOo et les anciennes versions était de 2^14 items (16384),
cette limite dans les dernières versions est plus élevée :
J'arrive à 34464 items sans savoir si cette limite est fixe ou variable
selon la mémoire dont on dispose.

Un essai rapide sur XP Version 4.0.4.1 et 50000 items sans problème...
Je ne teste pas plus loin vu mon +1 ci-dessus :slight_smile:

Dans le même ordre d'idées on peut créer un nom utilisateur
retournant la plage *effectivement* présente plutôt que
de fixer a priori une taille de plage.

Par exemple, si les données source sont en colonne A on peut
créer un "nom" SourcePlage faisant référence à:

DECALER($A$1;0;0;NBVAL($A$1:$A$100000))

et fonder la liste déroulante sur SourcePlage.

C'est en tout cas avec cette technique que j'arrive à lister
50000 items sans problème.

Cordialement
Pierre-Yves

Au-delà disons de 50 à 100 items (et encore, c'est beaucoup), on a peut-être intérêt à trouver une autre solution. C'est justement l'intérêt de ces listes de proposer un nombre de choix limité.
C'est comme le nombre de cellules d'un tableau, c'est bien de savoir qu'on peut en avoir plein, mais je ne connais pas encore une seul exemple où il ait été nécessaire d'utiliser *toutes* les cellules.

En n'inscrivant qu'un octet par cellule sur une feuille de 1048576 * 1024, cela ferait un gigaoctet. Ça justifie une base de données.

Je ne suis pas *débile* au point de construire une liste déroulante sur 1 million d'item !
Ce que j'indique c'est que lors d'une récupération d'un *fichier Excel sous LO*, où la pratique de dénomination d'une colonne permettant d'avoir des ajouts ou des modifications sans avoir à modifier les coordonnées de la source, ne pose pas de problème, la liste déroulante plante, c'est tout.