Meme liste dans differentes combobox (vb6) - VB/VBA/VBS - Programmation
Marsh Posté le 02-08-2011 à 13:43:52
lukas82 a écrit : Bonjour, |
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.
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
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
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.