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

Microsoft Office Discussion :

Création d'une liste déroulante à choix conditionnel depuis des listes horizontales [2007]


Sujet :

Microsoft Office

  1. #1
    Candidat au Club
    Homme Profil pro
    Chercheur (céramologue)
    Inscrit en
    Avril 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Chercheur (céramologue)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Création d'une liste déroulante à choix conditionnel depuis des listes horizontales
    Bonjour à tous,

    Anciennement sous FMP, je viens de basculer sous Excel dans un souci de flexibilité et d’exploitation de mes données d’étude. Si je vous consulte aujourd’hui c’est pour tenter de résoudre un problème sur lequel je bute depuis près de deux jours sans aucune avancée malgré le nombre de forum et tutoriel qui proposent des solutions.

    Je souhaiterais pouvoir créer une liste choix conditionnel (ou sous-liste) mais depuis des listes disposées horizontalement. Depuis la feuille « comptage des ensembles », je souhaiterais créer une liste déroulante dans la colonne K (typologie) pour afficher les formes attachées à une pâte en particulier (colonne E, pâte). La feuille suivante (listing des formes typologiques) propose l’inventaire des formes typologiques (colonne F) en fonction des familles de pâtes (colonne A, après tri et suppression des doublons de la colonne B) qui peut permettre d’alimenter ma liste de choix conditionnel. Débutez les essais à la ligne 374 de la feuille « comptage des ensembles », les lignes précédentes ont été saisies à la main.
    Je précise que les familles de pâtes et l’inventaire des formes typologiques sont vouées à évoluer dans le temps avec de nouveaux ajouts, la solution doit donc en tenir compte.

    Merci par avance à l’âme charitable qui pourra me dépêtrer de cette impasse. En espérant avoir été aussi concis et précis que possible.
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par David 10 Voir le message
    Bonjour,

    Vous trouverez la méthode décrite par SilkyRoad dans ce fichier : Pièce jointe 368040

    J'ai adapté votre fichier selon cette méthode. Pour cela, j'ai dupliqué votre onglet Listing des formes typologiques sur l'onglet Formes typologiques. J'ai modifié uniquement les cellules E374 et K374 de l'onglet Comptage des ensembles.
    Les zones nommées sont des listes dynamiques, vous pouvez donc ajouter autant de lignes dans l'onglet Formes typologiques. Nb : La colonne K dans cet onglet n'est là que pour visualiser le résultat de la méthode, cette colonne peut donc disparaître.
    Nb : J'ai l'impression que vos données sont un peu confidentielles.

  3. #3
    Candidat au Club
    Homme Profil pro
    Chercheur (céramologue)
    Inscrit en
    Avril 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Chercheur (céramologue)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Merci pour votre retour. Face à ces formules alembiquées j'aurais été et je reste toujours totalement impuissant. Votre solution fonctionne correctement sur la feuille "formes typologiques" mais non sur la feuille "comptage des ensembles". La liste de formes de cette dernière dépend de la liste (pour essais) en colonne N de la feuille "formes typologiques". Je n'arrive pas à modifier le fonctionnement d'après ce que j'ai pu comprendre de la structure des formules. Suis-je obligé de créer, dans la feuille "comptage des ensembles" une colonne comme la colonne M de la feuille suivante pour permettre le bon affichage des formes ?

    Autre question. Selon votre expérience, combien de lignes de données ce type de fichier peut-il comporter sans risque de bug ? 10000 pour la feuille "comptage des ensembles" par exemple ? Le fonctionnement du fichier : la feuille "comptage des ensembles" sert à l'acquisition de données de mes études, la feuille "forme typologique" sert à normaliser l'appellation des formes d'après X typologies céramologiques ; les autres feuilles sont des tableaux croisés pour me permettre d'exploiter et de publier mes résultats.

    N.B : données confidentielles ? un peu mais pour que ma propriété intellectuelle soit atteinte cela demanderais de surmonter un grand nombre de problème dont l'accès au mobilier de fouille pour que je sois inquiété. De plus, une partie de ces données sont déjà publiées.
    Merci par avance.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Face à ces formules alembiquées j'aurais été et je reste toujours totalement impuissant. Votre solution fonctionne correctement sur la feuille "formes typologiques" mais non sur la feuille "comptage des ensembles".
    Dans ma réponse, je vous ai indiqué que je n'avais modifié que les cellules E374 et K374. Dans le fichier joint, j'ai modifié toutes vos cellules des colonnes E et K jusqu'à la ligne 8000. Pour celles plus bas, il vous suffira de dupliquer les lignes. Je n'ai rien modifié dans les autres colonnes.
    Pour l'onglet formes typologiques, il vous suffit de dupliquer une des lignes existantes pour tout nouvel enregistrement.


    Autre question. Selon votre expérience, combien de lignes de données ce type de fichier peut-il comporter sans risque de bug ? 10000 pour la feuille "comptage des ensembles" par exemple ?
    Sans problème.

    Sinon, je reconnais que la compréhension de ces formules peut nécessiter plusieurs cachets d'aspirine. Cela vaut quand même le coup de passer 1 à 2 heures sur le tuto de SilkyRoad, sinon une autre option est de passer par le VBA, mais là, cela va vous prendre tout votre temps.
    Dernière modification par Invité ; 08/04/2018 à 08h21.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par David 10 Voir le message
    Autant pour moi, après vérification je n'ai pas tout pris en compte. Effectivement, rien ne change pour la typologie dans l'onglet Comptage des ensembles sur changement de pâte.

    Pour que cela change, il faut préalablement changer la valeur de la cellule K2 dans l'onglet Formes typologiques. Pour cela, j'ai dû passer par une macro, ce qui a nécessité de transformer votre fichier en .xlsm.

    Il faut considérer les événements suivant dans l'onglet "Comptage des ensembles" :

    Dans la colonne Pâte :
    • Changement d'une pâte, dans ce cas la cellule Typologie existante doit être effacée.
    • Changement d'une typologie pour une pâte sélectionnée.


    Dans la colonne Typologie :
    • Changement d'une typologie pour une pâte déjà sélectionnée.


    Pour cela, le module de l'onglet contient ces deux macros événementielles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Option Explicit
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
        If Target.Count > 1 Then GoTo Fin
     
        If Not Intersect(Target, Range("ZonePates")) Is Nothing Then
           Sheets("Formes typologiques").Range("PateChoisie") = Target
           Target.Offset(0, 6) = ""
        End If
     
     
    Fin:
     
    End Sub
     
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
     
        If Target.Count > 1 Then GoTo Fin
     
        If Not Intersect(Target, Range("ZonePates")) Is Nothing Then
           Sheets("Formes typologiques").Range("PateChoisie") = Target
        End If
     
        If Not Intersect(Target, Range("ZoneTypologie")) Is Nothing Then
           Sheets("Formes typologiques").Range("PateChoisie") = Target.Offset(0, -6)
           GoTo Fin
        End If
     
       ' Cancel = True
     
    Fin:
     
    End Sub
    Le changement d'une typologie pour une pâte existante doit faire l'objet d'un clic droit soit sur la cellule E soit sur la cellule K, pour mettre à jour la pâte dans la cellule K2 de l'onglet Formes typologiques.

    Nb : Seules les lignes 374 et 376 ont été modifiées.

  6. #6
    Candidat au Club
    Homme Profil pro
    Chercheur (céramologue)
    Inscrit en
    Avril 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Chercheur (céramologue)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci Eric, le fichier fonctionne sans aucun problème ni aucune lenteur. J'ai testé son fonctionnement jusqu'en ligne 8000 et tout s'affiche sans aucune modification de formule ou d'adressage de ma part. Echange très sympathique et très constructif. Bonne continuation.
    Cordialement. David

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

Discussions similaires

  1. [XL-2007] Liste déroulante conditionnée suivant d'autres listes déroulantes
    Par stueur666 dans le forum Excel
    Réponses: 6
    Dernier message: 01/10/2013, 10h09
  2. Réponses: 0
    Dernier message: 09/03/2009, 19h01
  3. envoie de donnée dans une requéte depuis un liste déroulante
    Par steve o'steen dans le forum Langage
    Réponses: 1
    Dernier message: 17/10/2006, 16h24
  4. Réponses: 4
    Dernier message: 22/09/2006, 08h46
  5. Liste déroulante imbriquée importée depuis une Bdd
    Par WhyMee dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 07/08/2006, 16h48

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