Liste déroulante multiple

Résolu
Bonjour,

Je dois réaliser un tableau pour mon travail, mais je bloque depuis des jours.

J'ai un grand tableau avec plusieurs catégories, mais j'ai besoin de votre aide pour trois catégories seulement.

J'ai une colonne Pays, une colonne code postal et une colonne commune.
Quand je rentre mes données, j'aimerais que tout soit en relation.
Par exemple je sélectionne dans ma liste déroulante le pays france. De ce fait seul les code postaux français apparaissent dans la seconde liste déroulante. Jusque la, j'ai réussi.
Mais quand je sélectionne un code postal, les communes correspondantes dans la troisième colonne (liste déroulante) ne marche pas, aucun résultat.

HELLLLP !!!!

Merci d'avance de votre aide.
J'espère avoir été clair.

8 réponses

Résumé de la discussion

La problématique porte sur la création de listes déroulantes dépendantes dans Excel reliant pays, code postal et commune, afin que la liste des codes postaux n'affiche que ceux du pays. Plusieurs propositions techniques évoquent la création de plages nommées avec DECALER et l'alimentation des listes par INDIRECT pour assurer la synchronisation entre les choix, utilisation efficace dans les validations. D'autres échanges indiquent l'emploi de RECHERCHEV pour relier le code postal à la commune et recommandent d'ajuster les références (en retirant les signes $) et d'étirer les formules sur les colonnes concernées. En cas d'insertion de lignes, il faut anticiper le décalage des plages et vérifier que les formules pointent vers le bon champ, ce qui peut résoudre le problème.

Bobot (l’IA à votre service)
  1. Bonjour,

    Faudrait une maquette de votre fichier avec les infos relatives a votre probleme et ce que vous avec deja "programme"
    0


    1. Voila deux photos de mon tableau.

      J'ai utilisé pour la colonne Pays :
      Données - Validation des données - Liste - Source: ''=Pays"

      Et pour la colonne CP :
      Données - Validation des données - Liste - Source: ''=INDIRECT($C$2)"

      J'ai essayé de faire pareil pour commune mais ça ne marche pas.

      Merci d'avance.
      0
      1. Bonsoir

        Il faut passer par une formule plus complexe avec DECALER
        Exemple : https://www.cjoint.com/?0EEahGTZ6xJ

        Cdlmnt
        Via
        0
        1. Peut on le faire avec plusieurs colonne différentes ?
          0
        2. Bonjour,
          merci pour votre réponse.
          J'ai presque réussi mais encore un petit problème alors je reviens vers vous.
          Est ce que c'est possible de faire les formules sur deux pages différentes ?
          Car mon tableau récapitulatif se fait sur la première feuille. Et les données sont sur la deuxième feuille.

          Merci d'avance
          0
        3. Contributeur
          @viic086Bonjour
          en attendant l'ami Via
          pour cela, il faut nommer le champ qui alimente la liste
          et donc appliquer les formules que vous utilisez au nom du champ et pas à la validation.
          La validation, elle, se fait pas liste et
          = Nom du champ
          crdlmnt
          0
        4. @VaucluseBonjour Vic
          Hello Vaucluse ;)

          Comme dit Vaucluse les formules utilisant champs nommés sont applicables dans n'importe quelle feuille. C'est le cas de l'exemple que j'avais envoyé, presque tous les champs utilisés sont nommés, il suffit de changer les references aux listes de choix dans :
          choixcp Fait référence à : =DECALER(cp;;EQUIV(Feuil2!$I$2;depart;0)-1)
          choixvilles Fait référence à : =DECALER(cpvilles;;EQUIV(Feuil2!$I$2;depart;0)-1)
          villes_possibles Fait référence à :=DECALER(choixvilles;EQUIV(Feuil2!$K$2;cpvilles;0)-1;;NB.SI(cpvilles;Feuil2!$K$2))
          (Aller dans Formules Gestionnaire de noms selectionner le nom et Modifier)
          soit en mettant les nouvelles références des cellules de la feuille concernée, soit mieux en nommant ces cellules; celle de la liste des département par ex mondepart et celle de la liste de choix des CP par exemple moncp et remplacer dans les Fait référence à Feuil2!$I$2 par mondepart et Feuil2!$K$2 par moncp

          Cdlmnt
          Via
          0
      2. Contributeur
        Et finalement
        je viens de comprendre l'ensemble du problème (suis parti un peu vite
        ce qui ne va pas est bien dans la formule du nom villes_possibles qui démarre sur choixville.

        il faut décaler d'une colonne pour retomber sur la l:iste des noms
        =DECALER(choixvilles;EQUIV(Tableau!$D$2;cpvilles;0)-1;1;NB.SI(cpvilles;Tableau!$D$2))

        crdlmnt
        Errare humanum est, perseverare diabolicum
        0
        1. Re,

          J'ai trouvé ce qui n'allait pas j'avais oublié un champ dans ma démo
          Le fichier de Vic rectifié, tout devrait fonctionner :
          http://www.cjoint.com/c/EFdnBGBuKKh

          Oui Vaucluse le décalement n'était pas le bon, je l'ai réglé avec un nouveau champ et adapté aussi les formules pour qu'elles s'adaptent à la ligne de choix puisque au vu du tableau de Vic il va y avoir plusieurs choix différents les uns en dessous des autres
          J'espère que ça va aller, je dois m'absenter jusqu'à ce soir

          Cdlmnt
          Via
          0
          1. OH MON DIEU !!!
            Merci à tous les deux.
            Ca marche. Ca faisait des jours que je me cassais la tête sur ce tableau.
            Merci merci merci.

            Bonne soirée à vous.
            0
        2. RE bonjour,

          J'ai à nouveau besoin de vous. Et grand malheur pour moi, sur le même sujet et les mêmes problèmes.
          mon patron veut créer d'autress colonnes en liaisons :@
          Vous pouvez me donner les formules que vous aviez utiliser auparavant ?

          merci d'avance.
          0
          1. Re

            je te renvoie le fichier :
            http://www.cjoint.com/c/EGqvUp3lkHp

            Cdlmnt
            Via
            0
            1. Re,

              j'ai bien reçu le fichier.
              Voici mon problème :
              1- Quand je créer une nouvelle ligne, la liste des pays ne s'affiche pas. Je dois étirer la cellule du dessus pour que la liste déroulante apparaisse.

              2- Ensuite, je n'arrive pas à "lier" les cellules concernant les hébergements (colonnes I-J-K-L)
              J'aimerais que quand je tape la commune de l'hébergement apparaisse ensuite le code postal ou vice versa) et quand je rentre par exemple l'hotel apparaisse tous les noms d'hotels.

              Pouvez vous m'aidez sur la formule ? Je sais que c'est une formule "simple" mais je n'arrive pas à la mettre en application.

              Je vous joins mon fichier si vous avez besoin de vous rappeler mon sujet http://www.cjoint.com/c/EGrlnVK1I3k

              Merci d'avance.
              0
              1. Re,

                1) Il ne faut pas créer mais insérer une nouvelle ligne à partir de la dernière remplie

                2) Formules et nom de plage rectifiés (pour les sous listes elle doivent comment en ligne 2 puisqu'en 1 c'est le titre)

                http://www.cjoint.com/c/EGrm2OztcVp

                Cdlmnt
                Via
                0
              2. J'ai hésité à dire insérer, je ne savais pas si cétait le bon therme.
                Pour ce qui est du 2 je n'ai tout bien compris.
                0
              3. @viic086Quand tu inseres une ligne ça fonctionne la formule des cellules de la ligne précédente est reprise

                Pour le 2 tu avais presque bon, c'est bien la fonction INDIRECT (seule tes sous-plages commençaient une ligne trop haut) et pour le CP pour retrouver celui associé à la commune choisie il fallait une formule de RECHERCHEV
                0
              4. oh genial, merci beaucoup. Encore une fois :)
                Merci merci merci
                0
              5. Euh non en faite, ca ne marche pas.
                Quand j'insère une ligne, les listes deroulantes pour le vecteurs et le pays n'apparaissent pas, il faudrait que je les tape à le main et après ca marche.
                Les types d'hébergement n'apparaissent pas non plus. Et dans nom ce sont seulement les noms d'hotel :( j'en ai marre de ce tableau :(
                0