[vba excel] choix dans une combobox

E

eulalie15

Guest
Bonjour à tous,
J'ai dans un formulaire excel une combobox avec 2 colonnes, 1 qui contient un identifiant et la suivante le nom correspondant à cet identifiant.
Lorsque l'on sélectionne un élement de la liste seul l'identifiant (1ere colonne) apparait.
Je prefererais avoir seulement le nom (2nde colonne) qui s'affiche dans ma combobox au lieu de l'identifiant.

Quelqu'un aurait-il une idée pour moi?

Merci bcp.
 

bbmarcus

XLDnaute Occasionnel
Bonjour Eulalie, le forum,

J'ai besoin d'un eprécision: tu as une ou 2 combo?
Moi je comprends qu'il n'y en a qu'une sur ta colonne identifiant, et que tu voudrais voir apparaitre une fois la selection faite le nom qui correspond à cette sélection......

Sans doute des xldiens plus doués que moi t'aiderons, mais j'ai quand même un truc :woohoo:

Tu choisi une case d'arrivé de ton choix dans les parametres de ta combo....genre A1....
Tu utilise ce résultat dans une formule type index/equiv.....ca te fera apparaitre le nom qui correspond à ton identifiant choisi....
Et voila ! !

si tu me mets ton fichier en ligne, je peux te faire un exemple....
sinon, je peux t'expliquer plus longuement la fonction index/equiv....dès que j'ai 5mn.....

@+

bbmarcus
 
E

eulalie15

Guest
Bonjour à tous,
Voilà donc un fichier exemple de ce que je souhaite faire. J'ai en effet une seul combobox avec 2 colonnes.

Pour tester mon fichier cliquez sur le bouton 1.

Ensuite ce que je souhaite, c'est quand je sélectionne dans la liste '1 durand' cela affiche durand dans la liste et pas 1 comme actuellement.

Merci bcp
En esperant avoir été plus claire! ;) [file name=testListe.zip size=6993]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/testListe.zip[/file]
 

Pièces jointes

  • testListe.zip
    38.9 KB · Affichages: 190
  • testListe.zip
    38.9 KB · Affichages: 200
  • testListe.zip
    38.9 KB · Affichages: 204

Hervé

XLDnaute Barbatruc
Bonjour eulalie, bbmarcus, le forum

sinon tu peux tester ceci :

Private Sub UserForm_Initialize()
With ComboBox1
    .ColumnCount = 2
   
'Définis la taille des colonnes, le 0 permet de masquer une colonne
    .ColumnWidths = '0;80'
   
'indique le numéro de la colonne à retourner par le .value du combobox
    .BoundColumn = 2
    .RowSource = 'listeEtud'
End With
End Sub

salut
 
E

eulalie15

Guest
Bonjour hervé, bbmarcus, le forum,

Merci à vous mais cette reponse ne me satisfait pas entierement.
En fait je ne veux pas masquer la premiere colonne, je veux juste que lorsque l'on sélectionne un élément le value soit la seconde colonne et non pas la premiere.

Je ne sais pas si c'est possible mais si vous avez une autre idée n'hesitez pas.

Merci bcp.
 
E

eulalie15

Guest
bbmarcus écrit:
Re,

ca doit être la fatigue, mais je ne vois pas ton code pour ton boutton......tu peux le débloquer STP? ou m'e dire comment tu as fait......

bbmarcus

Il est dans le module1 (macroOuvForm).
C'est pas la fatigue, c'est moi qui me complique la vie!! (mais je débute en vba donc ça m'excuse !) ;)
 

bbmarcus

XLDnaute Occasionnel
Re,

pour le 'complique la vie', ptete......mais c'est qd même moi qui suis à l'ouest....
Hervé t'aidera plus que moi sur ce coup.....j'apprendrai un truc de plus ! car moi n'utilise jamais de userform.....

Si tu veux quelque chose de niveau BIEN plus bas, je suis là ! :eek:

bbmarcus
 

Hervé

XLDnaute Barbatruc
re vous deux

allons, allons, bbmarcus, faut pas ce sous-estimer comme ca :) .

eulalie, pas sur de comprendre ton souci.

Apparement le boudcolumn ne te convient pas, pourtant ceci fait ce que tu demandes.

je te cite :

que lorsque l'on sélectionne un
élément le value soit la seconde colonne et non pas la premiere.

A moins que ce soit directement dans la combobox que tu veux la deuxième colonne, alors essaye ceci :

Private Sub ComboBox1_Click()
ComboBox1 = ComboBox1.List(ComboBox1.ListIndex, 1)
End Sub

ceci te renvoi dans la combobox la valeur de la deuxième colonne du meme combobox (pense à supprimer le boundcolumn).

A suivre.

Salut
 

Humansoft

XLDnaute Occasionnel
Bonjour le forum,

Je viens de tomber sur ce fil et la réponse est, je pense, la suivante:!

Dans les propriétés du Combobox, il faut indiquer la colonne qui doit conserver l'information dans la propriéte TEXT.
Mettre la propriété TextColumn à 2 afin de garder la seconde colonne en mémoire pour la propriété TEXT du Combo.

A+

Vincent
 

Discussions similaires

Réponses
9
Affichages
235

Statistiques des forums

Discussions
312 520
Messages
2 089 297
Membres
104 092
dernier inscrit
karbone57