Rechercher cellule en fonction du nom de feuille d'un autre clas

Résolu/Fermé
DB - 15 sept. 2017 à 16:33
 BOUDRAS - 21 sept. 2017 à 13:40
Bonjour,

Je recherche une formule excel.
Je souhaiterai récupérer des valeurs d'un tableau d'un autre classeur (SAISIE) en fonction du nom de la feuille (160 feuilles différentes) et les inscrire automatiquement dans le tableau (RECAP).

Pourriez-vous m'aider svp...

DB
A voir également:

9 réponses

yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
15 sept. 2017 à 20:58
bonsoir, dans quelle feuille de quel classeur se trouve le tableau RECAP?
0
Dans un autre classeur que l'on peut appeler BILAN par exemple, où il n'y a donc que la feuille RECAP qui récupèrerai les données par mois de l'autre classeur SAISIE.

Merci

DB
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
16 sept. 2017 à 09:55
donc tu veux récupérer des informations des 160 feuilles du classeur SAISIE, et les mettre dans la feuille RECAP du classeur BILAN.
exemple:
'[SAISIE.xls]feuille153'!$C$3
0
BOUDRAS > yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
18 sept. 2017 à 09:13
Oui et pour chaque mois.
0
BOUDRAS > BOUDRAS
18 sept. 2017 à 09:19
Le truc est que j'aimerai que la formule se copie en fonction du nom de l'onglet. Je ne souhaite pas après chaque copie/colle de retrouver la bonne feuille.
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > BOUDRAS
18 sept. 2017 à 10:01
pourrais-tu donner un exemple ou être plus précis?
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > BOUDRAS
18 sept. 2017 à 16:39
quand tu écris ceci "la formule se copie en fonction du nom de l'onglet. Je ne souhaite pas après chaque copie/colle de retrouver la bonne feuille", veux-tu dire que tu ne souhaites pas adapter toi même le nom de l'onglet pour chacun des onglets?
0
Je souhaiterai récupérer des données mensuelles d'un classeur SAISIE qui contient 160onglets avec des nom d'onglets AB BC CD DE...
Dans chacun de ces onglets, il y a des valeurs mensuelles à récupérer en fonction des mois donc.
Je souhaiterai récupérer pour chaque onglet, chacune des valeurs mensuelles et les intégrer dans un nouveau classeur RECAP automatiquement (pas de copier avec liaison). Avec une formule qui prendrai en compte le nom de l'onglet par exemple et qui rechercherait les valeurs souhaitées en fonction du nom de l'onglet et en fonction du mois.
Suis-je assez clair ?
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
18 sept. 2017 à 16:37
pourquoi pas de copier avec liaison, qu'attends-tu de mieux ou de différent? est-ce principalement parce que, à chaque mois, il faut récupérer l'information ailleurs?
tu n'expliques pas où la formule trouverait le nom de l'onglet et ce qu'elle ferait avec le mois.
il est probablement assez simple d'écrire une petite macro qui fait ce que tu souhaites, une fois que tu te seras expliqué précisément.
0
BOUDRAS > yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
18 sept. 2017 à 16:58
Si je fais le copier avec liaison, je suis obligé de le faire pour chaque feuille et par mois
0
BOUDRAS > yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
18 sept. 2017 à 16:59
Je pensais qu'il avait une formule qui reprenait des valeurs en fonction du nom de l'onglet et en fonction du mois ?
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > BOUDRAS
Modifié le 18 sept. 2017 à 19:07
où serait le nom de l'onglet? et comment trouver la bonne cellule en fonction du nom du mois?
tu n'expliques pas où la formule trouverait le nom de l'onglet et ce qu'elle ferait avec le mois.
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
18 sept. 2017 à 19:15
à titre d'exemple, cette fonction donne le contenu de la cellule A de l'onglet dont le nom est en A22:
=INDIRECT(A22&"!A1")
0
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
19 sept. 2017 à 12:17
Bonjour DB

Vous ne donnez pas assez d'information
Sur les 160 feuilles l'implantation des données est elle identique, les mois dans les mêmes colonnes et les données à récupérer sur les mêmes lignes
si oui une possibilité avec une formule comme celle-ci

=INDIRECT(ADRESSE(LIGNE();COLONNE();1;1;"[saisie.xlsx]"&A4);1)

ligne() pour avoir l'info de la même ligne dans l'autre classeur (saisie)
colonne() idem
avec possibilité de corriger le point de départ avec + ou - le nombre de ligne ou de colonne par rapport à votre cellule de destination
en cellule A4 le nom de la feuille

=INDIRECT(ADRESSE(LIGNE()+5;COLONNE()-2;1;1;"[saisie.xlsx]"&A4);1)
0

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

Posez votre question
Bonjour à vous.

La fonction YgBE =INDIRECT(A22&"!A1") est ce que je recherche.
Cependant, je souhaiterai récupérer les informations de l'onglet A22 qui est dans un autre classeur.
De plus, je souhaiterai en copie/colle que A1 évolue en A2,A3, etc...

Merci,
0
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
19 sept. 2017 à 19:55
Pour avoir l'info en A2

=INDIRECT(ADRESSE(LIGNE()-4;COLONNE()-2;1;1;"[saisie.xlsx]"&A4);1)

Pour la colonne A = 1ère colonne si la formule est en colonne C colonne 3 par exemple, mettre colonne -2
Pour les lignes la formule est en ligne 6 vous voulez l'info en ligne 2 donc ligne moins 4

et en tirant la formule vers le bas le numéro de ligne s'incrémente
0
En gros, c'est cette fonction que je voudrais =INDIRECT(A22&"!A1") mais où le contenu de la cellule A1 soit le contenu de la feuille de l'autre classeur ""SAISIE" où le nom de feuille renseigné est en A22
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
19 sept. 2017 à 15:50
ainsi?
=INDIRECT("[saisie]"&A22&"!A1")

ou bien en ajoutant le nom du classeur en A22.
0
BOUDRAS > yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
19 sept. 2017 à 15:57
J'ai essayé ta formule avec le nom du classeur mais il me met #REF.
0
Ou, j'ai cette formule :
=SI('[LOT 1 - Relevés exploitants.xlsx]6525L'!G12=0;"-";'[LOT 1 - Relevés exploitants.xlsx]6525L'!G12)


Comment puis-je changer le nom de feuille "6525L" automatiquement (qui est en fait le nom de l'onglet où il y a cette formule) en la copiant vers un autre onglet de nom "X010L" et où donc la formule deviendrait
=SI('[LOT 1 - Relevés exploitants.xlsx]X010L'!G12=0;"-";'[LOT 1 - Relevés exploitants.xlsx]X010L'!G12)

???
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
19 sept. 2017 à 16:02
je pense que tu peux utiliser cela dans INDIRECT, pour utiliser le nom de la feuille où se trouve la formule:
=INDIRECT("[saisie]"&STXT(CELLULE("filename"; $A$1);TROUVE("]";CELLULE("filename"; $A$1))+1;255) &"!A1")
0
BOUDRAS > yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
19 sept. 2017 à 16:11
il me met toujours #REF
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > BOUDRAS
Modifié le 19 sept. 2017 à 18:08
comment as-tu adapté la formule à ton cas? il faut peut-être ajouter des apostrophes.
peut-être:
=INDIRECT("'[saisie]"&STXT(CELLULE("filename"; $A$1);TROUVE("]";CELLULE("filename"; $A$1))+1;255) &"'!A1")
0
BOUDRAS > yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
20 sept. 2017 à 11:41
Dois-je changer quelque chose à "filename" ?
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > BOUDRAS
20 sept. 2017 à 19:21
peux-tu tester cette formule, donne-t-elle bien le nom de l'onglet?
=STXT(CELLULE("filename"; $A$1);TROUVE("]";CELLULE("filename"; $A$1))+1;255)

quand je te demandes comment tu as adapté la formule à ton cas, c'est en fait une invitation à partager ce que tu as fait avec la formule.
0
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
Modifié le 21 sept. 2017 à 10:33
Bonjour DB

Comme ma fonction adresse ne vous convient pas

Essayez ceci

=INDIRECT("[saisie.xlsx]"&A3&"!"&"b"&LIGNE();1)

A3 = nom de feuille
"b" si l'information à récupérer est en colonne B

Pour la fonction Indirect les 2 classeurs doivent être ouvert autrement cela affiche #REF!

C'est en forgeant que l'on devient forgeron. -   C'est au pied du mur que l'on voit le maçon - on apprend toujours de ses erreurs
0
Bonjour PHILOU10120,

J'ai essayé ta nouvelle formule, j'ai #REF qui s'affiche malgré que les 2 classeurs soient ouverts.
Ci-après ta formule avec le nom du classeur qui n'est pas "saisie" mais "LOT 1 - Relevés exploitants".

=INDIRECT("'[LOT 1 - Relevés exploitants.xlsx]"&F3&"!"&"b"&LIGNE();1)

As-tu une explication/solution à ce # REF ?


De plus, pour récupérer l'information sur la ligne 8, par exemple, comment dois-je renseigner ta formule ?

Merci,
0
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
Modifié le 21 sept. 2017 à 11:37
Regardez en enlevant la strophe devant [ juste après le guillemet
si cela change quelque chose

=INDIRECT("[LOT 1 - Relevés exploitants.xlsx]"&F3&"!"&"b"&LIGNE();1)

qu'avez vous en F3 ? attention aux espaces dans les cellules

Pour la ligne 8 si votre formule est sur la ligne 5 vous mettez ligne()+3
si vous êtes sur la ligne12 ligne()-4
0
BOUDRAS > PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024
21 sept. 2017 à 13:40
ok merci je regarde
0