XL 2016 insérer la recherche d'un onglet dans une formule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Sandrine1909

XLDnaute Nouveau
Bonjour,
Je souhaite créer une base de données à partir de données renseignées dans différents onglets.
Voir fichier ci-joint
Onglet Synthèse B2-E2 ..., je souhaite aller chercher ces données dans l'onglet de la personne XX ou YY, en sachant que je pourrai à terme avoir une 30e d'onglet.
Je voulais combiner recherchev avec Indirect ou si avec Indirect, mais je ne comprends pas bien le fonctionnement
Merci de votre aide.
Sandrine
 

Pièces jointes

Solution
E
Il y a peut-être une manière plus élégante de fonctionner, en nommant les onglets 1 à 30 tu peux créer dans ton onglet la synthèse et récupérer les valeurs.
Tu peux masquer la colonne si ça te défrise 😉

Ensuite on va aller chercher la valeur sur chacune des feuilles avec la formule (exemple pour la cellule B2):
Code:
INDIRECT("'"&$A2&"'!C2")
Je rajoute un petit nettoyage en cas d'erreur et ça donne :
Code:
=SIERREUR(INDIRECT("'"&$A2&"'!C2");"")

Parce qu'on est des maniaques on va générer un lien dynamique vers tes onglets sur le nom, comme tu l'avais fait en dur auparavant :
Code:
=SIERREUR(LIEN_HYPERTEXTE("#'"&$A2&"'!a1";INDIRECT("'"&$A2&"'!b3"));"")

Et puis on reprend la dernière valeur rentrée dans tes onglets dans les colonnes...
Il y a peut-être une manière plus élégante de fonctionner, en nommant les onglets 1 à 30 tu peux créer dans ton onglet la synthèse et récupérer les valeurs.
Tu peux masquer la colonne si ça te défrise 😉

Ensuite on va aller chercher la valeur sur chacune des feuilles avec la formule (exemple pour la cellule B2):
Code:
INDIRECT("'"&$A2&"'!C2")
Je rajoute un petit nettoyage en cas d'erreur et ça donne :
Code:
=SIERREUR(INDIRECT("'"&$A2&"'!C2");"")

Parce qu'on est des maniaques on va générer un lien dynamique vers tes onglets sur le nom, comme tu l'avais fait en dur auparavant :
Code:
=SIERREUR(LIEN_HYPERTEXTE("#'"&$A2&"'!a1";INDIRECT("'"&$A2&"'!b3"));"")

Et puis on reprend la dernière valeur rentrée dans tes onglets dans les colonnes de encours/clôture, fin de contrat, surcroit/remplacement avec la formule :
Code:
=SIERREUR(RECHERCHEV(9^9;INDIRECT("'"&$A2&"'!d18:d100");1);"")
A noter que si on cherche du texte on utilise CAR(255) et si on cherche des chiffres 9^9.

Et puis pour finir, parce qu'on est de gros feignants, on va créer un lien direct qui ramène de l'onglet sur lequel on se trouve vers la ligne sur laquelle on vient de cliquer pour y parvenir (sans javascript, trop facile), avec ceci qu'on place en A1 sur chaque onglet :
Code:
=LIEN_HYPERTEXTE("#'Synthèse'!D"&LIGNE(INDEX(Synthèse!D2:D31;EQUIV(B3;Synthèse!D2:D31;0)));"")

Je n'ai pas complété les cellules vides, car je ne sais pas le traitement qui est souhaité avec.
Si cela t'emplis de joie et de bonheur, que tu vas mieux dormir ce soir, n'oublie pas de marquer le sujet comme clos.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour