Posez votre question Signaler

Solution excel [Résolu]

Saadapo 7Messages postés 2 mai 2008Date d'inscription - Dernière réponse le 4 mai 2008 à 01:44
Bonjour, tout le monde
Je vous expose mon problème:
Sous excel je voudrai créer deux listes déroulantes ou bien deux combobox (l'essentiel cé que ca fonctionne)
Le choix de remplissage de la deuxième liste déroulante est conditionné par la valeur entrée dans la première.
Par exemple si je choisis 1 dans la première, la 2éme me donne le choix a,b,c
et si je choisis 2 ds la première, la 2ème me donne z,x,y
.........
et je voudrais bien que mes données soient sur un autre fichier ou une autre feuille.
J'ai essayé avec les comboboxs mé j'arrive pas à trouver la bonne astuce, en plus à chaque fois que j'ouvre le document il faut éxécuter les macros, car la combobox affiche la dernière valeur entrée, et plus de liste.
Merci pour votre aide :)
Lire la suite 

Solution excel »

12 réponses
Réponse
+0
moins plus
bonjour

Un petit exemple de ce qu'il est possible de réaliser (si c'est bien ta question) : http://cjoint.com/?fcw6xFdWwY

Pas de macro, uniquement 2 formules nommées pour gérer les deux listes déroulantes.

Les listes de base peuvent être modifiées avec effet immédiat sur les listes déroulantes.
Saadapo - 3 mai 2008 à 20:40
Bonjour,
Oui là ca marche impecablement bien.
Juste une petite question après que tu écris les fonctions, comment tu fais pour créer tes listes déroulantes :)

Merci pour ton aide.
gbinforme - 3 mai 2008 à 23:31
bonjour

comment tu fais pour créer tes listes déroulantes

les listes déroulantes, tu peux les saisir comme tu veux :

- le choix 1 est situé sur toutes les colonnes de la ligne 1

=DECALER(listes!$A$1;;;;NBVAL(listes!$1:$1))

mais tu peux la positionner ailleurs, il suffit de changer les caractères en gras et tu peux par exemple les mettre sur la première colonne et en modifiant les paramètres du choix 2 tu peux prendre les listes 2 sur les colonnes.

- le choix 2 est situé sur toutes les colonnes dépendant de la ligne 1 (caractères en gras)

=DECALER(listes!$A$1;1;EQUIV(saisie!C3;choix1;0)-1;NBVAL(INDIRECT("listes!C"&EQUIV(saisie!C3;choix1;0);0));1)

la colonne affichée dépend de la saisie du choix 1 (en italique) et comme l'adressage n'est pas fixé par $ il s'adapte à toutes les cellules de la feuille concernée : ici C3 car la formule a été copiée sur la cellule D3.

Comme les listes sont totalement dynamiques avec la fonction DECALER tu peux saisir autant de postes que tu veux et la liste les prend en compte automatiquement.

Un petit exemple avec les listes dans l'autre présentation et toujours 2 formules nommées : http://cjoint.com/?fdxJ6L3SQ5

les formules nommées
choix1	
=DECALER(listes!$A$1;;;;NBVAL(listes!$1:$1))
choix2	=DECALER(listes!$A$1;1;EQUIV(saisie2!C5;choix1;0)-1;NBVAL(INDIRECT("listes!C"&EQUIV(saisie2!C5;choix1;0);0));1)
choix11	
=DECALER(listes2!$A$5;;;NBVAL(listes2!$A:$A);)
choix12	=DECALER(listes2!$A$5;EQUIV(saisie2!C4;choix1;0)-1;1;1;NBVAL(INDIRECT("listes2!L"&EQUIV(saisie2!C4;choix1;0)+4;0)))
Saadapo - 4 mai 2008 à 01:42
Bonsoir,
Merci pour ton aide. Ca répond largement à ma question.
Merci encore :)
Cordialement
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour
Tout simplement:
Organiser un tableau de référence avec en ligne les titres de la 1° ligne et sous chaque titre la liste des références à afficher
Nommer les listes de référence avec les noms de la 1° liste à remplir(automatique)
Dans la 1° liste à remplir:
Dans le second renvoi, sous Données / Valdation /Liste, placer dans la fenètre la ligne de titre du tabelau de référence
Dans les cellules à remplir:
Dans le second renvoi, sous Données / Valdation /Liste, placer dans la fenètre
=INDIRECT(Adresse Cell remplie en 1°)
Voir selon exemple ci joint
http://cjoint.com/?fdhyZ0dBw0

CRDLMNT


Saadapo - 3 mai 2008 à 19:14
Bonjour,

Alors j'ai suivi vos instructions, et j'ai terminé avec la feuille de référence.
Cependant quand je passe à la feuille de mon tableau et qd je mé ceci
"Données / Validation /Liste/ dans la fenêtre du bas =TITRE" un message d'erreur apparait
"La plage de feuille de calcul acceuillant les données de la liste doit se trouver sur la feuille de calcul active"

Merci pour votre aide.
Cordialement
Vaucluse - 3 mai 2008 à 20:00
Là, ça m'échappe, avez vous bien nommé votre ligne de référence "TITRE". En principe, Excel ne reconnaît pas les données lorsqu'un champ d'une autre feuille est spécifié, mais cela fonctionne lorsque le champ est nommé.
Voir avec fichier ci joint, le même où j'ai rajouté une feuille pour représenter votre configuration.(Ceci n'st pas le cas dans le fichier que je vous ai envoyé, car la liste est sur la même feuille et donc définie dans validation par les limites du champ)
http://cjoint.com/?fdubgdByPj
Si vous ne vous en sortez pas:
Mettez vote fichier en suivant la procédure demandée au lien ci dessous:
http://www.cjoint.com/
Pour le mette à mon adresse:
Cliquez sur mon pseudo sur un de mes messages et cliquez ensuite sur l'onglet "message privé"
Copiez dans ce mesage le code que vous a donné Cjoint
J'essaierai de voir ce qui ne va pas.
A +
CRDLMNT
Saadapo - 4 mai 2008 à 01:44
Bonsoir
Merci pour votre aide, le problème est résolu.

Cordialement
Ajouter un commentaire
Ce document intitulé « Solution excel » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook