Liste déroulante se reférant aux valeurs de deux listes Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
m
mounaim
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 21 avril 2014
Version d'Excel : 2010 FR

Message par mounaim » 21 avril 2014, 10:00

Bonjour :)
Dans un document Excel j'ai trois feuilles, chacune avec une colonne contenant des entiers.
Est-il possible de contraindre l'utilisateur, pour la colonne de la première feuille, d'entrer des valeurs existant uniquement dans les colonnes des 2eme et 3eme feuilles(Ceci par une une liste déroulante) ?
Je sais comment faire lorsqu’il s'agit d'une seule colonne(Validation de données-Autoriser(Liste)-Fournir le nom de la liste), mais combiner la contrainte de saisies sur deux listes c'est là mon problème.
J'ai uploadé un fichier à titre d'exemple (La colonne Valeurs de la 1ere feuille ne peut contenir que des valeurs existantes dans les listes Valeurs1 et Valeurs2 contenues respectivement dans les feuilles 2 et 3).
Merci d'avance :D
Exemple excel.xlsx
(8.8 Kio) Téléchargé 22 fois
Avatar du membre
CB60
Membre impliqué
Membre impliqué
Messages : 2'506
Appréciations reçues : 37
Inscrit le : 14 mai 2007
Version d'Excel : 2016

Message par CB60 » 21 avril 2014, 10:21

Bonjour
de cette façon peut etre?
Exemple excel.xlsx
(11.06 Kio) Téléchargé 24 fois
Avatar du membre
mbbp
Passionné d'Excel
Passionné d'Excel
Messages : 6'300
Appréciations reçues : 228
Inscrit le : 29 mars 2014
Version d'Excel : 2007 FR

Message par mbbp » 21 avril 2014, 10:36

Bonjour le forum,

X1 =SIERREUR(PETITE.VALEUR(Valeurs1!A:A;LIGNES($Y$1:$Y1));"")
Y1 =SIERREUR(PETITE.VALEUR(Valeurs2!A:A;LIGNES($Z$1:$Z1));"")
Z1 =SIERREUR(PETITE.VALEUR(Y:Z;LIGNES($Z$1:$Z1));"")

mbbp
Liste déroulante.xlsm
(25.8 Kio) Téléchargé 22 fois
Avatar du membre
Nad
Passionné d'Excel
Passionné d'Excel
Messages : 4'813
Appréciation reçue : 1
Inscrit le : 16 mars 2008
Version d'Excel : 2003 FR - 2007 FR

Message par Nad » 21 avril 2014, 10:39

Bonjour

Autre solution : créer une 3ème liste qui regroupe les 2 autres
Copie de Exemple excel.xlsx
(15.98 Kio) Téléchargé 22 fois
Amicalement
Nad
m
mounaim
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 21 avril 2014
Version d'Excel : 2010 FR

Message par mounaim » 21 avril 2014, 11:16

CB60 a écrit :Bonjour
de cette façon peut etre?
1- ça marche pas, même pour des valeurs de la 1ere colonne, la saisie est refusée :/
2- J'aimerais étendre la contrainte à toutes les valeurs de la colonnes A, pas uniquement dans la zone jaune.
Merci quand même :)

Nad a écrit :Bonjour

Autre solution : créer une 3ème liste qui regroupe les 2 autres
Copie de Exemple excel.xlsx
Amicalement
Nad
Mais est ce que cette approche est dynamique ? i.e. Si j'insère de nouveaux éléments à la liste de la feuille 2, est ce qu'ils s'ajouteront automatiquement à ma liste de validation ?
Avatar du membre
mbbp
Passionné d'Excel
Passionné d'Excel
Messages : 6'300
Appréciations reçues : 228
Inscrit le : 29 mars 2014
Version d'Excel : 2007 FR

Message par mbbp » 21 avril 2014, 11:30

Re,

Ma solution ne semble pas t'intéresser.

Pourtant "l'approche est dynamique" et, dans la liste déroulante, les données sont classées dans l'ordre.

Par contre, j'ai été très sensible à tes remerciements !
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'432
Appréciations reçues : 674
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 21 avril 2014, 11:34

Bonjour,
les listes de validation n'aiment pas les plages variables.
Pour être tranquille, VBA s'impose en définissant les champs nommés en dur.
A te relire si tu es intéressé.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
m
mounaim
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 21 avril 2014
Version d'Excel : 2010 FR

Message par mounaim » 21 avril 2014, 11:35

mbbp a écrit :Bonjour le forum,

X1 =SIERREUR(PETITE.VALEUR(Valeurs1!A:A;LIGNES($Y$1:$Y1));"")
Y1 =SIERREUR(PETITE.VALEUR(Valeurs2!A:A;LIGNES($Z$1:$Z1));"")
Z1 =SIERREUR(PETITE.VALEUR(Y:Z;LIGNES($Z$1:$Z1));"")

mbbp
Merci ^^ Est ce que vous pouvez ajouter une petite explication des fonctions SIERREUR et PETITE.VALEUR ? ça inclut des traitements VBA ?
Avatar du membre
mbbp
Passionné d'Excel
Passionné d'Excel
Messages : 6'300
Appréciations reçues : 228
Inscrit le : 29 mars 2014
Version d'Excel : 2007 FR

Message par mbbp » 21 avril 2014, 11:40

Re,

SIERREUR pour éviter les messages d'erreur.

PETITEVALEUR pour le classement des données.

Pas de VBA.

Et traitement dynamique des ajouts.

mbbp
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message