Liste déroulante

Résolu/Fermé
estella endromed Messages postés 46 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 11 juillet 2013 - 30 avril 2013 à 11:38
estella endromed Messages postés 46 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 11 juillet 2013 - 3 mai 2013 à 09:41
Salut,
En ce moment je travaille beaucoup avec execl, notamment les menus déroulant lies c.-à-d. le contenu d'un menu s'affiche en fonction du contenu d'une cellule par exemple:
groupeA:1 3 5 7 9
groupeB: 2 4 6 8 10

Liste déroulante 1 :contient groupeA, groupeB
Liste déroulante 2: contiendera les numerous soit paire ou impaire en fonction de ce qui est sélectionné (A ou B)
Jusqu'à là je peux le faire avec l'onglet de validation, mais ce que je veux avoir précisément est : quand je sélectionne groupeA le premier numéro (donc le 1) apparaisse dans l'autre cellule des numéros et si je sélectionne goupeB mémé chose le premier numéro apparait (donc le 2).

(Pour vu qu'un numéro de la bonne liste appaaissent pas spécialment le premier de la liste car actuellement quand je choisis groupeB la cellule des numéro reste sur l'un des numéro du groupeA c'est normal mais ce n'est pas ce qu'il me faut)

4 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
30 avril 2013 à 12:36
Bonjour
si vous voulez n'importe quel numéro, peut être pas besoin de liste déroulante dans la seconde cellule
voyez ce modéle qui vous donne un nombre aléatoire choisi dans l'une ou l'autre des listes
https://www.cjoint.com/c/CDEmJd6kI5n

.. mais qui change à chaque action dans la feuille.

On peut le figer en VBA à chaque action dans la cellule F2, revenez si besoin.
crdlmnt
0
estella endromed Messages postés 46 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 11 juillet 2013 1
30 avril 2013 à 14:21
Merci Vaucluse pour ta suggestion, cepandant j'ai pris comme exemple des nombres paire et impaire juste pour faciliter la compression de ce que je veux; en réalité à la place des numéro c'est des noms.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
30 avril 2013 à 15:02
Alors avec celui ci peut être pourra t on en savoir encore un peu plus sur votre besoin réel?
https://www.cjoint.com/?CDEpaTGrbcw
Mais s'il y a encore des questions, arrangez vous pour que la demande soit complète, merci pour eux.
Crdlmnt
0
estella endromed Messages postés 46 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 11 juillet 2013 1
1 mai 2013 à 14:39
salut,
Merci Vaucluse pour ta proposition et que vu que me fichier est hyper lourd, j'ai dû le réduire et ne laisser que l'essentiel pour la compréhension de mon problème, voici le lien:

https://www.cjoint.com/c/CEboLkZqWNt

Merci à tous pour votre aide
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
1 mai 2013 à 18:23
Re

En ce qui concerne les listes de validation, vous n'êtes pas loin de la vérité avec votre fichier.

1°)
pour que Excel admette une validation entre deux feuilles, il faut utiliser le nom du champ de référence à la,place de l'adresse.
Ainsi pour le champ en A vous pouvez utiliser plutôt que la formule le nom donné à la liste soit:
Etage
La validation se place de la même façon avec la formule:
=Etage
2°)Pour ajuster la liste à la longueur voulue selon le remplissage de la colonne F, vous pouvez utiliser cette formule dans la définition du nom Etage
=DECALER(Inventaire!$F$2;;;NBVAL(Inventaire!$F$2:$F$50))

3° pour ajuster la validation en B, vous pouvez nommer un champ ajusté sur la valeur de A avec par exemple le nom Chambre, défini une formule similaire à celle utilisée pour la validation en B9 dans votre modèle
=DECALER(Inventaire!$G$1;EQUIV(Inventaire!$A$9;Inventaire!$F$2:$F$50;0);;;6)
(qui donnera dans chaque option Etage, 6 postes de menu. On peut ajuster la liste aussi ici au nombre de chambres, mais est ce vraiment nécessaire
Bien entendu, remplacer dans cette formule la valeur $A$9 par l'adresse de la cellule sur la feuille utilisée en bloquant avec les signes $ selon ce que vous voulez
Par exemple : Selection!$A$2 si vous choisissez l'étage en A2 seulement, Selection!$A2 si vous voulez constituer une liste en feuille Selection colonne A

Quant au reste de votre question j'avoue ne pas trop comprendre ce que vous voulez?

crdlmnt
0
estella endromed Messages postés 46 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 11 juillet 2013 1
1 mai 2013 à 20:16
Re

Je vous remercie Vaucluse avant tous pour vos réponses, cela dit je vais essayer de reformuler mes questions:

1-Sélection d'un étage implique l'apparition d'une des chambres de cet étage sans avoir à changer le contenu de B9:
exp si j'utilise pour la première fois le menu déroulant:
A9=etage2 " je déroule la liste" je sélectionne chambreG par exp
maintenant A9=etage1 je veux que B9 contienne sans devoir dérouler le menu chambreA par exemple (pour vu que ça soit un élément de l'étage1)

si vous regarder mon fichier: quand je sélection etage1 avec chambreD
je change de sélection etage2 la cellule B9 contient toujours chambreD (c'est tout à fait normal car il faut dérouler la liste et choisir l'une des chambres proposées) or je veux y remédier:

lors de la sélection d'un étage en A9 la cellule B9 contiendra au départ le premier élément de la liste, puis si besoin je peux sélectionner une autre chambre.


2-le menu déroulant contient des vides qui représentent des cellules réservées pour un futur ajout de chambres ou d'étages.
avec cette méthode si vous avez une nouvel étage à ajouter il suffit juste d'écrire le nom de l'étage en F5 il s'ajoutera sur la liste de A9 sans toucher aux formules.
si vous avez un autre moyen, je suis preneuse à condition de ne pas devoir modifier les formules lors de l'ajout d'un nouvel élément .

Si ce n'ai pas encore clair, faites le moi savoir.

Merci d'avance
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 2/05/2013 à 07:41
Bonjour pour aujourd'hui!

ci joint un fichier qui résume un peu ce que je vous proposais comme formule
La proposition est dans le tableau gris de la feuille Selection:
_la liste des Etages et nommée Etages, elle s'ajuste au nombre de lignes remplies en F de la feuille Inventaire, de F2 à F50
_La liste des chambres et nommée chambre; elle s'ajuste au nom de l'étage en A et au nombre d'étages pour chaque sélection
_Dans la feuille Sélection, lorsque vous sélectionnez une cellule en A de A2 à A20, la cellule B correspondante est effacée. Est il vraiment utile dans ce cas d'afficher un étage?
_Pour régler le champ de la commande d'effacement selon vos besoins clic droit sur onglet Selection, et visualiser le code.. Les explications sont en vert dans le code.
https://www.cjoint.com/c/CEchORO08Od
crdlmnt


Errare humanum est, perseverare diabolicum
0
estella endromed Messages postés 46 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 11 juillet 2013 1
2 mai 2013 à 12:02
Bonjour Vaucluse,

C'est impressionnant ça marche à merveille, merci infiniment vous êtes très fort!
- Pourriez-vous m'indiquer SVP que représente le 10 à la fin de la formule de la liste chambre?
- C'est fantastique que le contenu de la cellule s'efface, je n'avais pas y pensé! y a-t-il un moyen pour rajouter dans la macro une commande qui permettrait d'afficher le premier élément de la liste qui correspond à l'étage sélectionné ( ça serai vraiment utile pour moi par la suite car j'en ai besoin pour réaliser une représentation schématique des armoires continues dans certains étages )

Merci encore une fois pour votre aide
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 2/05/2013 à 12:48
Alors voila la variante:

https://www.cjoint.com/c/CEcmQUUnax5

Quand vous cliquez sur une cellule A, A et B sur la ligne s'efface et et la 1° chambre apparaît quand vous sélectionnez l'étage en A.

Bien sur vous pouvez modifier la chambre en B avec le menu déroulant, mais cette action efface la formule qui affiche la 1° chambre

Le 10 dans la formule du nom Chambre est arbitraire, il définit la largeur du champ dans laquelle le second code DECALER compte le nombre de cellules documentées;
Ave votre tableau de G à L, 6 aurait suffit. J'ai pris 10 au hasard qui vous permet de rajouter des chambres jusqu'à P

crdlmnt
0
thewinner123
2 mai 2013 à 13:14
slt estella endromed. en fait je suis un débutant et j'aimerais savoir si la liste déroulant ne peut se faire sans macro parce que cela m'intéresse mais je m'y connais pas en macro.merci
0
estella endromed Messages postés 46 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 11 juillet 2013 1
2 mai 2013 à 18:20
Bravo Vaucluse ça marche très bien!
juste pour savoir si je veux metttre la selection de l'étage dans la cellule B3 et la selection B4, quand je modifie la formule VLOOKUP ne se maintient elle change de valeur :

B4 = IF(B3="","",VLOOKUP(B3,champ,2,0))
au lieu que la cellule b4 contienne toujours la meme formule si dessus, quand je clic sur entrée B3 deviant A4 !!

pour résumer je veux changer de dispositon mettre la selection de l'étage sur B3 et la selection de la chamber sur B4.


Mille merciiiiiii
0
estella endromed Messages postés 46 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 11 juillet 2013 1
2 mai 2013 à 18:26
salut thewinner123,
oui tu peux aller sur l'onglet donnée, puis validation des données choisir dans le menu déroulant liste puis mettre ta formule (sans oublier de mettre un =)
voici des liens franchement c'est avec ça que j'ai sû le faire:

https://www.youtube.com/watch?v=tf40-xXn_rI avec office 2010
https://www.youtube.com/watch?v=SaxVFoHPf1Y avec office 2007

fais moi signe si tu as des questions.

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 2/05/2013 à 19:35
Voila la modification
https://www.cjoint.com/c/CEcsHbeGGqF
pour correction éventuelle à venir, voyez les modifications du code VBA de l'onglet et aussi celle de la formule définissant le nom Chambre
Dans cette version, seule la cellule B3 lance la macro d'effacement
La formule de recherche fait référence à la cellule au dessus de B4 (Donc B3)
La formule du nom chambre fait référence à B3 (figé)
crdlmnt
0