Rechercher des valeurs dans une feuille Excel variable [Résolu/Fermé]

Signaler
-
Messages postés
25601
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
24 novembre 2020
-
Bonjour,

J'ai lu pas mal de conseils sur le sujet sans parvenir à mes fins, en utilisant que des formules si possible (je suis sûr que oui !).

Je vais avoir plusieurs feuilles (représentant des sites dont je souhaite faire une synthèse) contenant des valeurs, mais qui ne seront pas forcément triés au même endroit, ce qui m'oblige à faire une recherche pour être sûr de prendre la bonne case.

J'ai réussi à aller chercher une case fixe dans chaque feuille en utilisant le nom de la feuille comme variable avec =INDIRECT("'"&F4&"'!A10"), F4 donnant le nom de la feuille concernée, mais en l'occurrence je ne veux pas aller chercher la case A10.

Je souhaiterais à la place de la case A10 faire une recherche verticale pour renvoyer la valeur se situant en troisième colonne à côté de la case "Chauffage", qui sera la valeur à chercher. La plage de recherche est par exemple les cases A47 - C53.

Comme je ne comprends pas tout à fait la fonction indirect, je suis un peu sec... Si vous pouviez m'aider ce serait bien sympa !

Merci d'avance.

3 réponses

Messages postés
25601
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
24 novembre 2020
5 617
Bonjour
ce serait plus facile de vous aider avec plus d'information sur votre fichier.
elle est où, cette case chauffage, c'est un titre de colonne?

exemple si chauffage est en A et que voulez renvoyez la valeur de C sur la ,même ligne

=INDIRECT(ADRESSE(EQUIV("chauffage";INDIRECT("F4!A1:A53");0);3;;;F4))

pour que cela fonctionne, il faut que le mot chauffage soit inscrit en entête de ligne en A de la feuille F4

crdlmnt



Errare humanum est, perseverare diabolicum
Bonjour, et merci.

J'ai l'impression que vous avez bien compris mon problème, seulement j'ai copié votre formule et cela ne fonctionne pas.

Chauffage est une l'intitulé d'une ligne d'un tableau dont je cherche la valeur. Le mot "Chauffage" est bien écrit en colonne A, quelque part entre la ligne 50 et 70, mais ce n'est pas fixe pour toutes mes feuilles, et je cherche à renvoyer la case correspondante en C.

Le nom de la feuille n'est pas F4, mais j'ai copié son nom dans la case F4.


Exemple pour 2 feuilles :

- Je travaille dans une feuille "Synthèse".
- En F4 j'ai écrit le nom d'une feuille, par exemple "Site1", et en F5 le nom de l'autre feuille "Site2".

- Dans la feuille "Site1", "Chauffage" est inscrit en A60, je veux aller chercher la case C60 et le copier dans la case G4 de ma feuille "Synthèse".
- Dans la feuille "Site2", "Chauffage" est inscrit en A52, je veux aller chercher la case C52 et le copier dans la case G5 de ma feuille "Synthèse".


Est-ce plus clair ?

Merci d'avance.
Messages postés
25601
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
24 novembre 2020
5 617
Re

Alors d'une part ion va prendre toute l colonne A et d'autre part,, on, va corriger l'erreur que j'ai faite dans ma formule (j'ai confondu F4 nom de feuille et F4 adrese de cellule va pas assez loin dans la colonne A

essayez
=INDIRECT(ADRESSE(EQUIV("chauffage";INDIRECT("'"&F4&"'!A:A");0);3;;;F4))

attention aux signes, dans le 2° code indirect, il y a une apostrophe entre les premières guillemets et une avant le point d'exclamation

toutefois, si vos noms de feuilles ne comportent pas de blanc ou d'opérateur du style - +, vous pouvez simplifier un peu,, les apostrophes n'étant plus nécessaires:

=INDIRECT(ADRESSE(EQUIV("chauffage";INDIRECT(F4&"!A:A");0);3;;;F4))


crdlmnt
Cette fois cela fonctionne presque... C'est juste que je ne peux pas prendre toute la colonne A pour chercher ma valeur, car le mot "Chauffage" apparaît plusieurs fois en colonne A.

J'aurais besoin de chercher sur une plage de cellules, comme la cellule A45 jusqu'à A65. Sur cette plage je n'ai aucun risque de doublons. J'ai essayé, mais il me renvoie complètement autre chose, j'ai l'impression qu'il renvoie l'une des premières colonnes qu'il me trouve.

Est-ce que vous voyez ce que je veux dire, et la solution ?

Merci encore.
Messages postés
25601
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
24 novembre 2020
5 617
Re

La formule renvoie effectivement la première ligne trouvée avec le mot Chauffage, mais elle est mathématique, elle n'est pas cabalistique et donc pour voir la solution il faudrait savoir sur quel critère on choisit le chauffage puisqu'il y en a plusieurs dans la liste.

Combien et lequel on choisit?

à vous lire
Bonjour,

Apparemment la formule renvoie la première occurrence de chauffage si on lui indique de chercher dans la colonne A, comme dans votre dernière formule.

J'ai essayé en remplaçant !A:A par une plage !A45:A55, mais ça n'a pas fonctionné et cela m'a renvoyé complètement autre chose, que je n'ai pas compris.

Le meilleur critère à utiliser est pourtant bien de sélectionner une plage précise, car entre les lignes 45 et 55 il ne peut y avoir qu'une seule fois le mot "Chauffage". C'est pour cela que je voulais utiliser une recherche verticale, mais je n'avais pas réussi.

Si vous avez une solution...

Merci d'avance.
Re bonjour d'avance,

Merci, mais je viens de trouver une solution à mon problème !

Encore merci pour votre aide précieuse !
Messages postés
25601
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
24 novembre 2020
5 617
Bonjour
Je ne sais pas ce que vous avez trouvé comme solution, l'essentiel est que vous en ayez une;

ceci dit,,il suffisait de remplacer dans ma proposition:

INDIRECT(F4&"!A:A");0) par INDIRECT(F4&"!A45:A55")+44;0)

crdlmnt