XLS fonction recherche

kristeen@ Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Raymond PENTIER Messages postés 71867 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai créé des fonctions « Recherches » sur une ligne.
La donnée recherchée peut figurer sur un des trois onglets de mon classeur.
Je souhaiterai pourvoir faire une formule qui permette de dire" Recherche cette valeur sur cet onglet 1 si valeur inexistante sur onglet 1 => Rechercher cette même valeur sur un onglet 2 et si inexistante sur onglet 2 => rechercher sur onglet 3....
Puis-je avoir de l'aide !!!!

Une autre question: j'ai une fonction recherche "=RECHERCHEH(J$7;'A-flux crois=F%_B'!$C$1:$AK$2;2;FAUX)"
J'aimerai faire figurer dans une cellule la plage de cellules où a lieu la recherche. Dans le cas qui me concerne =>noms d'onglets.

EX :
A1 : "=RECHERCHEH(J$7;'A-flux crois=F%_B'!$C$1:$AK$2;2;FAUX)"

B1 : A-flux crois=F%_B

2 réponses

Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
Bonjour

=RECHERCHEV(valeur;SI(NB.SI(Champ1;valeur)>0;Champ1;SI(NB.SI(champ2;Valeur)>0;champ2;champ3));colonne;0)

ne fonctionne que si la valeur cherchée ne se trouve que dans la 1° colonne d'un des trois champ. (sinon NB.SI(renvoie >0 même si elle n'est pas trouvée dans la 1° colonne)

Sinon il suffit de remplacer dans les items NB.SI le code Champ 1 par l'adresse de la 1° colonne de chaque champ seulement, un peu plus compliqué à écrire .
(NB.SI(Adresse 1° colonne champ1;Valeur) etc...

Crdlmnt

Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
Raymond PENTIER Messages postés 71867 Date d'inscription   Statut Contributeur Dernière intervention   17 397
 
Et concernant l'autre question "J'aimerai faire figurer dans une cellule la plage de cellules où a lieu la recherche. Dans le cas qui me concerne =>noms d'onglets", je crains qu'il n'y ait une erreur de vocabulaire (et donc de compréhension) :

'A-flux crois=F%_B'!$C$1:$AK$2 est la plage de cellules où a lieu la recherche.
'A-flux crois=F%_B' est le nom de l'onglet dans lequel se trouve la plage.
C'est donc 'A-flux crois=F%_B'!$C$1:$AK$2 qui devrait figurer en B1.
Et la formule utiliserait la fonction INDIRECT
=RECHERCHEH(J$7;INDIRECT(B1);2;FAUX)

* NB : J'ai écrit ça de mémoire, sans tester ; j'invite Vaucluse et les autres à vérifier et à corriger (ce sera sûrement nécessaire) !
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
Bonjour Raymond
excellente idée
Je crois que l'on peut sur ce principe , traiter les deux sujets à la fois:
exemple à adapter:

en A1:
nom complet du 1° champ comme l'indique Raymond, bien complet avec tous les signes qui permettent de construire la formule de recherche

en A2 et A3 idem pour les deux autres champs

en C1, la valeur chercher

en B1, la formule:
=SI(NB.SI(INDIRECT(A1);C1)>0;A1;SI(NB.SI(INDIRECT(A2);C1)>0;A2;SI(NB.SI(INDIRECT(A3);C1)>0;A3;"non trouvé")))

et en D1

celle que tu proposes:
=SI(C1="non trouvé";"";RECHERCHEV(C1;INDIRECT(B1);2;0))

ainsi le titre du champ utilisé sera affiché en B1 et le résultat trouvé en D1

crdlmnt. Bonnes Antilles
0
Raymond PENTIER Messages postés 71867 Date d'inscription   Statut Contributeur Dernière intervention   17 397
 
Parfait ! et merci beaucoup d'avoir accepté de prendre le relais.
Bon réveillon (sans excès !) ...
0