Date: prev next · Thread: first prev next last
2025 Archives by date, by thread · List index


Bonjour Monsieur,

Merci pour votre participation à cette liste.

Je me permets toutefois d’attirer votre attention sur un point :

le sujet que vous abordez dépasse le cadre habituel d’une 
liste d’entraide bénévole.

La nature de votre besoin relève d’un usage professionnel 
et nécessite, en conséquence, l’intervention d’un 
prestataire de service spécialisé.

Je vous remercie pour votre compréhension et vous 
souhaite une bonne journée.

Sincèrement,
Bernard Schœnacker


----- Achat Touzeau <achat@touzeau.nom.fr> a écrit :
Bonjour à tous,

et merci à Claire, Christian et Bernard pour leur réponse.
J'ai fait un petit fichier simplifié pour tenter d'expliciter le Bug : 
Il recopie le tableau de la feuille indiquée en B1

Une formule (dans la cellule L4C1 ou A4) est écrite  :

calc avec option mode Excel L1C1
     =INDIRECT("'"&R1C2&"'!$A"&LIGNE())

calc avec option mode Excel A1
     =INDIRECT("'"&$B$1&"'!$A"&LIGNE())

calc avec option mode Calc A1
     =INDIRECT("'"&$B$1&"'!$A"&LIGNE())

Les mêmes 3 fichiers ODS  exportés en xlsx  (format 365 - 2007) et 
ouvert dans Excel (2024) :

en xlsx mode Excel L1C1
     =@INDIRECT("'"&L1C2&"'!$A"&LIGNE())

en xlsx mode Excel A1
     =@INDIRECT("'"&$B$1&"'!$A"&LIGNE())

en xlsx mode Calc A1
     =@INDIRECT("'"&$B$1&"'!$A"&LIGNE())

(Oubliez le  "@" dans  =@INDIRECT..., ce serait une fonctionnalité 
récente d'Excel pour indiquer explicitement les "entrées" d'un tableau 
dynamique ; pour autant que je puisse comprendre...)

Donc, avec l'option Calc A1 ou Excel A1, exporter en xlsx ne change 
rien, la formule reste identique.
Mais avec l'option Excel L1C1, la référence change de R1C2 à L1C2.  Ce 
qui est ... correct !!!
Bref, le fonctionnement est normal ??

Je vais donc me pencher vers vos propositions, travailler avec Adresse, 
voire avec Index/Equiv, car comme vous l'indiquez, le fait de travailler 
avec des chaînes de caractères peut sans doute masquer des choses 
essentielles.

Merci à vous.

Pierre

Le 13/11/2025 à 03:49, Bernard Schoenacker a écrit :
Bonjour,

Le #REF! vient du fait que, dans une chaîne R1C1, Excel FR attend “L…C…” (Ligne/Colonne) alors 
que LibreOffice utilise “R…C…” (Row/Column). Ni Excel ni LO ne traduisent ces lettres à 
l’intérieur d’un texte à l’import/export, donc “R1C…” casse sous Excel FR, et “L1C…” casse sous 
LO.

Solution robuste : éviter d’écrire “R/L” en dur et générer l’adresse avec ADDRESS(), puis 
l’injecter dans INDIRECT(). Par ex. au lieu de ...'!$A"&LIGNE() :

Copier le code
=INDIRECT( ADDRESS(LIGNE(); 1; 3; 1; INDIRECT("_R1C_"&(COLONNE()+1); 0)) )
(3 = colonne absolue/ligne relative, 1 = style A1 portable).

Variante R1C1 portable :


Copier le code
=INDIRECT( ADDRESS(LIGNE(); 1; 3; 0; INDIRECT("_R1C_"&(COLONNE()+1); 0)) )
(0 = style R1C1 ; Excel écrira “L/C”, LO “R/C”).

On peut aussi remplacer INDIRECT() par INDEX()/EQUIV() selon le besoin, ce qui est plus rapide 
et plus fiable entre suites.

Réfs : discussions et docs sur la localisation R1C1 et INDIRECT()/ADDRESS() (Ask LO, MS Q&A).

Merci et bonne journée

Bernard Schœnacker


----- C Fourcroy <cfourcroy@free.fr> a écrit :
Oups, au temps pour moi, j'ai mal interprété la formule. Je ne vais pas
tarder à aller me coucher !
Le passage par une chaîne de caractères me semble quand même une piste à
creuser . et l'utilisation de ADRESSE pourrait peut être simplifier les
choses.

Le 13/11/2025 à 01:01, C Fourcroy a écrit :
Bonjour,

Il me semble qu'il manque quelque chose dans la formule : les offsets
en mode RC doivent être entre crochet sous Calc (R[1]C et non R1C).
(ça m'étonne même que cette formule fonctionne sous Calc qui n'accepte
pas de référence sous forme  R1C)
  Dans ce cas le passage de Calc à Excel et de RC à LC ne pose pas de
problème (NB  sous Excel l'offset est entre parenthèses)

Désolé, vue l'heure qu'il est ici ( 0:55), je n'ai pas le courage de
créer un tableau pouvant utiliser des INDRECT pour vérifier que cela
résoud le problème.  Cela vient peut être du fait qu'il faut passer
par des chaînes de caractères. L'utilisation de INDIRECT est-elle
vraiment indispensable ?

Bon courage et bonne chance.

Christian


Le 12/11/2025 à 17:58, Achat Touzeau a écrit :
Bonjour,

Je développe pour des amis une petite appli en L.O.Calc qui gèrent
des manifestation/évènements...
3 fichiers similaires avec une feuille par manifestation (nom=date de
la manif) et une feuille récap qui somment les différentes données de
chaque feuille. Tout va bien dans le monde LINUX/Xubuntu et L.O.

Malheureusement les amis sont dans le monde M$ et utilisent seulement
Excel (S.V.P : pas de troll, chacun est libre et c'est leur choix,
même si ce n'est pas le mien... ;-)

Dans le tableau récapitulatif,j'utilise beaucoup de redirection
(référence nom de feuille dans une cellule) et de notation relative
type LC+1, c'est donc  naturellement que j'ai coché l'option Excel
L1C1 plutôt que rester en L.O. A1 ou Excel A1. Bizarrement dans les
formules sous L.O. la notation est RC (RowColumn) et non pas LC
(LigneColonne) pourtant ma version LO est française (ainsi que les
Excels utilisés)...

Exemple de formule dans calc qui fonctionne
=INDIRECT("'"&INDIRECT("_R1C_"&(COLONNE()+1);0)&"'!$A"&LIGNE())
  et en plus je mélange relatif et Absolu avec le !$A

Quand j'exporte en XSLX, ça reste en RC (même formule) et ça bug sous
excel (#Ref) il faut faire un remplacement général R1C ==>  L1C pour
retrouver un fonctionnement normal.
(=INDIRECT("'"&INDIRECT("L1C"&(COLONNE()+1);0)&"'!$A"&LIGNE()) )

Un retour sous Calc de cette formule modifiée provoque à son tour une
erreur #Ref mais sous calc cette fois.

Je pense qu'il s'agit d'un bug de "traduction" En --> FR mais je me
sens démuni pour corriger cela.
Avez-vous déjà constaté cela ? Faut-il un faire un rapport de bug ?
Suis-je à côté de mes pompes ;-)

Cordialement.

Pierre

-- 
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
-- 
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy


-- 
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.