Liste déroulante conditionnée par une autre

Résolu
senecartour Messages postés 391 Statut Membre -  
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai une base avec deux colonnes (Parents et Enfants).
Je voudrais créer une liste déroulante avec la liste des parents et lorsqu'on choisi dans la liste un Parents on affiche les enfants de ce Parents.
J'ai commencé à le faire en utilisant des formules mais je suis complétement bloqué, car il y a une erreur dans ma formule que je n'arrive pas à détecter.
Je vous joins mon fichier: https://www.cjoint.com/?DEnqMuHLom5

Et par avance, merci beaucoup pour votre aide!!




Partager son savoir est la meilleure façon d'apprendre!
A voir également:

11 réponses

skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
J'ai déjà ralisé un projet similaire.

Si vous voulez je peux vous expliquer comment faire (mais vous devrez le faire même) Il vous faudra des conaissences en VBA, ou avoir envie d'apprendre (je veux bien vous expliquer le début le reste faudra utilisé des tutos)

Ou si non je peux le faire pour vous.
0
Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 138
 
Bonjour,

peut on avoir plusieurs enfants pour un nom de parent, et s'il y a plusieurs enfants, le nom des parents peut il être sur plusieurs lignes ou le prénom des enfants se trouve sur plusieurs colonnes

mais pas forcement besoin de VBA

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
J'imagine , tout ce que j'ai dit c'est que moi je l'ai fait en VBA :)
0
senecartour Messages postés 391 Statut Membre 3
 
Oui, l'objectif c'est de ssavoir comment le faire par moi même. D'ailleurs j'ai commencé la démarche:
-Nommer les plages pour les plages Parents et Enfants
-Créer la liste déroulante des parents
-Mais c'est au niveau de ma formule que je rencontre une erreur que je n'arrive pas trouver:
=SI(LIGNES($1:1)<=NB.SI(Parents;$D$17);INDEX(Enfants;PETITE.VALEUR(SI(Parents=$D$17;LIGNE(INDIRECT("1:"&LIGNES(Enfants))));LIGNES($1:1)));"")

C'est gentil de vouloir m'expliquer comment faire!
Merci d'avance!
0
senecartour Messages postés 391 Statut Membre 3
 
Oui bien sûr on peut avoir plusieurs enfants pour un parents.Non pas forcément besoin de VBA avec des formules excel cela peut fonctionner. D'ailleurs j'ai commencé à le mettre en place mais c'est au niveau de ma formule qui beug:
Vous pouvez vous référencer du fichier joint: https://www.cjoint.com/?DEnqMuHLom5

Merci d'avance!
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 442
 
pour que ça ne "beug" pas, il faut entre la formule en E2:E4 comme une matricielle, c'est à dire avec la touche enter en maintenant les touches ctrl et shift enfoncées.
crdlmnt
0

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

Posez votre question
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Pour le formule je peut pas vraiment vous aider. Il me faudrait un aperçu du classeur, et personellement je préfère une simple macro à une formule compex.

Si vous voulez que je vous l'explique en VBA, il faut que je connaisse quel est votre niveau par rapport à ce langage.

Si vous êtes complètement débutant vous pouvez y arriver mais ça prendra peut-être un peut de temps :)
0
senecartour Messages postés 391 Statut Membre 3
 
Ok, j'aimerais bien! je m'y connais un peu en VBA. Si ce n'est pas trop complex, je peux y arriver!
Merci d'avance
0
Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 138
 
Re,

en E17 colle cette formule

=SI(LIGNES($1:1)<=NB.SI(Parents;$D$17);INDEX(Enfants;PETITE.VALEUR(SI(Parents=$D$17;LIGNE(INDIRECT("1:"&LIGNES(Parents))));LIGNES($1:1)));"")

comme le dit mon ami Vaucluse que je salue, confirme la formule alors qu'elle est active en cliquant en même temps sur les trois touches du clavier Ctrl, Shift et Entrée

si tu fais bien la formule se placera entre {}

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
senecartour Messages postés 391 Statut Membre 3
 
J'ai copier coller la formule en E17 comme conseillé, les {} apparaissent bien mais il y a toujours une erreur.
En effet, après d'un parent, toutes les fils ne s'affiche pas. En effet, j'avais le même problème.
Pourriez-vous regarder le fichier directement et me dire ce qu'il ne fonctionne pas?

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

Merci d'avance
0
senecartour Messages postés 391 Statut Membre 3
 
Vaucluse et Mike-31, merci beaucoup!
Donc ma formule était bonne sauf qu'il fallait les mettes entre {} et les copier en E17 et E2:E10.
Ouff!!! une bonne leçon en tout cas!!
Merci infiniment
0
Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 138
 
Re,

non il ne faut pas mettre les {}

il doivent se mettre seuls lors de la confirmation de la formule, pour cela soit clic sur la cellule contenant la formule, et clic sur la formule de la barre des formules ou double clic sur la cellule contenant la formule, ensuite il faut cliquer en même temps sur les trois touches Ctrl, Shift et Entrée et les deux accolades apparaissent {}
ensuite il faut incrémenter la cellule vers le bas comme dans l'exemple plage que j'ai mise en jaune

https://www.cjoint.com/?DEnuITMyNE0
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
DAc plus besoin de VBA bonne journée :)
0