ntre suites. En tout cas, content de voir que le problème est éclairci et que tu as une piste de réécriture de tes formules. ??
Bonne continuation, Bernard Schœnacker ----- Achat Touzeau <[email protected]> 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 <[email protected]> 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 à [email protected] 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 à [email protected] 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 à [email protected] pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
