Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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?
 

Hervé

XLDnaute Barbatruc
bonjour tungstene


Si tu n'a pas de ligne vide dans ta matrice, tu peux essayer ceci :

ComboBox_selection.List = Range('G8').SpecialCells(xlCellTypeConstants, 23).Value

sinon il faut passer par une boucle;

salut
 

Mi_

XLDnaute Occasionnel
Bonjour Tungstene, Hervé, le forum,

Je continue le fil avec une question dérivée:

Et dans le cas d'un combobox (vba) d'une feuille (et pas d'un usf) ?

Merci pour toute idée,
Mi_
 

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
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


 
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
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_
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…