Afficher un menu déroulant différent suivant un code préalable

Résolu/Fermé
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015 - 8 sept. 2013 à 21:48
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015 - 13 sept. 2013 à 20:48
Bonjour,

Une nouvelle équation à vous soumettre.
Est il possible d'afficher dans une cellule un menu déroulant différent en fonction d'un code de sélection dans une autre cellule.

Ex si en D10 je sélectionne "A", j'aimerauis qu'en E10 s'affiche la liste de sélection des accessoires, par contre si en C10 je sélectionne "O", j'aimerais qu'en E10 s'affiche la liste de sélection des Outils...

Cela est il possible, si oui comment ? je suis sur excel 2004.

je jojns le lien vers mon tableau de base.

https://www.cjoint.com/?CIivQb3a8uB

Merci d'avance...
A voir également:

6 réponses

via55 Messages postés 14399 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 16 avril 2024 2 701
8 sept. 2013 à 22:32
Bonjours

Exemple à suivre sur une liste d'après ton fichier
https://www.cjoint.com/?0IiwGeQtXL8

Cdlmnt
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
9 sept. 2013 à 21:33
Bonjour,

Pigé le principe et ça fonctionne. Merci...
Seul souci, quand je formule mes listes pour qu'elles ne soient pas "limitées" et qu'elles prennent en compte les ajouts au fil de la saisie, il ne me les affiche plus dans le menu déroulant de la cellule en "saisie achats".
Par contre quand je sélectionne les cellules, ça marche...
0
via55 Messages postés 14399 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 16 avril 2024 2 701
9 sept. 2013 à 22:48
Oui c'est normal si ta liste est dynamique (avec DECALER etc) dans la validation de données de la cellule E il ne faut pas mettre =INDIRECT(D10) mais =DECALER(INDIRECT($D$10);1;;NBVAL(INDIRECT(D10))-1)
et ça doit fonctionner
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
9 sept. 2013 à 22:56
Re,
J'ai essayé mais ça ne marche pas. il ne m'affiche plus rien dans le menu. Et quand je valide avec cette formule il me dit que la cellule est "invalide"...
dsl
0
via55 Messages postés 14399 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 16 avril 2024 2 701
10 sept. 2013 à 01:49
ok
ne reste plus alors qu'à ne pas nommer tes plages de maniere dynamique mais avec une plage assez grande pour inclure les éventuelles données futures
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
10 sept. 2013 à 06:49
OK. Puisqu'on a le choix, on va donc faire ainsi... lol En tous cas, merci encore pour ton aide.
C'est super sympa, et ça m'aide un max...
Cordialement,
0
Bonjour

moi je prefere avec un UserForm
Voici un model

http://cjoint.com/?3Ikl7Q8umqM

A+
Maurice
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
10 sept. 2013 à 12:17
Bonjour Maurice,
L'idée est séduisante, merci, mais je suis sous excel 2004 et visiblement il "n'encaisse" pas...
Tout se fige et les commandes ne répondent pas...

Mais merci quand même c'est sympa...

Cdlt
0
bonjour

je ne pense pas car ses fait en excel 2002

a tu activer les macro ?

Maurice
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
10 sept. 2013 à 12:28
Oui j'ai activé les macros. Mais je ne maitrise pas du tout cette "technique"... Je suis "débutant" excel lol
Il me faudrait littéralement une formation sur ta méthode.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour

désoler pour toi dur dur
je ne ses pas faire les function désoler

A+
MAurice
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
10 sept. 2013 à 12:40
Pas grave, un de tes collègues m'a donné une formule "adaptée" à mes capacités :)

Juste pour info, quand je clique sur "Userform" il m'affiche le message suivant "Nombre d'arguments incorrect ou affectation de propriétés incorrecte".

Merci quand même, vous êtes géniaux sur ce forum. Grâce à vous je fais des bonds de progrès auxquels je n'osais même pas rêver... Bravo et merci encore pour ce forum...

Cdlt
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
11 sept. 2013 à 17:52
Bonjour,

Me voila de retour avec mon tableau qui prend forme grâce à vous.
Je souhaite l'améliorer encore.

La sélection du code "Achat" en D m'ouvre une liste avec des références articles correspondant au code achat en D. J'aimerais que le menu déroulant en E réagisse dès la saisie des premiers caractères saisis, en m'affichant les choix possibles correspondants? et qu'en F s'affiche la désignation de l'article correspondant à le ref en E.
Je ne sais pas si c'est clair... mais je vous ai mis mon tableau en ligne

https://www.cjoint.com/?CIlrUpCQed1

Merci d'avance et encore pour votre aide.

Bien cordialement,
0
via55 Messages postés 14399 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 16 avril 2024 2 701
11 sept. 2013 à 19:46
Bonsoir

Pour la désignation tu dois créer de nouvelles listes appelées Ref_A, Ref_Co etc
incluant les 2colonnes de references et de désignation
On va chercher la bonne désignation avec une formule de recherchev (avec le nom de la plage recomposé avec la formule indirect puisqu'il varie selon le code)
j'ai fait la manip pour les accessoires en nommant la plage MN Ref_A et j'ai mis la formule en F10 des achats ( à étirer ensuite) à toi de nommer les autres plages..

https://www.cjoint.com/?0IltT6WGd8O

Pour que le menu réagisse à la frappe des caractères cela suppose déjà que la liste soit triée et une formule un peu plus complexe, va voir sur le site de boisgontierjacques.free.fr à la rubrique listes en cascades, il y a plusieurs exemples tu devrait trouver ce que tu cherches

Cdlmnt
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
11 sept. 2013 à 22:34
Bonsoir,
Merci infiniment pour ton aide. Ça marche du tonnerre... Par contre quand les cellules codes achat et ref sont vides, il m'affiche #Ref! en Cellule F. On peut y remédier ? je n'ai pas trouvé la solution.

Merci encore pour tout.

Cdlmt
0
via55 Messages postés 14399 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 16 avril 2024 2 701
13 sept. 2013 à 01:14
Bonsoir

J'avais repondu hier mais ma réponse est effacée aujour d'hui !!

tu remplace la formule par :

SI(ESTERREUR(l'ancienne formule de recherchev);"";l'ancienne formule de recherchev)

Cdlmnt
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
13 sept. 2013 à 07:21
Bonjour,
Effectivement je n'ai rien vu passer hier.
Merci en tous cas d'avoir suivi...
Par contre j'ai fait comme tu m'a demandé et il me dit que la formule contient une erreur... j'ai essayé des modifs, mais sans succès...
Voila ce que j'ai mis comme tu m'as demandé. =SI(ESTERREUR(RECHERCHEV(E10;INDIRECT("Ref_"&D10);2;0);"";RECHERCHEV(E10;INDIRECT("Ref_"&D10);2;0)

Mon soucis c'est que je comprends le principe de la formule, mais je ne comprends pas l'ensemble, alors du coup pour corriger... par ex la fin je ne sais pas à quoi correspondent le ;2;0 ???
Merci en tous cas de ton aide et de ta patience...

Cdlmt
0
via55 Messages postés 14399 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 16 avril 2024 2 701
13 sept. 2013 à 11:48
Bonjour

Il manque une parenthèse dans ta formule pour refermer le ESTERREUR
la bonne est ;
SI(ESTERREUR(RECHERCHEV(E10;INDIRECT("Ref_"&D10);2;0));"";RECHERCHEV(E10;INDIRECT("Ref_"&D10);2;0)

explication de la formule RECHERCHEV
recherche la valeur affichée en E10 dans la plage nommée REF_valeur en D10 (ex dans la plage Ref_A si A a été choisi en D10) et renvoie la valeur trouvée dans la 2eme colonne de cette plage (c'est le 2 dans la formule) et la formule recherche une correspondance exacte (c'est le 0)

Cdlmnt
0