Menu

Rechercher cellule en fonction du nom de feuille d'un autre clas [Résolu]

DB - 15 sept. 2017 à 16:33 - Dernière réponse :  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
Afficher la suite 

Votre réponse

34 réponses

yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 15 sept. 2017 à 20:58
0
Merci
bonsoir, dans quelle feuille de quel classeur se trouve le tableau RECAP?
Commenter la réponse de yg_be
0
Merci
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
yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 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
BOUDRAS > yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 18 sept. 2017 à 09:13
Oui et pour chaque mois.
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.
yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention > BOUDRAS - 18 sept. 2017 à 10:01
pourrais-tu donner un exemple ou être plus précis?
yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention > 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?
Commenter la réponse de Boudras
0
Merci
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 ?
yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 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.
BOUDRAS > yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 18 sept. 2017 à 16:58
Si je fais le copier avec liaison, je suis obligé de le faire pour chaque feuille et par mois
BOUDRAS > yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 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 ?
yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention > BOUDRAS - 18 sept. 2017 à 19:04
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.
yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention > yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 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")
Commenter la réponse de BOUDRAS
PHILOU10120 4974 Messages postés lundi 16 avril 2012Date d'inscription 25 mai 2018 Dernière intervention - 19 sept. 2017 à 12:17
0
Merci
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)
Commenter la réponse de PHILOU10120
0
Merci
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,
PHILOU10120 4974 Messages postés lundi 16 avril 2012Date d'inscription 25 mai 2018 Dernière intervention - 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
Commenter la réponse de BOUDRAS
0
Merci
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
yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 19 sept. 2017 à 15:50
ainsi?
=INDIRECT("[saisie]"&A22&"!A1")

ou bien en ajoutant le nom du classeur en A22.
BOUDRAS > yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 19 sept. 2017 à 15:57
J'ai essayé ta formule avec le nom du classeur mais il me met #REF.
Commenter la réponse de BOUDRAS
0
Merci
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)

???
BOUDRAS > yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 21 sept. 2017 à 10:23
En appliquant ta dernière formule ainsi, j'ai bien le nom de feuille qui appraît :

=STXT(CELLULE("filename"; $F$3);TROUVE("]";CELLULE("filename"; $F$3))+1;255)

Nom de feuille = "6525L"

Du coup, en essayant d'obtenir les valeurs d'une autre feuille ayant ce nom d'onglet dans un autre classeur, quelle formule est à appliquer ?

(Nom de l'autre classeur = "LOT 1 - Relevés exploitants")

Merci,
yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention > BOUDRAS - 21 sept. 2017 à 10:28
peut-être:
=INDIRECT("'[LOT 1 - Relevés exploitants]"&STXT(CELLULE("filename"; $A$1);TROUVE("]";CELLULE("filename"; $A$1))+1;255) &"'!A1")

remarque que tu ne te simplifies pas la vie avec des espaces dans tes noms de fichiers. tu as initialement indiqué que ton fichier s’appelait SAISIE, j'ai donc utilisé cela dans mon exemple.
BOUDRAS > yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 21 sept. 2017 à 10:41
Oui je sais :)...
Cependant, avec la formule envoyée, j'ai #REF qui s'affiche. Pourtant mes 2 classeurs sont ouverts. Quelle est la raison stp ?
yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention > BOUDRAS - 21 sept. 2017 à 11:01
si tu crées un lien (copier avec liaison) d'un classeur à l'autre, que contient ce lien?
il suffira de recréer un texte similaire dans la formule.
BOUDRAS > yg_be 5626 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 26 mai 2018 Dernière intervention - 21 sept. 2017 à 11:25
Merci, c'est bon !
Commenter la réponse de BOUDRAS
PHILOU10120 4974 Messages postés lundi 16 avril 2012Date d'inscription 25 mai 2018 Dernière intervention - Modifié par PHILOU10120 le 21/09/2017 à 10:33
0
Merci
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
Commenter la réponse de PHILOU10120
0
Merci
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,
PHILOU10120 4974 Messages postés lundi 16 avril 2012Date d'inscription 25 mai 2018 Dernière intervention - 21 sept. 2017 à 11:33
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
BOUDRAS > PHILOU10120 4974 Messages postés lundi 16 avril 2012Date d'inscription 25 mai 2018 Dernière intervention - 21 sept. 2017 à 13:40
ok merci je regarde
Commenter la réponse de BOUDRAS