Solution excel

Résolu/Fermé
Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008 - 2 mai 2008 à 21:18
Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008 - 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 :)
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
2 mai 2008 à 23:03
bonjour

Un petit exemple de ce qu'il est possible de réaliser (si c'est bien ta question) : https://www.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.
0
Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008
3 mai 2008 à 15:18
Bonjour,
ton exemple marche très bien, mé l'inconvénient cé ke dès que je change la liste ca marche plus, en fait ton exemple fait référence à la première lettre du premièr choix, donc si je rentre par exemple fraude il me donne les éléments correspondants de la colonne F (mm si fraude et dans la colonne A).
Merci pour ton aide :)
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684 > Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008
3 mai 2008 à 19:31
bonjour

Tu as raison, il y avait un 1 à la place d'un zéro dans la formule : rien n'est parfait !

C'est corrigé ici : https://www.cjoint.com/?fdtCQQ0loR

avec toutes mes excuses...
0
Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
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.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684 > Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008
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 : https://www.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)))
0
Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
4 mai 2008 à 01:42
Bonsoir,
Merci pour ton aide. Ca répond largement à ma question.
Merci encore :)
Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
3 mai 2008 à 07:24
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
https://www.cjoint.com/?fdhyZ0dBw0

CRDLMNT


0
Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008
3 mai 2008 à 15:26
Bonjour,
Je crois que votre exemple me convient très bien. Alors j'ai crée mon tableau de référence et jé nommer les listes de référence. Mais comme je ss un débutant jé pas bien saisie la suite:)
je voudrai que mon tableau de référence soit sur une autre feuille (c'est possible selon ton exemple)
Et j'arrive aussi pas à créer la case où je peux choisir mes titres et par la suite la case où s'affiche les sous titres correspondants.
Merci pour ton aide.

Cordialement :)
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394 > Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008
3 mai 2008 à 18:08
Bonjour,On devrait y arriver
à partir de l'exemple que j'ai transmis, ,le mieux est d'essayer de le reconstruire avant de tenter autre chose.
Bien entendu, le tableau de référence peut être sur une autre feuille, à la condition impérative que toutes les listes soit nommées;
Ne sachant pas ce que vous voulez comme rèf, je vous explique ce qui se passe dans mon exemple:

Le tableau de référence est dans les colonnes A,B,C,D,E

Les titres de colonnes donnent impérativement le nom des listes
pour cela:
_sélectionnez le champ de la 1° colonne (dans mon exemple, de A1 à A7 inclus, donc y compris la ligne de titre et:
_Insertion / Nom /Définir : l'affichage vous donne automatiquement la cellule A1 comme nom de la liste
_Faire ceci avec toutes les colonnes de référence

Ensuite, comme vous souhaitez travailler sur une feuille dfférente pour vos entrées, il faut nommer le champ de totre de vos références, c'est impératif
_électionnez dans mon exemple:de A1àE1
_Insertion / Nom / Dans la fenêtre nom, rentrez par exemple:TITRE
C'est tout pour la feuille de références.

Passez à la feuille de votre tableau, dans mon exemple, il s'agit du champ:G2,H7
_Sélectionnez de G2àG7:
_Données / Validation /Liste/ dans la fenêtre du bas
=TITRE.
_Sélectionnez de H2àH7
_Données / validation / Liste / Dans la fenêtre taper:
=INDIRECT(G2)
attention, ne pas mettre de blocage sur G2, vous aurez automatiquement en G3=INDIRECT(H3) Etc...
Avec ceci, ce qui se passe:
e G2 à G7, lorsque vous cliquez sur une cellule, le menu de la ligne 1 de référence s'affiche et vous pouvez choisir votre code.
Lorsque le code est placé dans la cellule G, vous cliquez sur la cellule H correspondante , et le menu déroulant dont le nom et dans la cellule G aparrait

Selon la construction que vous adoptez pour vos références, vous pouvez à partir de cette seconde cellule,trouver d'autres menus, Etc....

espèrant vous avoir aidé.
CRDLMNT




0
Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008 > Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394 > Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008
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)
https://www.cjoint.com/?fdubgdByPj
Si vous ne vous en sortez pas:
Mettez vote fichier en suivant la procédure demandée au lien ci dessous:
https://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
0
Saadapo Messages postés 7 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 4 mai 2008 > Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022
4 mai 2008 à 01:44
Bonsoir
Merci pour votre aide, le problème est résolu.

Cordialement
0