Samuel Mounier (Liste CGO) a écrit :
Bonjour,
Je souhaite récupérer le nom de la feuille qui suit la feuille en cours par formule pour faire un lien vers celle-ci.
et que celle-ci reste toujours valable même en cas de suppression (tout ça sans macro)
(Je sais que cliquer sur l'onglet de la feuille suivante et aussi possible mais mon but et de forcer un cheminement feuille par feuille)
J'arrive à faire le lien vers une feuille particulière (en ayant son nom)
D47= LIEN.HYPERTEXTE("#"&D49;"Questions suivantes")
J'arrive à récupérer le nom de la feuille courante (sur chaque feuille)
D3=SI(1;STXT(CELLULE("FILENAME");CHERCHE("$";CELLULE("FILENAME");1)+1;256);MAINTENANT())
J'arrive à récupérer le contenu de la cellule de la feuille suivante.
D49=feuillesuivante.D3
MAIS au grand mais
Lorsque je supprime une feuille intermédiaire, dans mes formules "feuillesuivante." est remplacé par #REF !.D1
Existe-t-il un moyen de faire référence à la feuille suivante par son N° avec la fonction INDIRECT (ou autrement) ?
Samuel
Pour info, si ça peut dépanner quelqu'un, j'ai une alternative.
Je n'ai pas trouvé de solution en conservant les noms que je donnais aux feuilles mais j'ai pu
en renommant les feuilles avec des N° ordonnés de 1 à n facilement accéder aux feuilles par leur n°.
Exemple :
'1'.A1 => accède ainsi à la feuilles 1
INDIRECT(FEUILLE() + 1 & ".A1") => accède ainsi à la feuille suivante
INDIRECT(FEUILLE() - 1 & ".A1") => accède ainsi à la feuille suivante
INDIRECT(FEUILLES() & ".A1") => accède ainsi à la dernière feuille
INDIRECT(FEUILLES() - 1 & ".A1") => accède ainsi à l'avant dernière feuille
Pour pouvoir avoir un libellé associés aux feuilles,
je me suis créé une liste des feuilles (sur une autre feuille - la dernière ou la première de préférence)
dans laquelle je place un identifiant qui est le N° de feuille et à coté un libellé
(Il est possible d'utiliser une formule pour limiter les N° identifiant au nombre de feuille)
Après sur chaque feuille (numéroté) je récupére le libellé par un RECHERCHEV().
le lien et les formules (qui font appel à des cellules d'autres feuilles deviennent plus simple).
Les fonctions courantes à utiliser pour se sortir de toutes ces formules sont
FEUILLE(), FEUILLES(), INDIRECT().
J'ai pu en plus synthétiser des informations sur ma liste propre à chaque feuille
Exemple : des sous totaux d'un type particulier présent dans chaque feuille par des SOMME.SI()
et connaitre le Nb de ligne de chaque feuille par des RECHERCHEV().
Cette solution alternative à aussi l'avantage de rendre les onglets des feuilles très petit et l'on peut en mettre plus.
Je tenterai de mettre l'outil final qui regroupe ces exemples à disposition en licence libre.
Savez-vous ou je vais pouvoir déposer ces fichiers sur le projet LibO ?
Samuel