LibreOffice : dupliquer une cellule d'une autre feuille (désignée par cellules) [Résolu]

Signaler
Messages postés
7
Date d'inscription
mercredi 14 avril 2021
Statut
Membre
Dernière intervention
7 mai 2021
-
Messages postés
54061
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
-
Bonjour,

Je cherche désespérément une formule sous LibreOffice qui me permettrait de :

Dupliquer (sur ma feuille 1 nommée "Carte des A") le contenu d'une cellule d'une autre feuille (nommée "A-010" mais sachant que je devrais répéter l'opération depuis une multitude d'autre feuilles... "A-020" ; "A-030" etc.), sachant que le nom de la feuille source sera désigné depuis une cellule également présente sur la feuille "Carte des A"

J'ai trouvé plein de solutions presques identiques... mais malheureusement aucune ne fonctionne. Car je ne trouve jamais de variante d'une formule qui désigne le nom de la feuille source à partir d'une cellule.

Du coup je ne sais même pas si c'est possible.

Merci d'avance

5 réponses

Messages postés
54061
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
16 061
Bonjour.

Si tu nous montrais toutes les formules et variantes que tu as essayées, nous pourrions peut-être trouver la petite erreur qui empêche l'une ou l'autre de (bien) fonctionner.
Messages postés
7
Date d'inscription
mercredi 14 avril 2021
Statut
Membre
Dernière intervention
7 mai 2021

En fait aucune des solutions que j'ai trouvé sur de nombreux forums n'étaient réellement appropriées, j'ai essayé de voir si je savais les adapter à mon besoin, mais mes maigres connaissances n'y ont rien fait.

J'ai tenté des trucs du genre : =INDEX('A13'!$F$36)

A13 étant la cellule (sur la feuille "Carte des A" où est inscrit manuellement le nom de la feuille où il faut aller copier la cellule F36)

Et j'ai essayé d'adapter d'autres formules toute l'après-midi mais sans m'y connaitre... bref pathétique :)

Mais pour être concret, actuellement sur la feuille "Carte des A" j'ai une multitude de cellules (par ligne) allant dupliquer des valeurs sur une autre feuille... (garce à la formule suivante : =$'A-020'.F36 qui va par exemple chercher la cellule F36 de la feuille A-020).

Et chaque ligne va chercher ces mêmes infos sur une feuille différente (A-020... A-030... A-040... etc). Et l'objectif et qu'en changeant (manuellement) le nom de la feuille inscrit dans la toute première cellule de la ligne (ici la feuille "A-020"), je puisse indiquer aux cellules suivante d'aller chercher les infos sur une autre feuille... par exemple modifier la valeur de la cellule "A-020" par "A-030" afin que automatiquement toutes les cellules suivantes de la même ligne aillent chercher ses mêmes infos sur la feuille A-030.

En fait...
Le nom des mes feuilles sont finalement des numéros de "fiches produit" toutes construites de manière identiques... mais dont les valeurs sont différentes d'une feuille à l'autre évidemment.
Et sur ma feuille "Carte des A"... je souhaite rapatrier un condensé des informations de tous mes produits... en inscrivant simplement le numéro de produit (donc le nom de sa feuille) dans la toute première cellule de la ligne.

Il me faut donc trouver une formule qui pourra remplacer =INDEX('A13'!$F$36) qui elle stipule manuellement la feuille source, par une formule qui ira chercher automatiquement le nom de la feuille dans la première cellule de la ligne. Ainsi en changeant manuellement le code produit de la première colonne, toutes les autres cellules de la ligne iront chercher les infos sur la bonne feuille.

J'espère être suffisamment limpide dans mes explications :/ difficile de faire simple et précis :)
Messages postés
54061
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
16 061
Bien !

=INDEX('A13'!$F$36) ne risque pas de fonctionner, car cette fonction nécessite au moins deux arguments ; or tu n'en mets qu'un seul.

=$'A-020'.F36 est déjà plus crédible, sauf que le $ initial bloque la formule et qu'il faudrait remplacer le point par un point d'exclamation pour obtenir ='A-020'!F36

Mais cela ne suffit toujours pas, car Calc déteste que les noms de feuille contiennent des caractères réservés comme
*
ou
?
; en l'occurrence, c'est le tiret du 6
-
qu'il faut remplacer dans ta "multitude d'autres feuilles" par le tiret du 8
_
..
. Bon courage !

Du coup, la formule =INDIRECT(A13&"!F36") sera ta solution.

C'est bien, la retraite ! Surtout aux Antilles ... 
Raymond (INSA, AFPA)
Messages postés
7
Date d'inscription
mercredi 14 avril 2021
Statut
Membre
Dernière intervention
7 mai 2021

Merciiiiiiiiiii !!

En effet, je n'aurais jamais réussi, même si j'avais trouvé la solution sur un forum, en raison du "tiret du 6" dans le nom de mes feuilles. Une fois ta formule appliquée et le - remplacé par _ dans le nom de mes feuilles, ça fonctionne à MERVEILLE... et ça va me faire gagner un temps fou.

Merci 1000 fois Monsieur !!
Messages postés
54061
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
16 061
Heureux de t'avoir dépanné.

C'est vrai que cette information est insuffisamment dispensée par les auteurs des tableurs (Calc, Excel ...).
Les feuilles ayant des noms ainsi composés fonctionnent, sauf au moment où on veut utiliser ces noms dans des formules de recherche ...

En tout cas conserve quelque part mon explication ; elle pourra t'être encore utile.

Cordialement.