Recherchev

LDSTE -  
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, j'aimerais créer un tableau excel mais ça a l'air un peu complexe j'ai réussi a me débrouiller jusque la mais la je bloque....
en fait j'aimerais créer une base de "devis" tout automatisé sur lequel ou trouverais une première colonne
en liste déroulante de la matière enseignée : français anglais espagnol etc... deuxième colonne : la date de la session (plein de choix). troisième, quatrième et cinquième, des informations relatives par rapport au deux premières. (exemple le nombre d'heure hebdomadaire, les jours travaillés et le nombre d'heure total de la formation)
alors les deux premières colonne j'arrive a mettre les information nécessaire et en liste déroulante, et pour le reste, j'arrive a rentrer les valeurs correspondantes au deux premières colonne mais pas a plus de deux matière enseignée... (pas plus de 2 table matrice)...

Voila ce que j'ai fait pour que cela fonctionne au début :

=SIERREUR(SI(B13="francais";RECHERCHEV(C13;tableaufrancais;3;FAUX);RECHERCHEV(C13;tableauanglais;3;FAUX));"")

donc j'ai voulu continuer ainsi...

=SIERREUR(SI(B13="francais";RECHERCHEV(C13;tableaufrancais;3;FAUX);RECHERCHEV(C13;tableauanglais;3;FAUX);RECHERCHEV(C13;tableauespagnol;3;FAUX));"")

seulement ce recoit ce message d'erreur.

Vous avez tapé un nombre trop important d'arguments pour cette fonction.

Je ne sais pas comment faire pour remédier a ça.

si vous avez une idée...
Un grand merci d'avance !!

2 réponses

  1. diablo13800 Messages postés 3469 Date d'inscription   Statut Membre Dernière intervention   1 872
     
    Bonjour,

    Cela est normal. La fonction si n'a que 3 Arguments: La condition, La valeur si vrai et la valeur si faux.

    Pour remédier a cela il faut mettre en valeur si faux un autre si.

    Voici ce que donne votre formule:

    =SIERREUR(SI(B13="francais";RECHERCHEV(C13;tableaufrancais;3;FAUX);si(b13="anglais";(RECHERCHEV(C13;tableauanglais;3;FAUX);RECHERCHEV(C13;tableauespagnol;3;FAUX)));"")

    1
    1. LDSTE
       
      Merci beaucoup pour votre réponse !!!
      0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    votre formule est incomplète
    vous avez bien la condition de recherche pour français, et donc dans votre première formule, c'est l'un ou l'autre
    dans la seconde formule, si B3 n'est pas français, vous ne dites pas Excel où il faut aller chercher la suite
    écrivez:
    =SIERREUR(SI(B13="francais";RECHERCHEV(C13;tableaufrancais;3;FAUX);SI(B13="anglais";RECHERCHEV(C13;tableauanglais;3;FAUX);RECHERCHEV(C13;tableauespagnol;3;FAUX));"")

    et attention aux trois parenthèses avant la fin )));"") soit 2 SI + 1 SIERREUR)

    et si vous nommez simplement vos plages de recherche<gras> avec le nom exact inscrit en B13 vous pouvez écrire en une seule formule:</gras>

    =SIERREUR(RECHERCHEV(C13;INDIRECT(B13);3;0);"")
    qui va chercher la plage dont le nom est inscrit en B13
    ça fait plus court

    crdlmnt
    1
    1. LDSTE
       
      Merci beaucoup pour votre réponse, le formule longue fonctionne parfaitement.
      Par contre la formule courte avec INDIRECT m'a l'air intéressante mais ne fonctionne pas.
      Qu'est-ce que vous voulez dire par le nom exact en B13... je suis en liste déroulante donc le nom exact s'affiche...
      Merci
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjkour
      ce qu'il faut c'est que le nom du champ dans la liste des champs nommés, soit strictement identique à celui de la cellule en B13
      Là, à priori vous avez des champs nommés: tableaufrançais, tableau anglais; ect..). Modifiez ces noms pour avoir le même que dans la cellule B13, soit donc ceux du menu déroulant (sans blanc)
      crdlmnt
      0
    3. LDSTE
       
      Je suis désolé mais je ne comprends pas très bien...
      Mes Indirect porte exactement les même nom que mes choix en cellules B13
      Mais j'aimerais que les choix dans ma liste déroulante en C13 soit seulement les dates des sessions
      donc je ne dois sélectionner que la colonne ou figure mes dates... donc pas de tableau avec le reste de mes valeurs...
      ou bien lors de la validation des données on peut choisir un tableau entier et n'afficher qu'une colonne ?
      0
    4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonn alors on reprend avec une question:
      votre formule:
      =SIERREUR(SI(B13="francais";RECHERCHEV(C13;tableaufrancais;3;FAUX);SI(B13="anglais";RECHERCHEV(C13;tableauanglais;3;FAUX);RECHERCHEV(C13;tableauespagnol;3;FAUX));"")

      à quoi correspondent dans votre formule, les noms
      tableaufrancais
      tableauanglais
      tableauespagnol
      en terme d'adresse Excel: champ?, plage? colonne<?
      je suppose que ce sont des champs nommés?non?

      ou encore pour faire plus court
      quelles sont les adresses des plages où vous allez chercher la valeur de C3?


      ou encore, pour finir, sans changer les noms, voyez avec cette formule:
      =SIERREUR(RECHERCHEV(C13;INDIRECT("tableau"&B13);3;0);"")
      si B13 contient bien le texte qui suit "tableau" pour les trois langues
      à vous lire
      0
    5. LDSTE
       
      en fait, j'ai nommé une plage (A1-A10) "cours" avec dans chaque champs "francais, anglais, espagnol, allemand etc...
      que j'ai mis en liste deroulante

      a côté
      j'ai des tableaux pour chaque cours.
      les premières colonnes -date debut de session- (que j'ai nommé dans une plage de la meme manière que mes premier choix (francais ou anglais ou espagnol etc...)) que j'aimerai avoir en liste déroulante juste à côté de la première.
      et les colonne suivante sont des informations que j'aimerais retrouver en fonction du choix de mes listes déroulantes...nombres d'heure, nombre de semaine, nombre d'heure par semaine etc...

      j'espère que c'est plus clair... encore désolé pour mon manque de vocabulaire sur Excel, je fais de mon mieux
      0