Excel fonction RECHERCHE

photon -  
pierrot_42 Messages postés 59 Statut Membre -
Bonjour à tous !

Je cherche à faire une opération qui me paraissait relativement simple sur Excel, mais là j'avoue que je bloque un peu (je suis débutant). Je dois faire une mauvaise utilisation de la fonction RECHERCHE ...

Je vous explique mon problème :

J'ai dans mon fichier une feuille "chantiers" et une feuilles "taches".
A chaque tâche est associé un numéro au format 1.1; 1.2; 2.1 ; 2.2; 2.3 etc. (donc un tableau à 2 colonnes : nom de tâche et num. de tâche)

et une seconde feuille, "chantiers" qui liste les noms des chantiers et associe à chaque chantier la ou les taches qu'il englobe. (encore un tableau à 2 colonnes)

Je désire rajouter dans la feuille "taches" une 3ème colonne qui précise si la tâche est contenue dans un chantier ou non.

Mon idée était donc, avec la fonction RECHERCHEV, de récupérer le num. de la tâche, trouver ce numéro dans le tableau chantier (ou non si la tâche n'est pas associée à un chantier) et dans le cas ou un chantier est associé renvoyer son nom.

J'espère avoir été clair, voici un fichier simplifié sur lequel je fais mes tests :

http://www.cijoint.fr/cjlink.php?file=cj201106/cijyZBRe8E.xlsx

Voilà si quelqu'un a une idée, son aide sera grandement appréciée ^^

Merci beaucoup.

3 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    votre fichier ici:
    http://www.cijoint.fr/cjlink.php?file=cj201106/cijxDL0mFX.xls

    quelques remarques:
    A)_Vous ne pouvez pas utiliser la fonction RECHERCHEV car la valeur cherchée est dans la 2° colonne du champ.RECHERCHEV ne cherche que dans la 1° colonne d'un champ.
    ce code est remplacé dans le fichier par la combinaison: INDEX(EQUIV)
    B)_ certain N° de chantier sont plusieurs dans la même ligne, il est donc nécessaire de préciser au code EQUIV qu'il faut trouver la valeur cherchée parmi plusieurs valeurs d'une même cellule.
    d'ou l'écriture:
    "*"&cellule&"*"
    C) pour éviter un affichage parasite de #/NA lorsque le code tache n'existe pas dans la colonne B chantier, la condition NB.SI en tête de formule:
    _cherche si le code est présent dans la colonne chantier B
    _renvoie 0 si le code n'existe pas
    _sinon applique la, formule.
    vous pouvez remplacer le 0 par un texte entre guillemets, par exemple:
    "pas de chantier"
    qui s'affichera si le N° de tache n'est pas présent dans la liste chantier.

    crdlmnt

    Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
    1
    1. photon
       
      Bonjour Vaucluse,

      Merci beaucoup pour votre réponse très complète et très claire !
      La solution du INDEX(EQUIV) permet effectivement de traiter mon problème.

      Le seul "soucis" qui persiste est que certaines tâches sont traitées dans plusieurs chantiers. (par exemple la tâche 3.2 est traitée dans les chantiers 11, 21 et 22)
      Or je ne crois pas qu'il soit possible, avec cette méthode, de poursuivre la recherche après que la première valeur ait été trouvée.

      Sauriez-vous comment corriger ça ?

      Dans tous les cas, merci encore pour votre réponse.
      0
    2. Raymond PENTIER Messages postés 58225 Date d'inscription   Statut Contributeur Dernière intervention   17 488
       
      "je ne crois pas qu'il soit possible, avec cette méthode, de poursuivre la recherche après que la première valeur ait été trouvée" : ce n'est d'ailleurs pas non plus le cas avec RECHERCHEV, ni avec RECHERCHEH, ni avec RECHERCHE ...
      0
    3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour mon ami Raymond.
      Et pourtant on y arrive, regardes le fichier joint à mon dernier message.!!!!
      crdlmnt
      0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Re
    regardez ici si cela convient, c'est beaucoup moins simple.

    http://www.cijoint.fr/cjlink.php?file=cj201106/cijahdzvCn.xls

    revenez si besoin d'explications, mais un peu plus tard parce que là je suis à la bourre:-)

    Pour augmenter le nombre de chantiers disponibles, ,tirez la formule vers la droite et dans le code NB.SI, remplacez la valeur >x par la valeur suivante
    tirez ensuite la formule vers le bas

    (exemple:ici on va jusqu'à 5 donc la suivante est >6)

    crdlmnt
    0
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour Vaucluse,

      Jolie formule pour résoudre la recherche multiple, qui n'est pas spécialement simple par formule sur excel.

      Si je puis me permettre, je te suggère de remplacer ">1" en D2 par "">COLONNE()-3" ce qui permet d'étendre la formule sur toute la plage sans modification.

      Bonne journée à toi.
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour gb

      exact la proposition.
      J'y pense, mais je ne le place pas car je crains que ce soit un peu plus complexe pour l'utilisateur d'ajuster si l"adaptation a un autre type de tableau lui est nécessaire.

      Mais c'est effectivement la solution pour avoir une formule qui ne nécessite pas d'intervention après copie.

      Pour l'utilisateur, on va préciser que le code COLONNE()-3 donne le N° de colonne dans la feuille (donc 4 en colonne D) diminué de 3
      =1 en colonne 4,2 en colonne 5 etc...


      Bien amicalement
      0
    3. photon
       
      Bonjour à tous,

      Vaucluse je vais utiliser ta solution en remplaçant effectivement le ">1" par ">COLONNE()-3" comme l'a proposé gbinforme.

      Merci à tous et tout particulièrement à Vaucluse ;) Je n'aurais pas trouver ça tout seul ^^
      0
  3. pierrot_42 Messages postés 59 Statut Membre
     
    Hello à tous, j'aime bien vos idées,
    moi j'avais pensé à ça :

    http://www.cijoint.fr/cjlink.php?file=cj201106/cijJcm0s9B.xlsx

    0
    1. pierrot_42 Messages postés 59 Statut Membre
       
      ps tu peux masquer la colonne C si tu veux, c'est plus joli
      0