Recherchev

Fermé
LDSTE - 26 juil. 2018 à 13:59
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 27 juil. 2018 à 19:29
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

diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 857
Modifié le 26 juil. 2018 à 14:04
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
Merci beaucoup pour votre réponse !!!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
Modifié le 26 juil. 2018 à 14:15
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
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
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
27 juil. 2018 à 12:53
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
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
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
Modifié le 27 juil. 2018 à 15:51
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
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