Liste sur excel avec des critères

Résolu
Slaman Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -  
Slaman Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Sur EXCEL, je souhaiterai créer une liste sur une case ( comme lorsque on fait une validation de liste) mais uniquement dans le cas ou une condition est remplie.

Mettons que j'ai une liste dans la case A1 comprenant ABA, BCB, .... ( ça je sait faire)
Si dans la case A1 il n'y ai rien, il ne doit rien y avoir dans la case A2.
Si dans la case A1 je selctionne ABA, je souhaiterai que dans la case A2, on me propose de choisir entre ABA1, AB2 et ABA 3
Si dans la case A1, je selectionne BCB, je souhaiterai que dans la case A2, on me propose de choisir entre BCB1,BCB2... etc

Comment faire ?.. Merci pour votre aide

16 réponses

pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   646
 
Bonjour,

J'ai été amené à faire un exemple pour une autre discussion, regarde si cela ne répond pas à ton problème en adaptant cet exemple :

http://www.cijoint.fr/cjlink.php?file=cj200904/cijrzz6UAa.xls

A+
2
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonsoir tout le monde,

Je crois que j'ai trouvé une bonne solution à cette question récurrente de listes de validation en cascade.

- saisir ses listes
- copier la formule
- sélectionner les cellules des listes de validation (sauf la première, il peut y avoir autant de niveaux que l'on veut)
- menu 'données / validation...', 'Listes' et coller la formule dans 'source :' .

C'est fini, pas de plages à nommer, tous les caractères sont acceptés (même les espaces).
Il ne reste plus qu'à faire un copier/coller des cellules des listes de validation dans la feuille.

En option, pour ceux qui connaissent un peu vba, une macro qui supprime les sélections des niveaux supérieurs sur un changement.

Listes multiples en cascade.xls

eric
2
pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   646
 
Bonjour Slaman et Raymond,

1/Pour ton premier problème, Raymond à raison on peut légérement modifier mon exemple en ajoutant une indirection de plus en allant puiser les noms des plages dans une table à 2 colonnes avec le libéllé réél (celui que tu utilise dans ta 1° combo même avec les blancs) en 1° colonne et le nom de la plage (abrégé) en 2° colonne.

Si tu nommes cette plage de 2 colonnes "Catégorie" tu dois remplacer le champ validation de ta 2° combo avec une formule source du type =INDIRECT(RECHERCHEV(D2;Catégorie;2;FAUX))

2/ Pour ton Second problème je pense qu'il suffit que dans la fenêtre "Validation des données", dans l'onglet "Alerte d'erreur" tu décoches l'option "Quand des données non valides sont tapées". Ainsi tu peux choisir dans la liste mais aussi taper une valeur quelconque.

A+
1
pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   646
 
Bonjour Salman,

Voila j'ai modifié mon exemple pour illustrer le nouveau mode de fonctionnement (je pense conforme à la suggestion de Raymond). J'ai utilisé RECHERCHEH à la place de RECHERCHEV mais le principe est le même. J'ai également utilisé la fonction DECALER pour éviter de créer encore une autre zone nommée:

http://www.cijoint.fr/cjlink.php?file=cj200905/cijdSYWLHk.xls

A+

Remarque : Pour plus d'astuces sur les listes déroulantes regarder aussi ici :
astuce de gbinforme
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

J'ai fait les modif.

Les manip se résument maintenant à :
- saisir ses listes
- emmener la feuille des listes dans son classeur si besoin
- copier-coller les cellules de validation dans la (les) feuille(s) concernée(s).

2 versions :
pour des listes de 50 items max : Listes multiples en cascade V2.1 (50 items).xls
pour des listes de 100 items max : Listes multiples en cascade V2.1 (100 items).xls

Si tu as l'occasion de tester n'hésite pas à être le plus critique possible, même au niveau des explications.
Le but étant d'obtenir un truc simple, souple, et facile à mettre en oeuvre pour une personne peu familiarisée avec excel.

eric
1
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
PS : j'ai oublié de dire le plus important : peut gérer 1250 listes sur 10 niveaux successifs de validation.
0
Slaman Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   7
 
A priori c'est exactement ça, mais je regarderai mieux demain à tête reposée =)

Merci
0
Slaman Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   7
 
J' ai réussi a utiliser cette méthode, mais deux problème se pose:

1- Lorsqu' il y a des espaces dans les données sources, Excel ne me propose pas la liste déroulante.. heuu je sait pas si je suis clair.

Pour être concret, mettons que avec ton exemple, j'écrive 4x4 avec des espaces 4 x 4, et que je lui donne un nom et une liste comme tu as fait, et bien la la liste ne se fait pas.

2- Je souhaiterai pouvoir entrer certaines données manuellement, comme par exemple lorsque j'ai choisi "véhicule", je voudrai mettre avion sans que cela soit dans la liste prédéfinie car j'ai beaucoup trop de données pour qu'elles soient toutes référencées.

Comment faire? merci =)
0
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Salut,
Quand tu nommes une plage, tu vois bien qu'Excel refuse certains caractères comme / \ * ? . # ainsi que les espaces, qui sont remplacés par _
Pour entrer des données manuellement, ta liste prédéfinie doit commencer par une cellule vide.
0
Slaman Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   7
 
Merci Raymond pour la réponse :)

1-oui, je vois que les espaces sont remplacés par des "_" , mais qu'est ce que je peux faire alors pour qu'il prenne quand même les noms je ne peux pas coller tout les mots.... parce que j'ai du texte comme: "Pompe à engrenage à cylindrée variable"

J'ai essayé d'ajouter une cellule vide en tête de ma liste, mais cela ne change rien, je ne peux pas entrer de données, mais je pense que me suis mal exprimé:

2-J' ai par exemple une liste de fournisseurs, je choisis mon fournisseur( colonne A), puis dans la colonne B, je choisis le type de composant ( qui change en fontion du fournisseur choisis) pui dans la colonne C, je choisis la référence (tout ça c'est fait) mais toutes il y a trop de références, je ne peux pas toutes les entrer, il y a seulement les plus "importantes", je souhaite donc que l' utilisateur puisse entrer ce qu'il souhaite si jamais la référence voulue n'y est pas.

merci ..
0
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Salut.
Je t'ai fourni les indications que je pouvais, n'ayant pas ton fichier en main ...
Si tu ne souhaites pas le montrer à tout le monde, tu peux me l'adresser par Message Privé.
Les noms de plage (et donc de liste) ne pouvant pas être autrement que comme rappelé plus haut, il te faudrait utiliser RECHERCHEH et RECHERCHEV pour remplacer tes dénominations avec espaces par des abréviations ou des références qui serviraient aux listes déroulantes.
0
Slaman Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   7
 
Merci pilas 31, bon pour le 2em point, ça marche,ps de problème, c'est vrai que je n'y avais pas pensé.

Bon pour le premier point, j'ai plus de mal, j'ai essayé de modifier ton exemple, mais j'ai pas réussi à aboutir à quelque chose qui marche, je pensai pourtant avoir tout nomé correctement... visiblement non. Est ce qu'il serai possible que tu m'envois ton exemple avec cette modification ?
0
pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   646
 
Salut Eriiic,

C'est un travail magnifique que tu as fait. J'avoue que je tournais autour depuis longtemps sans avoir trouvé une solution aussi élégante !

A conserver...

A+
0
Slaman Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   7
 
Bonne idée Eriiic, mais je pense que le mieux pour moi c'est d'utiliser la solution de Pilas31, car j'ai trop de données, en clair c'est comme si sur steack tu choisissai la viande, pareil pour le cassoulet et pour tout les autres... bref

Cette solution est plus "propre" mais utilisable que lorsque l'on a un petit nombre de données.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Cette solution est plus "propre"
Elle est surtout facile à mettre en oeuvre quelque soit le nombre de validations qui doivent se succéder.
Celle de Pilas est tout aussi propre ;-)
mais utilisable que lorsque l'on a un petit nombre de données.
Tu peux avoir 256 validations en cascade avec des listes de 65000 élément chacune si tu veux (limitation excel 2003, plus sur 2007).
C'est à partir de combien beaucoup de données pour toi ?

Mais je comprend que tu restes sur ce que tu as mis en place. C'est ta remarque sur les espaces interdits qui m'a donné le déclic (et merci pour ce déclic ;-) )pour une question qui revient régulièrement et sur laquelle je m'étais penché plusieurs sans arriver simplifier la mise oeuvre.

eric
0
Slaman Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   7
 
salut

c'est que je trouvai ça plus compliqué ... et plus simple à la fois ( ahh beaucoup de clareté dans mes propos, j'aime ^^).

Bon, finalement, j'essaye d'adapter ta solution à mon problème, j'ai pour le niveau 1 une colonne d' environ 25 données, pour le niveau 2 j'ai donc 25 colonnes avec entre 20 et 40 données, prenons 30 de moyenne et donc pour le niveau 3 j' ai 750 colonnes avec entre 1 et 30 données.

M'as tu suivit ?

je ne remplirai pas les 750 colonnes pour le niveau 3, mais j'aurai besoin d' une solution pour faire "comme si".
En réalitée pour l' instant j'ai besoin de réaliser les 3 niveaux pour seulement 7 ou 8 données du niveau 1.

Je suis en train de réaliser le le 3em élément du niveau 1 et je me suis rendu compte qu'entre les colonnes BK et BL et bien je ne peux plus avoir de niveau 3, comment ça se fait ? il n'y a pourtant pas de formules qui bloquent... enfin je ne vois pas.

As-tu une solution ?

Merci beaucoup
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Là ça va dépendre aussi de ta version excel.
Avec ma solution (plus simple, si si j'insiste ;-) ) il est prévu que toutes les listes soient sur des colonnes contigües. Soit 256 listes maxi. Ta description confirme tes propos d'hier : c'est un peu juste.
Je vais réflechir à étendre cette solution en faisant plusieurs zones de saisies et en essayant de garder cette simplicité : n'avoir que les saisies des listes à faire et tant qu'à faire préparer toutes les cellules de listes de validation pour n'avoir qu'un copier-coller et plus aucune manipulation de formules.
Tout ceci sous toute réserve...

En plus, ils annoncent du beau temps ce we aussi

eric
0
Slaman Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   7
 
Fiou beau boulot :D !!
J'ai regardé vite fait, mais ça me parai pas mal du tout, j'essayerai réellement demain, je te tiens au courant sur les éventuelles critiques... si il y en a !

Merci encore pour t' être autant investi dans cette recherche !

Ah oui et je n'aurai besoin que de 3 niveaux, je pense, a moins que j'en utilise un 4em ... mais bon.
0