XLS fonction recherche

kristeen@ Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Raymond PENTIER Messages postés 58213 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

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  2. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    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
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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
    2. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
       
      Parfait ! et merci beaucoup d'avoir accepté de prendre le relais.
      Bon réveillon (sans excès !) ...
      0