Recherchev dans 3 onglets

Résolu
BA -  
 BA -
Bonjour,

j'ai un tableau existant avec une formule recherchev qui va chercher dans l'onglet 1 (RH) et inscrit OK s'il trouve les données ou PasOK s'il ne trouve pas.

Je dois rajouter 2 autres recherches supplémentaires :
- recherche dans l'onglet 2, PasOK s'il trouve les données ET s'il ne les trouve pas
- recherche dans l'onglet 3, PasOK s'il trouve les données ET s'il ne les trouve pas

Comment imbriquer tout ça ?

Voici la formule qui existait et je souhaite la compléter :
=SI(ESTERREUR(RECHERCHEV(B4;'RH'!A:A;1;FAUX));"PasOK";SI(RECHERCHEV(B4;'RH'!A:A;1;FAUX)<>"#N/A";"OK"))

Je ne sais pas si c'est très clair.
Merci pour votre aide !

4 réponses

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    A quoi ca sert de chercher dans les onglets 2 et 3 si c'est pour marquer dans tous les cas PasOk ?
    0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    difficile de se référer à votre formule

    Par ailleurs utiliser RECHERCHEV pour une simple détection semble un peu complexe

    =NB.SI(B4;RH!A:A);"0K;"Pas OK") devrait suffire, et assure l'ensemble de ce que vous avez écrit.

    Mais le plus dur à comprendre est pourquoi vous voulez chercher dans les onglets 2 et 3 pour afficher pas OK si la valeur s'y trouve ou ne s'y trouve pas????

    Si les deux options doivent donner "Pas OK", précisons tout de suite qu'il n'y en a pas d'autre??

    pouvez vous apporter quelques éclaircissements?

    à vous lire
    crdlmnt

    0
    1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
       
      Bonjour Vaucluse il ne manquerait pas un si devant par exemple ?

      =SI(NB.SI(RH!A:A;$B$4);"ok";"pasok")

      Pour le contrôle de la présence dans l'un des trois onglets

      =SI(NB.SI(RH!A:A;$B$4)+NB.SI(Feuil3!A:A;$B$4)+NB.SI(Feuil4!A:A;$B$4);"OK";"PasOk")
      0
    2. BA
       
      Merci à vous 2, ça fonctionne !!
      0
  3. BA
     
    Effectivement, je viens de réaliser que ça ne sert à rien de mettre pas OK....
    Je m'embrouille un peu désolé...

    Alors si je veux faire ceci :
    J'ai une liste de matériel affecté à du personnel, la recherche se fait sur le matricule.
    si le personnel se trouve dans l'onglet 1, c'est OK, s'il ne s'y trouve pas c'est pas OK, l'onglet 1 = employés
    si le personnel se trouve dans l'onglet 2, c'est OK, s'il ne s'y trouve pas c'est pas OK, l'onglet 2 = sous-traitant
    si le personnel se trouve dans l'onglet 3, c'est OK, s'il ne s'y trouve pas c'est pas OK, l'onglet 3 = client
    Tout ce qui n'est pas OK est à traiter.

    Merci
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Re
      alors
      =SI(OU(NB.SI(employés!A:A;B4);NB.SI(soustraitant!A:A;B4);NB.SI(client!;B4));"OK";"Pas OK")

      crdlmnt
      0
  4. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Avec cette formule vous saurez qui?

    =SI(NB.SI(RH!A:A;$B$4)>=1;"employés ";"")&SI(NB.SI(Feuil3!A:A;$B$4)>=1;"sous-traitant ";"")&SI(NB.SI(Feuil4!A:A;$B$4)>=1;"client";"")
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      ... en se passant du >=1 complétement inutile (et même s'il en était besoin, >0 suffirait!) et en supposant que les noms employés etc... ne soient pas les noms d'onglet qui devraient alors se retrouver dans les codes.
      0
    2. BA
       
      Merci cette formule est encore mieux !
      sauf une chose du coup si la ressource n'est dans aucune liste j'aimerais marquer PASOK par exemple.
      J'ai donc mis PASOK entre les guillemets, mais ça me l'écrit 3 fois.
      Au lieu du &, il faudrait peut-être mettre OU, non ? Mais quelle est le signe ? car si j'écris OU ça ne fonctionne pas.
      Pouvez-vous m'aider ?
      0
    3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Re
      =SI(NB.SI(RH!A:A;$B$4);"employés ";SI(NB.SI(Feuil3!A:A;$B$4);"sous-traitant ";SI(NB.SI(Feuil4!A:A;$B$4);"client";"Pas Ok")))
      celle ci devrait suffire, pour faire simple
      crdlmnt
      0
    4. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
       
      La formule modifiée

      =SI(NB.SI(RH!A:A;$B$4);"employés ";SI(NB.SI(Feuil3!A:A;$B$4);"sous-traitant ";SI(NB.SI(Feuil4!A:A;$B$4);"client";"NoK")))

      la réponse sera dans l'ordre du premier trouvé s' il y en a deux
      0
    5. BA
       
      Super merci beaucoup !
      0