IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Comment avoir une liste évolutive dans un menu déroulant ? [XL-2013]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut Comment avoir une liste évolutive dans un menu déroulant ?
    Bonsoir à tous,
    En B2, j’ai un premier menu déroulant.
    En B5, j’ai un deuxième menu déroulant dépendant du premier menu déroulant avec dans « Validation des données » la fonction :
    Pour ce deuxième menu déroulant, comment définir les listes afin qu’elles soient évolutives ?
    En effet, si je connais la première cellule de la plage verticale (située en ligne 6) de ces listes, j’ignore la ligne où se trouve la dernière cellule renseignée d’une plage A6:A1000.
    Lors de la définition du nom, peut-on introduire une fonction qui puisse déterminer la plage allant de la première cellule A6 à la dernière cellule renseignée de la plage A6:A1000 ?
    Cela permettrait d’avoir dans le deuxième menu déroulant en B5 que des cellules renseignées.
    J'espère avoir été clair.
    D’avance, merci beaucoup pour votre aide.
    Bonne soirée.
    bolide7

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Rebonsoir à tous,
    Avec l’aide d’un tutoriel de la toile, j’ai défini les noms de mes listes afin qu’elles soient évolutives.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER('Menu déroulant'!$A$6;0;0;NBVAL('Menu déroulant!$A$6:$A$1000))
    La plage des liste est bien évolutive à fur et à mesure que l’on rajoute des valeurs.
    Avec un seul menu déroulant cela fonctionne très bien.
    Par contre dans mon classeur, avec mes 2 menus déroulants en cascade, le deuxième menu déroulant, celui concerné par les listes évolutives, ne fonctionne plus.
    On dirait que les listes évolutives ne veulent pas se placer dans le deuxième menu déroulant.
    N’ayant aucun message d’erreur, je ne sais pas ce qui se passe réellement.
    Une seule certitude, le deuxième menu déroulant reste bloqué.
    Y a-t-il une solution ?
    Que dois-je changer ?
    D’avance, merci.
    bolide7

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2012
    Messages : 6
    Par défaut
    N'hésites pas à donner les références du tutoriel auquel tu fais allusion.

    Un fichier exemple serait également bienvenu pour bien cerner le problème...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonjour edlm10,
    Tiens peut-être un aubois !

    Le lien ci-dessous te mènera au tutoriel :



    J’ai fait un petit fichier type qui te permettra de constater le problème.
    En faisant ce petit fichier type, je viens de m’apercevoir que lorsque je suis dans « Validation des données » pour J4, Monsieur Bill GATES m’indique : « La source est reconnue comme erronée. Voulez-vous continuer ? »

    Bon dimanche.
    Un haut-marnais
    Fichiers attachés Fichiers attachés

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2012
    Messages : 6
    Par défaut
    Bonjour,

    je t'incite à aller lire tranquillement le lien que je t'ai donné dans mon 1er message et je pense que tu y trouveras de fortes similitudes avec ton cas. 1er pas vers la solution: mettre les régions sur la 1ère ligne avec leurs départements en dessous (même colonne que la région de rattachement).

    Et non je ne suis pas Aubois (le 10 dans mon pseudo n'a aucune signification géographique )

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ton problème vient du fait qu'il n'est pas possible d'utiliser la fonction INDIRECT en faisant référence à une plage qui elle même est le résultat de la formule DECALER.
    Pour avoir des listes en cascade toutes dynamiques et dont la deuxième liste dépend du choix de la première, il y a plusieurs possibilités.
    L'une d'elles consiste à rendre dynamique les plages en les transformants en tableau et en les nommant.
    Exemple
    La première liste se trouve en A2:A3 que l'on nommera par exemple lstActivite et qui contiendra comme valeurs Jeu et Sport.
    Les liste suivantes (2 dans notre exemple) par exemple E2:E3 et F2:F4 que l'on nommera respectivement Jeu et Sport avec comme valeurs pour la liste Jeu, Echec, Dames et Poker et la liste Sport, Natation et Basket.
    Ensuite après avoir mis un titre pour les listes lstActivite (A1), Jeu (E1), Sport (F1), on transforme ces plages en tableau en n'oubliant pas de cocher l'option Mon tableau comporte un titre et de faire attention pour la plage de liste Jeux de corriger la sélection du tableau en ne prenant pas la colonne F comme référence.
    Ensuite il suffit de construire les listes déroulantes en référençant le choix 1 par =lstActivite et le choix 2 par =INDIRECT(celluleChoix1)

    Il suffit alors d'ajouter des éléments à une des listes au fur et à mesure des besoins.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonjour edlm10,
    Dans ton premier message, tu m'a demandé un fichier type pour l'exemple, mais il n'y a pas de lien.
    Bonne journée.
    bolide7

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/06/2012, 17h47
  2. [MySQL] PHP résultat d'une reqête Mysql dans un menu déroulant
    Par Alexandrebox dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/01/2007, 11h49
  3. Réponses: 1
    Dernier message: 11/09/2006, 10h14
  4. Réponses: 5
    Dernier message: 25/04/2006, 09h33
  5. Comment avoir 2 clés primaires dans une table
    Par Guigui_ dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 18/01/2005, 08h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo