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

Résolu/Fermé
Kross-55 Messages postés 7 Date d'inscription mercredi 14 avril 2021 Statut Membre Dernière intervention 7 mai 2021 - Modifié le 14 avril 2021 à 17:55
Raymond PENTIER Messages postés 58731 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 novembre 2024 - 15 avril 2021 à 18:53
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
A voir également:

5 réponses

Raymond PENTIER Messages postés 58731 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 novembre 2024 17 243
14 avril 2021 à 18:19
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.
0
Kross-55 Messages postés 7 Date d'inscription mercredi 14 avril 2021 Statut Membre Dernière intervention 7 mai 2021
Modifié le 14 avril 2021 à 19:57
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 :)
0
Raymond PENTIER Messages postés 58731 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 novembre 2024 17 243
Modifié le 15 avril 2021 à 01:18
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.

0
Kross-55 Messages postés 7 Date d'inscription mercredi 14 avril 2021 Statut Membre Dernière intervention 7 mai 2021
Modifié le 15 avril 2021 à 03:35
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 !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58731 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 novembre 2024 17 243
15 avril 2021 à 18:53
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.
0