Microsoft 365 Insérer nom de l'onglet dans un chemin

Amanite

XLDnaute Nouveau
Bonjour à tous.

J'ai un problème, je n'arrive pas à insérer le nom d'un onglet dans le chemin de la référence dans une cellule (et non pas dans la cellule).

Récupérer le nom de l'onglet dans une cellule, ça je sais faire, j'utilise cette formule :
=DROITE(CELLULE("nomfichier";A2);NBCAR(CELLULE("nomfichier";A2))-TROUVE("]";CELLULE("nomfichier";A2)))

Mais mon problème est que ma feuille contient une vingtaine d'onglets identiques à la forme (seul le contenu change, ce sont les fiches de salaire des 20 employés). Et j'aimerais créer un premier onglet qui récapitule, sur 20 lignes, toutes les données clés de chaque onglet :

Jacquesdate de naissance de Jacquessalaire de Jacquesetc...
Jeandate de naissance de Jeansalaire de Jeanetc...
Pauldate de naissance de Paulsalaire de Pauletc...

Ces données sont toutes dans la même cellule de chaque onglet (par exemple la date de naissance de chacun d'entre eux sera toujours en B2).

Donc, ce qui me resterait à faire, c'est de faire dans mon Récap, à chaque ligne, une référence vers la bonne cellule de chaque onglet, du style :
='Jean'!B2
Puis à la ligne suivante :
='Jacques'!B2

Seulement voilà, non seulement il y a 20 onglets, mais j'ai en réalité au moins une quinzaine de données à traiter ainsi sur chaque ligne (donc sur 15 colonnes), et 15x20 ça fait beaucoup de référence à saisir.

D'où ma question : y aurait-il une formule qui me permette d'insérer le nom de l'onglet dans le chemin de la référence. Dans mon exemple (supposons que j'ai mis les noms de tous mes onglets dans la colonne A du Récap) :
=FORMULE-QUE-JE-NE-CONNAIS-PAS(A1.....!B2)
=FORMULE-QUE-JE-NE-CONNAIS-PAS(A2.....!B2)
et ainsi de suite sur chacune des 20 lignes.

Cela me serait d'une très grande aide, merci d'avance !

PS : je n'ai pas de fichier "montrable" à joindre malheureusement, si ce n'est plein d'onglets et encore rien dans le récap pour y référer ;)
 

Amanite

XLDnaute Nouveau
Mmmhh ça ne marche pas.

J'ai le nom de l'onglet en A4, j'ai donc écrit :
VB:
=INDIRECT(A4&"!B2")

J'ai l'erreur "#Ref!"

Y a-t-il des guillemets mal placés ?

Edit : en fait, le nom de l'onglet en A4 récupère le nom de l'onglet dans une autre feuille :
Formule A4 :
Code:
='Jean'!A1

Et comme ça, ça ne marche pas.

Mais si je récupère directement le nom de l'onglet courant en A4. comme ça :
Code:
=DROITE(CELLULE("nomfichier";A2);NBCAR(CELLULE("nomfichier";A2))-TROUVE("]";CELLULE("nomfichier";A2)))

alors votre formule fonctionne ! Pourquoi ?

Mais surtout... ce n'est pas le nom de l'onglet courant que je veux, mais celui de Jean, puis Jacques., etc..

REEDIT : bon, je viens de voir un truc : c'est parce que mes onglets ont plusieurs mots ("Jean, Jacques" etc sont des exemples). En réalité, les onglets portent les prénom et nom (genre "Jean Naimarre")
et là, ma référence en A4 porte des apostrophes :
VB:
='Jean Naimarre'!A1

et si je supprime le nom de famille de l'onglet (pour ne garder que "Jean"), ça remarche...
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG