Liste déroulante à simplifier deux fois
Fermé
Aurore
-
30 mai 2012 à 17:51
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 - 13 juin 2012 à 14:58
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 - 13 juin 2012 à 14:58
A voir également:
- Liste déroulante à simplifier deux fois
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Deux comptes whatsapp - Guide
- Annuaire inversé gratuit liste rouge - Forum Mobile
- Sirène pompiers 5 fois signification ✓ - Forum Loisirs / Divertissements
3 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 mai 2012 à 18:01
30 mai 2012 à 18:01
Bonsoir Aurore
un petit tuto qui montre que l'on peut utiliser INDIRECT en cascade, ,il suffit de nommer correctement les listes.
revenez si ça ne convient pas.
https://www.cjoint.com/?BEEr7Fau5rs
Crdlmnt
un petit tuto qui montre que l'on peut utiliser INDIRECT en cascade, ,il suffit de nommer correctement les listes.
revenez si ça ne convient pas.
https://www.cjoint.com/?BEEr7Fau5rs
Crdlmnt
Raymond PENTIER
Messages postés
58388
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 avril 2024
17 088
31 mai 2012 à 02:57
31 mai 2012 à 02:57
Bonjour.
* 1) Définir un nom pour les plages et cellules :
Plage A2:A3 nommée "Produit" __________ Cellule A18 nommée "ProduitX"
Plage B2:B5 nommée "Goût" ____________ Cellule B18 nommée "GoûtX"
Plage C2:C11 nommée "Liste" ___________ Cellule D18 nommée "Code"
Plage C2:D11 nommée "Matrice" _________ Plage E2:E11 nommée "Tri"
* 2) Remplir D2:D11 avec les codes :
FAc pour fruit acide _________ LAc pour légume acide
FAm pour fruit amer _____.___ LAm pour légume amer
FFa pour fruit fade __________ LFa pour légume fade
FSu pour fruit sucré _________ LSu pour légume sucré
* 3) Ecrire les formules :
En E2:E11 saisir =SI(D:D=Code;C:C;"")
En D18 saisir =GAUCHE(ProduitX;1)&GAUCHE(GoûtX;2)
* 4) Insérer les validations de données avec "Autoriser liste" et la source :
=Produit en A18 ; =Goût en B18 ; =Tri en C18*
5) Utiliser les listes déroulantes en A18 et B18 ; constater que le code en D18 est correct ; utiliser la liste déroulante en C18 pour choisir parmi les produits triés.
* 1) Définir un nom pour les plages et cellules :
Plage A2:A3 nommée "Produit" __________ Cellule A18 nommée "ProduitX"
Plage B2:B5 nommée "Goût" ____________ Cellule B18 nommée "GoûtX"
Plage C2:C11 nommée "Liste" ___________ Cellule D18 nommée "Code"
Plage C2:D11 nommée "Matrice" _________ Plage E2:E11 nommée "Tri"
* 2) Remplir D2:D11 avec les codes :
FAc pour fruit acide _________ LAc pour légume acide
FAm pour fruit amer _____.___ LAm pour légume amer
FFa pour fruit fade __________ LFa pour légume fade
FSu pour fruit sucré _________ LSu pour légume sucré
* 3) Ecrire les formules :
En E2:E11 saisir =SI(D:D=Code;C:C;"")
En D18 saisir =GAUCHE(ProduitX;1)&GAUCHE(GoûtX;2)
* 4) Insérer les validations de données avec "Autoriser liste" et la source :
=Produit en A18 ; =Goût en B18 ; =Tri en C18*
5) Utiliser les listes déroulantes en A18 et B18 ; constater que le code en D18 est correct ; utiliser la liste déroulante en C18 pour choisir parmi les produits triés.
Raymond PENTIER
Messages postés
58388
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 avril 2024
17 088
31 mai 2012 à 03:11
31 mai 2012 à 03:11
Voici le fichier qui m'a permis de rédiger ma réponse :
https://www.cjoint.com/?BEFdhyWElGZ
https://www.cjoint.com/?BEFdifWAPqg
J'espère qu'un autre membre du forum complétera mon fichier en optimisant la plage Tri pour que les items soient accolés.
https://www.cjoint.com/?BEFdhyWElGZ
https://www.cjoint.com/?BEFdifWAPqg
J'espère qu'un autre membre du forum complétera mon fichier en optimisant la plage Tri pour que les items soient accolés.
Bonjour à tous,
Merci beaucoup pour toutes vos réponses!! J'ai pu faire ma liste déroulante! Ça me simplifie la vie!!
J'aurais encore une petite requête, j'ai fait mes 3 listes déroulantes avec les deux simplifications.
Est ce qu'il serait possible de supprimer tous les anciens choix lorsque par exemple je change la liste "Produit".
Un petit exemple pour mieux comprendre.
Dans un premier temps, je choisis dans produit "fruit", dans gout "sucré", et là il me sort un liste avec abricot, ... et je sélectionne abricot.
Ensuite, je veux modifier gout, je choisis "acide", là ça me change la liste de choix, jusqu'ici tout va bien.
Par contre, j'ai la bonne liste de choix, mais il reste toujours affiché "Abricot" en en-tête.
De même, si j'avais sélectionné "fruit", "sucré", et "abricot" et que je veux changer "fruit" en "légume", les listes changent, mais pas les en-tête, donc je vois "légume", "sucré" "abricot".
Je ne sais pas si j'ai été assez claire, mais comme je retraite les informations par la suite, cela va me donner des erreurs dans le programme donc j'aimerais savoir si il y a pas une petite macro ou une fonction capable de résoudre mon problème.
Merci d'avance,
Merci beaucoup pour toutes vos réponses!! J'ai pu faire ma liste déroulante! Ça me simplifie la vie!!
J'aurais encore une petite requête, j'ai fait mes 3 listes déroulantes avec les deux simplifications.
Est ce qu'il serait possible de supprimer tous les anciens choix lorsque par exemple je change la liste "Produit".
Un petit exemple pour mieux comprendre.
Dans un premier temps, je choisis dans produit "fruit", dans gout "sucré", et là il me sort un liste avec abricot, ... et je sélectionne abricot.
Ensuite, je veux modifier gout, je choisis "acide", là ça me change la liste de choix, jusqu'ici tout va bien.
Par contre, j'ai la bonne liste de choix, mais il reste toujours affiché "Abricot" en en-tête.
De même, si j'avais sélectionné "fruit", "sucré", et "abricot" et que je veux changer "fruit" en "légume", les listes changent, mais pas les en-tête, donc je vois "légume", "sucré" "abricot".
Je ne sais pas si j'ai été assez claire, mais comme je retraite les informations par la suite, cela va me donner des erreurs dans le programme donc j'aimerais savoir si il y a pas une petite macro ou une fonction capable de résoudre mon problème.
Merci d'avance,
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 13/06/2012 à 10:27
Modifié par Vaucluse le 13/06/2012 à 10:27
Il n'y a qu'une solution, passez par une macro pour effacer la cellule où est placée la validation secondaire:
par exemple, vous allez dans l'onglet. clic droit sur le nom d'onglet/ visualiser le code et vous coller ça (merci Eriiic..)dans la fenêtre VBA affichée:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union([B3], [B3], Range("B3:B3"))) Is Nothing Then Exit Sub
Range("C3:G3,I3:M3").Select
Selection.ClearContents
ActiveSheet.Protect
End Sub
en remplaçant toutes les valeurs de B3 qui deviennent l'adresse de la cellule 1 et la valeur de la ligne Range ou vous mettez entre parenthèse et entre guillemets l'adresse de la cellule à effacer
Note: cette option n'est valable que si vous n'avez dans la feuille qu'une cellule initiale à traiter. Sinon revenez, mais avec un modéle de votre feuille et la localisation des champs nécessitant une intervention de ce genre.
crdlmnt
par exemple, vous allez dans l'onglet. clic droit sur le nom d'onglet/ visualiser le code et vous coller ça (merci Eriiic..)dans la fenêtre VBA affichée:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union([B3], [B3], Range("B3:B3"))) Is Nothing Then Exit Sub
Range("C3:G3,I3:M3").Select
Selection.ClearContents
ActiveSheet.Protect
End Sub
en remplaçant toutes les valeurs de B3 qui deviennent l'adresse de la cellule 1 et la valeur de la ligne Range ou vous mettez entre parenthèse et entre guillemets l'adresse de la cellule à effacer
Note: cette option n'est valable que si vous n'avez dans la feuille qu'une cellule initiale à traiter. Sinon revenez, mais avec un modéle de votre feuille et la localisation des champs nécessitant une intervention de ce genre.
crdlmnt
Raymond PENTIER
Messages postés
58388
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 avril 2024
17 088
13 juin 2012 à 14:58
13 juin 2012 à 14:58
... et sans macro, il suffit d'effacer le contenu de B18 et C18 avant de relancer un choix !
Mais d'habitude tout le monde se contente de renseigner A18, B18 et C18 et de lire le résultat : on ne s'arrête pas en chemin !
Mais d'habitude tout le monde se contente de renseigner A18, B18 et C18 et de lire le résultat : on ne s'arrête pas en chemin !