Liste en fonction d'une liste

Résolu/Fermé
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 - 6 févr. 2013 à 23:33
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 - 7 févr. 2013 à 01:16
Bonsoir,

J'aimerai pouvoir editer une liste en fonction d'une valeur choisie dans une 1ere liste :

Catégorie principale :
LOGEMENT : - Réparation (catégorie secondaire)
- Loyer

VOITURE : - Essence
- Entretiens
- Assurances

En sachant que j'ai presque une dizaine de catégorie principale pour une cinquantaine de sous catégorie.

Pour chaque dépense j'ai une ligne Excel, et chaque ligne doit etre catégorisée.
J'aimerai donc, choisir une catégorie principale, par exemple VOITURE, et dans ce cas dans la seconde liste, excel me propose que les sous catégories qui correspondent à la VOITURE.
Idem pour la 2e ligne de saisie etc etc

Je n'arrive pas à faire de formule ou de macros (novice) pour arriver au résultat souhaité.

Merci d'avance

3 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
7 févr. 2013 à 00:23
Bonsoir

Voilà la manière de procéder :

1° créer sur la feuille ou sur une autre la liste des catégories principales et nommer la plage LISTE

2° créer sur la feuille ou sur une autre toutes les listes des catégories secondaires et nommer chaque plage du même nom que la catégorie principale correspondante ex : la plage réparation et loyer sera nommée LOGEMENT

3° Cliquer dans la cellule où il doit y avoir la liste déroulante principale puis onglet Données Validation de données Autoriser : Liste et dans Source mettre =LISTE
puis nommer cette cellule choix
4° Cliquer dans la cellule où il doit y avoir la liste déroulante secondaire puis Données Validation Autoriser : Liste et dans Source mettre = INDIRECT(choix)

Bonne suite

Cordialement
0
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
7 févr. 2013 à 00:27
Aurais tu un exemple rapide sur un fichier ? J'ai du mal à saisir la fonction DECALER.
A quoi sert-elle ?
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
7 févr. 2013 à 00:36
Il n'y a pas de fonction DECALER dans mon exemple !!!

Le principe est de bien nommer toutes les plages

La validation de données va chercher la liste indiquée :
- soit de maniere directe ainsi =LISTE affiche dans la déroulante la plage LISTE
- soit de manière indirecte ainsi =INDIRECT(choix) affiche dans la déroulante la plage portant le nom choisi dans la cellule nommée choix ex si on choisit LOGEMENT dans la déroulante 1 c'est la plage LOGEMENT qui est affichée en deroulante 2 (soit Réparation - Loyer)

Essaye de réaliser cela et redemande moi si tu coinces
0
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
7 févr. 2013 à 00:39
Je voulais dire INDIRECT dsl
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
7 févr. 2013 à 00:59
Tu as lu mon explication ?
Je complète :la fonction INDIRECT permet d'atteindre la valeur d'une cellule (ou les valeurs d'une plage) d'après une référence écrite en texte
si je veux dans une cellule A3 afficher la valeur de la cellule A1 je peux taper directement dans A3 les références de la cellule source : =A1 ou =$A$1
Mais si je veux dans A3 la valeur de la cellule Ax ou x est un nombre variable qui se trouve en B1 par exemple je vais utiliser INDIRECT en mettant en A3 =INDIRECT("A" & B1)
Excel va concaténer le A et la valeur de B1 pour trouver une référence de cellule et afficher en A3 la valeur de cette cellule ainsi si en B1 il y a la valeur 4Excel lira A et 4 donc A4 et affichera en A3 la valeur contenue enA4

Dans ton cas par la Validation de données en autorisant une Liste avec dans Source la formule =INDIRECT(choix) Excel ira chercher à chaque fois la liste qui porte le nom du texte affiché dans la cellule que tu as nommée choix c à d celle de ta première liste déroulante

C'est pour cela que chacune des listes des catégories secondaires doivent être nommées (Clic droit Nommer une plage) avec un nom parfaitement identique quant à l'orthographe que les différentes valeurs de la liste des catégories principales (si tu as mis Voiture dans la liste principale et que tu appelles la liste correspondante Voitures ça ne fonctionnera pas)

Est ce bon ?
0
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
7 févr. 2013 à 01:16
Oui c'est bon.
Merci :)
0
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
7 févr. 2013 à 00:48
Mais c'est tout simple en fait^^

Merci beaucoup en tout cas, ça marche
0