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
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
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
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)));"")
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)));"")
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
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
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
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
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
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
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 ?
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 ?
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
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
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
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
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
27 juil. 2018 à 12:03