Menu déroulant: 2 colonnes (sans concatener)

Bonjour,

J'utilise Excel 2007.

J'aimerais améliorer mon fichier. Actuellement j'ai une feuille avec une liste déroulante
et une autre avec la liste d'origine.
J'aimerais que la liste qui propose:
BE
FR
NL
...
nous affiche
BE Belgique
FR France
NL Pays-Bas...

Sur le net je trouve des solutions qui ressemblent, mais ça ne fonctionne pas dans mon cas.

Merci pour votre aide.

10 réponses

  1. Contributeur
    Bonjour,

    Toujours pas possible avec une validation par liste.

    Mais comme tu as l'air d'y tenir une proposition avec une combobox.
    En sachant que ces objets sont parfois plus ou moins bien gérés s'ils sont sur une feuille...
    Ne viens pas réclamer si tu as une image fantôme de la liste qui apparait sur ta feuille.
    https://www.cjoint.com/c/CEFo6Gc9QQl

    eric

    1
    1. Contributeur
      Bonjour,

      (sans concatener)
      Pourquoi ?
      Ca ne vaut pas le coup de mettre du vba parce que tu t'interdis la concaténation.
      Ajoute-toi une colonne et fais ta liste de dessus.

      eric

      Jamais tu ne répondras à un mp non sollicité...
      Bon, ça c'est fait.
      0
      1. La source de la validation de données doit être

        BE Belgique;FR France;NL Pays-Bas;GB Grande-Bretagne;...
        0
        1. On fait des tableaux croisés dynamiques sur cette colonne finale et souhaiterions que la colonne soit "courte"
          Concrètement ce n'est pas
          BE / FR / NL
          ni
          Belgique / France / Pays-Bas

          mais
          WARL
          WCHR
          WEMA
          WLIE
          WMOR
          qui sont des codes qui représentent une région, la politique ici, est de garder cette colonne tel quel mais les nouveaux ne pourront pas deviner à quoi correspond ce code.
          Je souhaiterais donc que l'utilisateur voit
          WARL - Entreprise Y d'Arlon
          WCHR - Entreprise X de Charleroi
          ...

          Ca peut justifier mon besoin? :)
          0
          1. 1) Je ne peux répondre qu'aux questions qu'on pose.

            2) Dans ma réponse tu remplaces, comme un grand,
            "BE Belgique;" par "WARL - Entreprise Y d'Arlon;"
            et
            "FR France;" par "WCHR - Entreprise X de Charleroi;".

            Tu n'as vraiment pas essayé ? Vraiment pas ?
            0
          2. 1) ok
            2) ok

            bis: Si mais cela n'affiche pas ce que je souhaite...

            Lorsque je fais ce que tu me propose: mon menu déroulant affiche:
            WARL - Entreprise Y d'Arlon
            WCHR - Entreprise X de Charleroi
            ...

            Une fois choisi ce qu'il me faut, il m'affiche
            WARL - Entreprise Y d'Arlon (ou)
            WCHR - Entreprise X de Charleroi (ou)
            ...
            et ce que je souhaite à cette deuxième étape est qu'il affiche:
            WARL
            WCHR
            ...
            Mais pas plus des 4 caractères...
            0
          3. Désolé de ne pouvoir en faire davantage.
            Mais le principe de la liste déroulante est d'offrir le choix de la donnée qui va être affichée !
            0
        2. Contributeur
          Bonjour,

          toujours la même réponse :
          fais-toi une colonne pour ta liste et une autre pour ton TCD.
          eric
          0
          1. A quoi va me servir le TCD?
            A lister les
            WARL,
            WCHR,
            ... ?
            Ma liste est déjà faite
            Une feuille de conversion se trouve à pars avec 2colonnes (A et B)
            A : WARL, WCHR;...
            B: Entreprise Y d'Arlon, Entreprise X de Charleroi,...
            0
          2. Contributeur
            Tu fais ta liste déroulante avec "WARL - Entreprise Y d'Arlon", et dans la colonne d'à-coté =gauche(choix_de_ta_liste;4)
            C'est toi qui va t'habituer à excel, pas le contraire. Il est plus têtu que toi...
            Et tu as la proposition de Mike en-dessous.
            eric
            0
        3. Salut le fil,

          pour info, un petit tour ici

          https://www.commentcamarche.net/faq/33516-excel-afficher-plusieurs-colonnes-dans-une-liste-de-validation
          0
          1. TROP-CLASSE !

            Quel est l'inconvéniant?

            Je dois coller
            Option Explicit
            
            Private Sub ComboBox1_Change()
                ActiveCell = ComboBox1
                ComboBox1.Visible = False
            End Sub
            
            Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                If Not Intersect(Target, [C2:C12]) Is Nothing And Target.Count = 1 Then
                    With Worksheets("Listes")
                        ComboBox1.List = .Range("A2:B" & .Cells(Application.Rows.Count, 1).End(xlUp).Row).Value
                    End With
                    With ComboBox1
                        .Value = Target
                        .Left = Target.Left
                        .Top = Target.Top
                        .Visible = True
                    End With
                Else
                    ComboBox1.Visible = False
                End If
            End Sub


            dans le VBA dans la feuille en question?
            (et aussi créer ma liste dans une autre feuille)
            0
            1. Contributeur
              Ben oui sinon ça ne changera rien.
              Tu dois aussi ajouter une combox ActiveX sur la feuille et changer qcq propriétés (nombre de colonnes, largeur colonne 1, etc).
              Définir aussi la plage active, ici = [C2:C12]

              eric
              0
            2. Oki, merci pour ton assistance.

              C2:12 a été modifié.

              Comment ajoute-on une combox?
              0
            3. Contributeur
              Ca dépend de ta version excel
              0
            4. J'utilise Excel 2007. (c'était précisé dans mon premier post)
              0
            5. Contributeur
              Sur 2010 (sûrement très proche sur 2007) :
              - clic-droit sur le ruban, personnaliser le ruban, ajouter le ruban Développeur.
              - 'Développeur / Contrôles / Insérer', choisir le contrôle dans les ActiveX

              eric
              0
          2. Contributeur
            C'était l'occasion de les tester tous et voir les possibilités. Faut pas être timide...


            Jamais tu ne répondras à un mp non sollicité...
            Bon, ça c'est fait.
            0
            1. Je dois créer un petit rectangle pour chacune de mes lignes? (12077 actuellement?).......

              En plus, niveau mise en page, c'est pas très... esthétique.
              Misère, tout ça, pour ça,... lol
              0
              1. Contributeur
                Je dois créer un petit rectangle pour chacune de mes lignes? (12077 actuellement?).......
                Non, si tu regardes bien mon fichier exemple il n'y en a qu'une par colonne avec liste.
                Il faudrait peut-être que tu le regardes en détail et que tu le comprennes avant d'essayer de refaire non ?

                En plus, niveau mise en page, c'est pas très... esthétique.
                Misère, tout ça, pour ça,... lol

                Ca c'est toi qui choisi...
                Tu ne peux pas avoir une colonne de 4 caractères et en afficher 30 sans que ça déborde.

                eric
                0