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

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

  • Fichier interim 2021.xlsx
    26.3 KB · Affichages: 18
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...
E

Exl-Noob

Guest
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

  • Fichier interim 2021-sandrine1909.xlsx
    27.2 KB · Affichages: 8

Discussions similaires

Statistiques des forums

Discussions
312 109
Messages
2 085 383
Membres
102 878
dernier inscrit
asmaa