Remplir plusieurs Combobox

Le
Jacques
Bonjour,

J'ai plusieurs Combobox qui doivent contenir la même liste.

cbo_a, cbo_B, cbo_C, , cbo_M

Comment alimenter toutes ces listes ?

J'ai essayé ceci mais sans succés :-(
Merci de vos réponses

Jacques

Dim LC As Integer '
Dim NomCbo As String
Dim CboCtrl As ComboBox

For LC = 66 To 77 ' de B à M
NomCbo = "cbo_" & CStr(Chr(LC))
CboCtrl.Name = NomCbo

With CboCtrl
.AddItem "Coucou"
End With

Next
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
tking
Le #15369841
Jacques a exprimé avec précision :
Bonjour,

J'ai plusieurs Combobox qui doivent contenir la même liste.

cbo_a, cbo_B, cbo_C, ..., cbo_M

Comment alimenter toutes ces listes ?

J'ai essayé ceci mais sans succés :-(
Merci de vos réponses

Jacques

Dim LC As Integer '
Dim NomCbo As String
Dim CboCtrl As ComboBox

For LC = 66 To 77 ' de B à M
NomCbo = "cbo_" & CStr(Chr(LC))
CboCtrl.Name = NomCbo

With CboCtrl
.AddItem "Coucou"
End With

Next



Pour la partie remplissage, ton code peut ressembler à ça:

With Combo1(x)
.AddItem ("test")
end With



ou x sera une des Combo
Jacques93
Le #15369831
Bonjour,
tking a écrit :
Jacques a exprimé avec précision :
Bonjour,

J'ai plusieurs Combobox qui doivent contenir la même liste.

cbo_a, cbo_B, cbo_C, ..., cbo_M

Comment alimenter toutes ces listes ?

J'ai essayé ceci mais sans succés :-(
Merci de vos réponses

Jacques

Dim LC As Integer '
Dim NomCbo As String
Dim CboCtrl As ComboBox

For LC = 66 To 77 ' de B à M
NomCbo = "cbo_" & CStr(Chr(LC))
CboCtrl.Name = NomCbo

With CboCtrl
.AddItem "Coucou"
End With

Next



Pour la partie remplissage, ton code peut ressembler à ça:

With Combo1(x)
.AddItem ("test")
end With



ou x sera une des Combo





Je crois que Jacques travaille sous Excel, ou il n'est pas possible
d'indexer les contrôles ...

--
Cordialement,

Jacques.
LE TROLL
Le #15369821
Bonjour,

Dans le principe car je ne connais pas vbA:

for i = celluleX to celluleY
combo1.additem celluleZ
combo2.additem celluleZ
combo3.additem celluleZ
next i

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Jacques" message de news:

| Bonjour,
|
| J'ai plusieurs Combobox qui doivent contenir la
même liste.
|
| cbo_a, cbo_B, cbo_C, ..., cbo_M
|
| Comment alimenter toutes ces listes ?
|
| J'ai essayé ceci mais sans succés :-(
| Merci de vos réponses
|
| Jacques
|
| Dim LC As Integer '
| Dim NomCbo As String
| Dim CboCtrl As ComboBox
|
| For LC = 66 To 77 ' de B à M
| NomCbo = "cbo_" & CStr(Chr(LC))
| CboCtrl.Name = NomCbo
|
| With CboCtrl
| .AddItem "Coucou"
| End With
|
| Next
|
|
|
tking
Le #15369801
Jacques93 avait énoncé :


Je crois que Jacques travaille sous Excel, ou il n'est pas possible d'indexer
les contrôles ...



Oups... tant pis.
Jean-marc
Le #15369791
Jacques wrote:
Bonjour,

J'ai plusieurs Combobox qui doivent contenir la même liste.

cbo_a, cbo_B, cbo_C, ..., cbo_M

Comment alimenter toutes ces listes ?



Hello,

j'ai cru comprendre que tu faisais du VBA ?

Est ce que ceci fonctionnerait (ça marche en VB en tout cas) :

Private Sub Command1_Click()
Dim cbo_ctrl As Object

For Each cbo_ctrl In Controls
If TypeOf cbo_ctrl Is ComboBox Then
If Mid$(cbo_ctrl.Name, 1, 4) = "cbo_" Then
Call feed_combo(cbo_ctrl)
End If
End If
Next

End Sub

Private Sub feed_combo(cb As ComboBox)
cb.AddItem "HELLO"
cb.AddItem "WORLD"
cb.ListIndex = 0
End Sub


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Jean-marc
Le #15369781
Jean-marc wrote:
Jacques wrote:



Private Sub Command1_Click()
Dim cbo_ctrl As Object

For Each cbo_ctrl In Controls
If TypeOf cbo_ctrl Is ComboBox Then
If Mid$(cbo_ctrl.Name, 1, 4) = "cbo_" Then
Call feed_combo(cbo_ctrl)
End If
End If
Next

End Sub

Private Sub feed_combo(cb As ComboBox)
cb.AddItem "HELLO"
cb.AddItem "WORLD"
cb.ListIndex = 0
End Sub



Et si ce code ne fonctionne pas, il fonctionnera en
le modifiant avec les infos ici présentes:
http://www.ozgrid.com/VBA/control-loop.htm

Voila :-)

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Jean-marc
Le #15369771
Jean-marc wrote:
Et si ce code ne fonctionne pas, il fonctionnera en
le modifiant avec les infos ici présentes:
http://www.ozgrid.com/VBA/control-loop.htm




Voici la version VBA, testée et fonctionne :

Private Sub CommandButton1_Click()
Dim c As Control

For Each c In Me.Controls
If TypeName(c) = "ComboBox" Then
If Mid$(c.Name, 1, 4) = "cbo_" Then
Call FeedCombo(c)
End If
End If
Next
End Sub

Private Sub FeedCombo(cbo As ComboBox)

cbo.AddItem "HELLO"
cbo.AddItem "WORLD"
cbo.ListIndex = 0

End Sub


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Vincent Guichard
Le #15369741
Bonjour,

En complement de ce que disent les autres intervenants, et valable en ce
qui concerne VB, mais je n'en suis pas sur pour VBA, le container
Controls peut être appelé avec le nom du contrôle comme index.

Vincent Guichard

Dim LC As Integer '
Dim NomCbo As String
Dim CboCtrl As ComboBox

For LC = 66 To 77 ' de B à M
NomCbo = "cbo_" & CStr(Chr(LC))
Set CboCtrl = Controls(NomCbo)

With CboCtrl
.AddItem "Coucou"
End With
Next
Publicité
Poster une réponse
Anonyme