Comment lier dynamiquement plusieurs cellules d'un classeur à une plage nommée d'un autre classeur?

Dans LibreOffice Calc, il ne semble pas possible de lier dynamiquement une cellule [d’un classeur destination] à une plage nommée de cellules se trouvant dans un autre classeur [source] de manière à offrir une liste déroulante et une validation de la valeur entrée dans une cellule du classeur destination, ce qui est possible lorsque la cellule et la plage nommée se trouvent tous deux dans le même classeur.

Le but est que la plage nommée soit utilisée par plusieurs autres classeurs et puisse être modifiée indépendament de ces derniers, en ajoutant ou supprimant des éléments à celle-ci.

J’ai exploré le collage avec lien et l’utilisation de la fonction DDE sans succès, car ces méthodes ne supportent pas l’uttilisation d’une plage nommée.

Y a-t-il une méthode pour obtenir cette fonctionnalité?
A-t-on prévu ajouter cette fonctionnalité dans une prochaine version du logiciel?

Après plus de cinq mois sans réponse, il semble bien qu’il ne soit pas possible même avec la plus récente version de Calc de valider, en offrant aussi une liste déroulante, une cellule (ou plusieurs cellules) d’un classeur [destination] avec une plage nommée se trouvant dans un autre classeur [source].

une solution possible en passant par l’intermédiarie d’une copie liée => Feuille => Liens externes …
Capture du 2024-01-17 13-58-42
pour ensuite référencer cette plage locale dans la validation.

(insipiré du débat ici :
Referencing named ranges in other files - #2 by Villeroy )

J’ai déjà expérimenté cette possibilité. Malheureusement, le nom de la plage externe (fichier source) ne peut être utilisé pour valider la donnée entrée dans une cellule du fichier destination (comme on peut le faire lorsque la cellule et la plage de données sont dans le même fichier). Avec cette « solution possible », on peut:

  • lier [plus ou moins] dynamiquement le fichier destination à une plage nommée d’un fichier source ou
  • copier cette plage de données dans le fichier destination.
    Bien que le lien [dynamique] permet de mettre à jour la plage liée [du fichier destination] à intervalle régulier (déterminé par l’utilisateur) ou lorsque demandé (F9):
  1. tout changement du nombre d’éléments de la plage [dans le fichier source] ne se reflète pas correctement dans le fichier destination (s’il y a moins d’éléments, le nombre d’éléments dans le fichier destination demeure le même, occasionnant des éléments en trop à fin de la plage, souvent des doublons);
  2. on ne peut utiliser le nom de la plage [du fichier source] dans le le fichier destination (par exemple, pour valider la valeur entrée dans une cellule);
  • On peut nommer la plage liée dans le fichier destination (et utiliser ce nouveau nom), mais cette nouvelle plage nommée ne s’ajuste pas au nombre d’éléments de la plage dans le fichier source lorsque des éléments sont supprimés ou ajoutés.
    Avec le même problème du nombre d’éléments, il est plus simple d’utiliser dans le champ « Source » de la validation (menu Données > commande Validité…) le chemin complet vers la plage du fichier source; par exemple, « =‘file:///CheminComplet/NomFichier.ods’#$‘NomOnglet’.$A$2:$A$23 ». À chaque modification du nombre d’éléments dans la plage nommée du fichier source, il faut la plage de cellule (« $A$2:$A$23 »).

image.png

(pas sûr de bien comprendre le cas d’utilisation mais …) qu’est-ce qui empêcherait d’utiliser “$A:$A” ?

En aménageant légèrement ma feuille source, c’est-à-dire en supprimant ou déplaçant certaines informations (titre de la feuille, titre de la colonne, etc.) qui sont autrement inclus dans la liste de validité, cela réalise bien la fonctionnalité désirée.
Je n’avais pas songé à cette façon d’adresser la plage.

Mille mercis!