Meme liste dans differentes combobox (vb6)

Meme liste dans differentes combobox (vb6) - VB/VBA/VBS - Programmation

Marsh Posté le 02-08-2011 à 13:36:57    

Bonjour,
Je travaille sur VB6.
Je voudrais ajouter une liste de mots dans plusieurs combobox.
Ces mots sont les memes donc j'ai cherche une formule en boucle de type "For ...Next" mais sans succes.
Je veux rentrer les choix suivants (10 environ) dans chaque combobox (8 au total) :
green
clear
blue
brown
...
mes combobox sont nommes :
cbo_cg1
cbo_cg2
cbo_cg3
....
Merci de bien vouloir m'aider, me conseiller, .... s'il vous plait.
Lucas
Ps:clavier anglais donc pas d'accents, excusez-moi s'il vous plait.

Reply

Marsh Posté le 02-08-2011 à 13:36:57   

Reply

Marsh Posté le 02-08-2011 à 13:43:52    

lukas82 a écrit :

Bonjour,
Je travaille sur VB6.
Je voudrais ajouter une liste de mots dans plusieurs combobox.
Ces mots sont les memes donc j'ai cherche une formule en boucle de type "For ...Next" mais sans succes.
Je veux rentrer les choix suivants (10 environ) dans chaque combobox (8 au total) :
green
clear
blue
brown
...
mes combobox sont nommes :
cbo_cg1
cbo_cg2
cbo_cg3
....
Merci de bien vouloir m'aider, me conseiller, .... s'il vous plait.
Lucas
Ps:clavier anglais donc pas d'accents, excusez-moi s'il vous plait.


 
tu voudrais faire une boucle ?
c'est possible si tu fait un groupe de controle.
 
en gros tes combos vont s'appeller :
cbo_cg(0)
cbo_cg(1)
cbo_cg(2)
cbo_cg(3)
 
pour démarer un groupe de controle, fait un copier coller de la première combo...
VB te proposera de démarer un groupe.

Reply

Marsh Posté le 02-08-2011 à 14:56:42    

oki merci bien :)
je vais essayer

Reply

Marsh Posté le 02-08-2011 à 15:11:36    

je n'arrive pas a le faire mais j'ai trouve une autre solution :
 
Nbelem=list1.listcountt
 
For i=0 t Nbelem
   List2.additem list1.list(i)
Next i
 
Merci quand meme ! et bonne journee

Reply

Marsh Posté le 15-08-2011 à 11:17:06    

Voici un code beaucoup plus propre.... (me semble-t-il). Dans cet exemple, le contenu est dans le formload, mais tu peux également être encore plus générique en le plaçant soit dans un fichier texte (.ini, cfg, ...) ou dans l'en-tête du projet.
 
N'oublie pas de mettre ta combo en Dropdown List sans quoi elle serait éditable.
 
 
Private Sub Form_Load()
    Dim i As Integer
    Dim j As Integer
    Dim Donnees As Variant
    Donnees = Split("green|Clear|blue|brown", "|" )
    For j = LBound(Donnees) To UBound(Donnees)
    cbo_cg(0).AddItem Donnees(j), j
    Next j
    For i = 1 To 5
        Load cbo_cg(i)
        With cbo_cg(i)
            .Visible = True

            .Top = .Height + cbo_cg(i - 1).Top + 5 * Screen.TwipsPerPixelY
            For j = LBound(Donnees) To UBound(Donnees)
                .AddItem Donnees(j), j
            Next j
        End With
    Next i
End Sub

 
Dans l'exemple présenté, je crée seulement une combo à laquelle je place un index '0'.
Le texte en vert est uniquement utilisé pour repositionner les combo's en les décallant de 5 pixels verticalement l'une de la précédente.
Le texte en rouge est le code permettant d'ajouter le contenu et son index dans la combo.
Si tu désires que chaque combo affiche le premier élément, dans la boucle 'i' tu dois y ajouter ".listindex = 0" sans oublier le le faire également dans la première combo ( cbo_cg(0)).
Autre solution, est de refaire une boucle de type globale après les créations :
    For i = cbo_cg.LBound To cbo_cg.UBound
        cbo_cg(i).ListIndex = 0
    Next i


Message édité par pdw le 15-08-2011 à 11:38:59
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed