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 :

Listes déroulantes dépendantes avec création de listes automatiques [XL-2019]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2020
    Messages : 2
    Par défaut Listes déroulantes dépendantes avec création de listes automatiques
    Bonjour à tous,

    1. Merci pour la mine d'informations disponible et la gentillesse des personnes répondant sur le forum.

    2. Malgré mes recherches, je n'ai pas trouvé de solution au problème ci-dessous.
    Je crée un fichier de suivi des heures pour faciliter la saisie des lignes de pointage et leur exploitation par le service RH.
    Je cherche à créer une liste déroulante des lignes de pointage en colonne C, dépendante des affaires indiquées en colonne B, feuille "Saisie".

    Condition: J'aimerais y faire référence via des formules excel (Decaler/Index/equiv/indirect) et (si possible) éviter de créer des listes à la main ou par macro.

    Détails pouvant être utiles:
    -Les listes d'affaires et lignes de pointage en cours sont importées chaque semaine dans l'onglet "listes" via une macro.
    -La liste déroulante des affaires est placée dans la feuille "Saisie", colonne B, entre les lignes 7 et 17. [Création via le formulaire des noms, référence: =listes!$B:$B]
    -Le nombre d'affaires évolue à la hausse et/ou à la baisse (ex: si une affaire est terminée, je la supprime).
    -Les lignes de pointage sont intégrées avec chaque affaire et leurs nombres et valeurs peuvent changer (la ligne 2, feuille "listes", contient 3 lignes de pointage C2:E2, mais la ligne 3 n'en contient qu'une).
    -Les saisies sont réalisées entre la ligne 7 et la ligne 17.

    Nom : fichier_suivi_H.JPG
Affichages : 525
Taille : 145,8 Ko

    Voici les pistes que j'ai essayé.

    Piste 1:
    Dans la cellule C7, validation de données, liste avec la formule:
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(listes!$B$1:$B$1000;EQUIV(B10;Liste_No_Affaires;0)-1;1;1;NBVAL(DECALER(B10;0;EQUIV(B10;listes!$B2:$AZ2;0)-1;1;100)))

    Les inconvénients: La liste fonctionne dans la cellule C7, elle affiche les 3 lignes C2:E2 + des cellules vides dont je n'ai pas réussi à me débarrasser.
    Cela ne fonctionne pas si je répète cette formule sur toute la hauteur ==> Lorsque je clique en B8 et que je choisis l'affaire A, je n'ai accès, en C8, qu'à la première ligne de pointage "Bloavez Mad".

    Piste 2:
    a) macro enregistrant le nom de l'affaire, colonne E, dans la feuille "informations" et le nom de l'affaire respectant les conditions de création de liste dans la colonne F de cette même feuille.
    La macro crée ensuite une liste à partir de la valeur en colonne F.
    formule type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("listes").Range(C2:H2).Name = ThisWorkbook.Sheets("informations").Cells(Ligne où vient d'être inscrite l'affaire, 6).Value
    b) Dans la cellule C7, validation de données, liste avec la formule:
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDIRECT(ADRESSE(EQUIV(B7;informations!$E:$E;0);6;1;1;"informations");VRAI)

    Ici, indirect me retourne la valeur de la cellule F7 de la feuille informations et pas d'autre valeur.
    Je crains donc que ma macro n'ait pas créée la liste correspondante à cette valeur.

    Pourriez-vous me donner un coup de main pour cette liste déroulante ?

    Merci d'avance pour votre retour.

    P.S: Voici ci-joint le fichier sans macro.

    Suivi_tps.xlsx

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 415
    Par défaut
    Bonjour,

    Une solution pour les déroulants n° affaire et n° de ligne basés sur 2 plages nommées Choix1 et Choix2 (en m'inspirant de DVListeCascade de Boisgontier.
    Validation de données pour n° de ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Choix2;EQUIV(B10;Choix1;0);2;1;NBVAL(DECALER(Choix2;EQUIV(B10;Choix1;0);1))-1)
    Bonne continuation.
    Fichiers attachés Fichiers attachés

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2020
    Messages : 2
    Par défaut
    Salut et merci EricDgn pour cette solution.

    En persévérant sur la première piste, je suis arrivé à une formule proche de la tienne.
    La liste choix1 part de la première ligne et vaut "listes!$B:$B":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(listes!$B$1:$B$1000;EQUIV(B7;listes!$B:$B;0)-1;1;1;NBVAL(DECALER(listes!$B$1:$B$1000;EQUIV(B7;listes!$B:$B;0)-1;1;1;100)))
    La création de la liste "choix2" est une bonne idée, je pensais, à tort, que cela ne fonctionnerait pas.

    Sur la partie NBVAL, pourrais-tu m'éclairer sur les arguments de la formule ?
    Pour que NBVAL prenne toutes les lignes sauf cellules vides, j'ai écrit DECALER avec tous les arguments dont une largeur de 100 cellules.
    En remplaçant ma fonction NBVAL par la tienne (cf portion ci-dessous), ma liste déroulante n'affiche, pour chaque affaire, que la première cellule.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NBVAL(DECALER(Choix2;EQUIV(B10;Choix1;0);1))-1

    Merci d'avance.
    Sujet résolu du coup.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/04/2020, 20h12
  2. [XL-2016] Listes déroulantes dépendantes (5 ou 6) avec textes
    Par Leprof83 dans le forum Excel
    Réponses: 12
    Dernier message: 06/02/2018, 19h04
  3. [XL-2010] Listes déroulantes dépendantes 5 niveaux avec plus de 10 000 lignes
    Par Ironsteph dans le forum Excel
    Réponses: 10
    Dernier message: 08/04/2016, 10h47
  4. [XL-2007] Listes déroulantes dépendantes avec macro
    Par A50094 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/06/2015, 17h31
  5. Liste déroulantes dépendantes en cascade avec la mention "TOUS"
    Par STEP_73 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 27/10/2014, 14h10

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