OVH Cloud OVH Cloud

Liste déroulante

2 réponses
Avatar
DesseJ
Bonjour,

J'aimerais, dans une colonne pr=E9cise (colonne A dans l'exemple joint),
avoir une liste d=E9roulante qui m'affiche une liste de clients avec le
code client (sur 2 caract=E8res) et son libell=E9 (libell=E9 souvent tr=E8s
long). Lorsque je s=E9lectionne le client, je dois avoir comme r=E9sultat
dans la cellule uniquement le code client.
http://cjoint.com/?dnqAI1OsZo

J'ai constitu=E9 une liste avec les deux informations concat=E9n=E9es, une
liste que j'utilise avec Donn=E9es/Validation pour choisir le client. A
cette liste, pour n'avoir que le code client apr=E8s s=E9lection, j'ai
ajout=E9 cette macro :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents =3D False
If Target.Value <> "" And Target.Column =3D 1 Then Target.Value =3D
Left(Target.Value, 2)Application.EnableEvents =3D True
End Sub

Mais il y a un petit truc qui me chagrine. Comme la colonne qui
contient ma liste de validation a une largeur petite, lorque je
d=E9roule la liste pour choisir le client, la liste est tronqu=E9e.
Faut-il que j'ajoute un autofit dans la proc =E9v=E8nementielle, ou
y-a-t-il plus simple pour g=E9rer ce genre de cas ?


Merci d'avance pour vos conseils
Steph D.

2 réponses

Avatar
Daniel
Bonsoir.
Non, je ne pense pas que tu puisses la modifier, par contre, si tu élargis
la colonne A de "Feuil1", ta liste s'élargit en proportion.
Sinon, à créer une listbox.
Cordialement.
Daniel
"DesseJ" a écrit dans le message de news:

Bonjour,

J'aimerais, dans une colonne précise (colonne A dans l'exemple joint),
avoir une liste déroulante qui m'affiche une liste de clients avec le
code client (sur 2 caractères) et son libellé (libellé souvent très
long). Lorsque je sélectionne le client, je dois avoir comme résultat
dans la cellule uniquement le code client.
http://cjoint.com/?dnqAI1OsZo

J'ai constitué une liste avec les deux informations concaténées, une
liste que j'utilise avec Données/Validation pour choisir le client. A
cette liste, pour n'avoir que le code client après sélection, j'ai
ajouté cette macro :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Value <> "" And Target.Column = 1 Then Target.Value Left(Target.Value, 2)Application.EnableEvents = True
End Sub

Mais il y a un petit truc qui me chagrine. Comme la colonne qui
contient ma liste de validation a une largeur petite, lorque je
déroule la liste pour choisir le client, la liste est tronquée.
Faut-il que j'ajoute un autofit dans la proc évènementielle, ou
y-a-t-il plus simple pour gérer ce genre de cas ?


Merci d'avance pour vos conseils
Steph D.
Avatar
DesseJ
Bonjour,

Merci Daniel. Je n'ai pas pu contourner ce fait comme tu me l'as
confirmé. Alors j'ai fait rapidement une listbox pour le classeur.
;o))

Bonne journée
Steph. D.