Menu déroulant: 2 colonnes (sans concatener)

cedridoc777777 Messages postés 85 Statut Membre -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
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.

A voir également:

10 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 398
 
La source de la validation de données doit être

BE Belgique;FR France;NL Pays-Bas;GB Grande-Bretagne;...
0
cedridoc777777 Messages postés 85 Statut Membre
 
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
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 398
 
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
cedridoc777777 Messages postés 85 Statut Membre
 
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
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 398
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

toujours la même réponse :
fais-toi une colonne pour ta liste et une autre pour ton TCD.
eric
0
cedridoc777777 Messages postés 85 Statut Membre
 
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
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
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
cedridoc777777 Messages postés 85 Statut Membre
 
Ok, merci...

J'aurais souhaité que cela ressemble à ceci:
https://www.cjoint.com/c/CEFovYl5Ns8
Mais d'après ce que je vois je rêve de trop :)
0
cedridoc777777 Messages postés 85 Statut Membre
 
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
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
cedridoc777777 Messages postés 85 Statut Membre
 
Oki, merci pour ton assistance.

C2:12 a été modifié.

Comment ajoute-on une combox?
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Ca dépend de ta version excel
0
cedridoc777777 Messages postés 85 Statut Membre
 
J'utilise Excel 2007. (c'était précisé dans mon premier post)
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
cedridoc777777 Messages postés 85 Statut Membre
 
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
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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