Combobox de taille adaptable

Résolu
aker01600 Messages postés 11 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 25 juillet 2008 - 15 juil. 2008 à 10:49
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 7 août 2013 à 21:00
bonjour a tous, je vous ecris car j'ai un probleme, je debute en ce moment en vba.

je devellope actuellement un formulaire en excel afin de faire l'inventaire d'un parc informatique.
le form marche a merveille, mais la ou j'ai un petit probleme et je dit bien petit c'est au niveau de la combobox qui contient une liste de localisation.s
cette combobox est alimentée par les champs d'une feuille excel avec le code suivant :
ComboBox1.RowSource = ("localisation!liste1")

cela marche, le probleme c'est que je voudrait que cette liste soit de taille variable afin que cette solution soit adaptable a plusieurs sites

merci d'avance de vos reponses

9 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
16 juil. 2008 à 14:41
Ok,

alors voici la parade :

Dim DerLigne As Integer, i As Integer

DerLigne = Range("A65536").End(xlUp).Row

For i = 1 To DerLigne
    If Range("A" & i).Value <> vbNullString Then ComboBox1.AddItem
Range("A" & i).Value
Next i
~
<small>Mortalino ~ [code.aspx?ID=39466 Colorisation
automatique]</small>

@++

le mystérieux chevalier,"Provençal, le gaulois"
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
17 juil. 2008 à 06:31
Dim 
DerLigne 
As Integer
, i 
As Integer




DerLigne = Range(
"A65536"
).End(xlUp).Row




For 
i = 

To 
DerLigne

    If

Sheets("localisations").


Range(
"A" 
& i).Value <> vbNullString 
Then 
ComboBox1.AddItem


Sheets("localisations").


Range(
"A" 
& i).Value


Next 
i




@++

le mystérieux chevalier,"Provençal, le gaulois"
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
15 juil. 2008 à 19:23
Salut,

taille adaptable en longueur ? (nb d'items)
ou en largeur ?

1/ ComboBox1.ListRows = ComboBox1.ListCount
2/ http://www.codyx.org/snippet_agrandir-largeur-hauteur-items-deroules-combobox_642.aspx

Pour le point 2, faudra adapter le snippet de PCPT afin de trouver d'abord le hWnd du Combobox
@++

le mystérieux chevalier,"Provençal, le gaulois"
0
sol 1 parfait
0
aker01600 Messages postés 11 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 25 juillet 2008
15 juil. 2008 à 20:04
"Pour le point 2, faudra adapter le snippet de PCPT afin de trouver d'abord le hWnd du Combobox"

c'est quelle langue ca ???

en fait c'est adaptable sur le nombre d'items

j'essaierai ta solution demain au boulot, merci
0

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

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
15 juil. 2008 à 20:18
En fait son snippet est en VB6, et en VBA, seule l'application Excel elle même possède un hWnd (handle Windows), pas les contrôles.
Mais vu que ça à l'air de concerner le nombre d'Items, ma soluce devrait suffir

@++

le mystérieux chevalier,"Provençal, le gaulois"
0
aker01600 Messages postés 11 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 25 juillet 2008
16 juil. 2008 à 08:14
c'est pas mal ta solution sauf que j'ai associe la combobox avec une colonne d'une feuille et ce que je voudrait c'est supprimer les champs non remplis de la colonne de la combobox afin que quand tu rajoute un champ cela le rajoute dans la combobox mais on ne voit pas les champ vides

http://img141.imageshack.us/img141/8812/screenhq0.jpg
0
aker01600 Messages postés 11 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 25 juillet 2008
16 juil. 2008 à 16:26
merci, cela fonctionne mais, seulement quand la feuille qui contient la liste est en "ActiveSheet", tu n'aurais pas une solutions pour que cela marche meme quand elle est pas en ActiveSheet, j'ai essayer avec la commande mais cela n'a pas l'air de marcher :

Dim sheet As Excel.Worksheet
Set sheet = ThisWorkbook.Sheets("localisations")

encore merci de ton aide
0
aker01600 Messages postés 11 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 25 juillet 2008
17 juil. 2008 à 08:14
c'est bon tout marche a merveille, merci beaucoup
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 22
7 août 2013 à 18:02
Bonjour,

Qu'est-ce que tu entends par taille variable ?
La largeur ? ou le nombre de lignes ?
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 55
7 août 2013 à 21:00
Bonjour
après 5 ans .......
0
Rejoignez-nous