![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Débutant sous excel, j'aimerai créer un classeur dans lequel à partir d'un menu déroulant, je puisse afficher tous les données d'une ligne à partir d'un choix dans une cellule. Exemple , si je clique sur une cellule déroulant dans laquelle se trouve une valeur (Dupont), je désire voir apparaîte sur une ligne, le prémon, adresse, ect
Merci d'avance pour vos réponse |
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
Bonjour Michel,
Alors, on va tenter sans envoi de fichier Exemple. Considérons que : Ligne 10 à Ligne 6O contiennent tes données (ta base de données). ColA : Nom, ColB : Prénom .... puis le reste jusqu'à la colonne E En A1 on va placer la liste déroulante permettant de choisir un nom. Alors tu cliques sur A1, puis tu vas dans Données / Validation - Options (onlget) tu choisis : Catgéorie : Liste et Source : =$A$10:$A$60 En B1 tu places la formule suivante : =RECHERCHEV($A$1;$A$10:$E$60;COLONNE();FAUX) et tu la recopies jusqu'en E1 Voilà, le tour est joué ! Ah oui ! Si aucune valeur n'est renseignée en A1, tu obtiens de jolis #NA un peut partout. On va corriger ça, en B1 tu places la formule : =SI(ESTNA(RECHERCHEV($A$1;$A$10:$E$60;COLONNE();FA UX));"";RECHERCHEV($A$1;$A$10:$E$60;COLONNE();FAUX )) et tu la recopies jusqu'en colonne E YAPLUKA adapter tout ça à tes besoins ;o)) Bonne matinée Rai |
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
Salut André,
J'suis OK pour ta beauté du geste, tu as raison. Puisqu'on fait appel à une liste de validation, et que du coup le contenu de A1 existe forcément dans la base, on peut aussi tester si A1 contient quelquechose. Soit A1<>"" soit ESTVIDE(A1) =SI(ESTVIDE($A$1);"";RECHERCHEV($A$1;$A$10:$E$60;C OLONNE();0)) ou =SI(A1<>"";RECHERCHEV($A$1;$A$10:$E$60;COLONNE();0 );"") Dans ce dernier cas pas la peine de bloquer A1 avec des $, les cellules se mettant à "" en cascade ;o) Et connaissant mon aversion pour RECHERCHEV au profit de la combinaison INDEX & EQUIV, je propose la formule suivante : =SI(A1<>"";INDEX(B10:B60;EQUIV($A$1;$A10:$A60;0)); "") toujours à placer en B1 et à recopier sur la plage. Cette fois-ci, on a fait un tour sympa des possibilités de recherche, non ? Bonne matinée, et au plaisir de "papoter" techniques ;o) c'est toujours instructif Rai |
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
Resalut Rai,
La fonction ESTVIDE() est encore plus courte, d'accord, mais elle a un petit inconvénient. Si en A1 tu encodes un nom quelconque, sans faire appel à la liste de validation, et que ce nom n'existe pas dans la plage de recherche, tu auras toujours un message d'erreur. C'est pourquoi je lui préfère le NB.SI Ândré. |
|
|
#6 (permalink) |
|
Guest
Messages: n/a
|
re- André,
Voilà que nous squattons le fil de ce pôôôvre Michel qui voualit juste une solution rapide ;o)) Je suis, encore une fois, tout à fait d'accord avec ton propos. D'autant plus que je n'avais jamais envisagé le test de la présence de l'élément cherché dans la base sous cet angle là. J'aime bien pour 2 raisons : 1. c'est élégant 2. ça me permet de proposer plusieurs solutions à mes stagiaires, d'où un intérêt pédagogique certain C'est une des raisons qui m'amène à fréquenter les forums avec grand plaisir, on en apprend tous les jours. c'est à se demander si Excel n'est paas uen école d'humilité ... Bye Rai |
|
|
#7 (permalink) |
|
Guest
Messages: n/a
|
Re
Je compare souvent Excel à une recette de cusine. Avec les mêmes ingrédients l'un se voit attribuer 3 étoiles, l'autre n'exploite q'un bui-bui (étant belge, je dirais une friture). Il faut trois éléments : la connaissance de l'existence des fonctions, leur syntaxe et puis surtout beaucoup d'magination pour les choisir et les combiner. Ândré. |
| Liens sociaux |
| Outils de la discussion | |
|
|