Combobox prend les valeurs d'une colonne

Tungstene

XLDnaute Occasionnel
Bonjour,

Dans une usf, j'ai une combobox.
Ce que je veux c'est que ma combobox prenne les valeurs d'une colonne de mon tableau.

L'idée est donc un peu ça :
ComboBox_selection.AddItem Range('G8:G65535').Value

Comment faut il réaliser le code?
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour Tungstene, Hervé, Mi_ , le forum,

Pour la ComboBox dont tu parles, si tu ne connais pas à l'avance le nombre de données, tu peux adapter la boucle d'Hervé en la plaçant dans la procédure événementielle GotFocus.

Amicalement
Charly
 

Mi_

XLDnaute Occasionnel
Re

Je suis désolé de vous déranger, mais ce code, mis dans la Feuil1 (où est le combobox), ne marche pas, ça donne 'Erreur 424, Objet requis'

Sub ComboBox1_GotFocus()

Dim c As Range

For Each c In Range('A3:A' & Range('A65536').End(xlUp).Row)
If c <> '' Then
ComboBox_selection.AddItem c
End If
Next c

End Sub


D'ailleurs, où pourrais-je lui indiquer de lire la colonne de la Feuil2, et pas celle du combobox (Feuil1) ?

Merci de votre aide,
Mi_
 

Hervé

XLDnaute Barbatruc
Supporter XLD
re

Mi_, tu ne nous dérange pas du tout :)

Dans le code j'avais appeler la combobox :ComboBox_selection

Car c'etait le nom que m'avait donné tungstene, tu dois bien sur modifier le code si ton controle ne s'appellent pas comme ca.

exemple avec feuille 2


Private Sub ComboBox1_GotFocus()
Dim c As Range

ComboBox1.Clear

With Sheets('feuil2')
&nbsp; &nbsp;
For Each c In .Range('g8:g' & .Range('g65536').End(xlUp).Row)
&nbsp; &nbsp; &nbsp; &nbsp;
If c <> '' Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ComboBox1.AddItem c
&nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp;
Next c
End With
End Sub
 
M

Mi_

Guest
Arf le 'sélection'. :)

Merci Hervé.

Ca marche, mais quand même mon ComboBox n'affiche les résultats que sur une seule ligne (alors qu'il y en a plusieurs), avec une toupie. J'ai beau à fouiller dans les proprietés du ComboBox, je n'arrive pas à rendre la liste complète à l'affichage.

C'est comme si pour un combobox 'formulaire' on aurait mis Nombre de lignes: 1

En tout cas merci beaucoup à tous, je suis très rapproché du but maintenant.

Cordialement,
Mi_
 

Mi_

XLDnaute Occasionnel
A noter que je ne me fais pas prier. :)

Donc le problème c'est l'affichage du combobox sur une seule ligne. [file name=tuile.zip size=19860]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/tuile.zip[/file]
 

Pièces jointes

  • tuile.zip
    7.8 KB · Affichages: 48
  • tuile.zip
    7.8 KB · Affichages: 45
  • tuile.zip
    7.8 KB · Affichages: 45

Hervé

XLDnaute Barbatruc
Supporter XLD
resalut

mi_, j'ai pas rencontré de souci dans ton fichier :ermm:

j'ai testé sur 100 lignes j'ai bien les 100 lignes dans la combobox.

par contre j'ai enlevé cette ligne : 'ComboBox1.ListRows = 10

je connaissais pas d'ailleurs cette syntaxe.

donc, pourrait-tu etre plus précis pour ta demande.

a plus

salut
 

Mi_

XLDnaute Occasionnel
Bonsoir Hervé,

C'est étrange, moi j'ai cette érreur, de ligne unique.

Regarde la capture d'écran.


C'est vrai que si je click d'abord sur le champ texte et seulement ensuite sur le Dropbutton, j'ai la liste entière. Mais si je vais directement sur le Dropbutton, ligne unique.

Par ailleurs, je voudrais justement te demander comment faire pour limiter le nombre de lignes à, disons, 20, le reste étant accèssible par scroll dans la liste (comme pour les combobox formulaires). Car si j'ai 15.000 noms dans la colonne A, la liste déroulante (si elle marche) risque de dépasser l'écran, le bureau, le plancher et deranger le voisin d'en bas. :)

Merci,
Mi_