Fonction INDIRECT et compatibilité LibreOffice / Excel et adressage onglet

Bonjour,
La fonction indirect permet de retourner le contenu d’une cellule via son adressage par une chaine de caractère.
Dans la cellule C1 si on met la formule =INDIRECT(A1&"."&B1)
Et que le cellule A1 contient le nom d’une feuille (“Target”) et B1 une adresse de cellule (“A1”) de cette feuille, On se retrouve dans C1 avec le contenu de la cellule “Target.A1” : parfait

Là ou il y a un soucis c’est si LibreOffice utilise “.” pour adresser une cellule d’une feuille, excel lui utilise une autrre syntaxe : “!” et comme il s’agit ici d’une construction en dur : concaténation de chaine avec le sépararer “.”, cela n’est pas traduit si on ouvre dans excel.
Pour cela il faudrait utiliser le séparateur “!” pour excel, mais ça marche plus pour LibreOffice…

Il faudrait soit utiliser une autre système qu’une construction de chaine, soit changer le caractère séparateur suivant le logiciel 'LibreOffice/Excel).

Je n’ai perso pas de piste… Peut via une macro mais je suis pas compétent.

R1

Bonjour padorange,

Essayez avec la combinaison de fonctions INDIRECT(ADRESSE()) qui sera interprétée aussi bien par xl que par Calc.

ADRESSE(1;1;4;1;A1) renvoie en A1 (les deux premiers 1) de la feuille en dernier argument

=INDIRECT(ADRESSE(1;1;4;1;A1);1)

renvoie le contenu de A1 de la feuille voulue

:wink:

R2 :

Bonjour padorange,

Essayez avec la formule suivante :

=INDIRECT(ADRESSE(EQUIV(A9;INDIRECT(CONCATENER(ADRESSE(1;3;4;1;D7);":";ADRESSE(20;3;1;4));1);0);4;4;1;D7);1)



Merci njhub,
Adresse marche bien en effet.
Toutefois mon problème est plus complexe car c’est d’une page dont j’ai besoin, pas d’une seule cellule.
C’est en effet pour construire une page pour la fonction RECHERCHEV.

=RECHERCHEV($A$9;INDIRECT(D7&"."&"$C$1:$D$20");2;0)
Avec D7 contenant le nom de la feuille/onglet.
et A9 un mois AAAA.MM.

Le cas précis est que j’ai plusieurs onglets portant le nom d’un indice INSEE et contenant une table des indices mois par mois depuis 2010.
En choisissant l’indice dans D7 et en mettant le mois désiré avec A9 on obtient en résultat l’indice désiré.

Je vais regarder du coté des noms de plage…