Selection de la combobox [Résolu]

Signaler
Messages postés
35
Date d'inscription
vendredi 26 janvier 2007
Statut
Membre
Dernière intervention
28 février 2011
-
cs_Beginner37
Messages postés
35
Date d'inscription
vendredi 26 janvier 2007
Statut
Membre
Dernière intervention
28 février 2011
-
bonjour,
remplir une combobox n'est pas difficile avec Me.Combobox1.Additem ("value"), ... (dès que l'userform et le combobox sont bien définis).
Je souhaite à l'aide d'une fonction remplir plusieurs combobox en utilisant un sous programme du style suivant :
'Appel fonction
RemplirCombo  Userform, Choixcombobox, Table
'avec Userform = "le "Name" de l'Userform" ; Choixcombox="le "Name" du combo en question"
' et Table = "les valeurs dans un tableau".

'Fonction
Sub RemplirCombo (Userform, Choixcombox, Table)     'insertion des paramètres
expression=Userform.Choixcombo      'expression as string
Do while ... not "Null"
   expression.Additem (Table)               '--> endroit du pb
   next
Wend
end sub

J'ai l'impression que dans VBA, il n'est pas possible de modifier l'instructionMe.ComboBox1.Additem ...parexpression.Additem...
Ce qui me pose un problème pour effectuer la fonction quelque soit le choix de la combobox.

Il doit y avoir une solution mais j'ai des difficultés (je ne suis pas un spécialiste).
Avez-vous une idée ?

Cordialement

 

3 réponses

Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
4
Bonjour,

Si tu fais du VBA pourquoi postes-tu sur le forum VB.net?
Sinon c'est normal il ne faut pas définir expression comme étant une variable de type string, mais comme un objet combobox.


Et je pense aussi qu'il va falloir que tu revoies les paramètres que tu passes à ta fonction.
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
Peut-être que cet exemple pourrait aider (?)

Sub UneMacro()
    Dim Tablo As Variant
   
    Tablo = Array("un", "deux", "trois")
    RemplirCombo UserForm1.ComboBox1, Tablo
    UserForm1.Show
End Sub

Sub RemplirCombo(Cbo As ComboBox, ByVal Valeurs As Variant)
    Dim I As Integer
   
    For I = 0 To UBound(Valeurs)
        Cbo.AddItem Valeurs(I)
    Next    If Cbo.ListCount >0 Then Cbo.ListIndex 0
End Sub

MPi²
Messages postés
35
Date d'inscription
vendredi 26 janvier 2007
Statut
Membre
Dernière intervention
28 février 2011

Désolé pour VBA.net
Oui, cela résoud mon problème.
Je te remercie.
Par contre j'ai une autre question sur la continuation du programme (toujours avec les combobox : création + remplissage) que je vais poster sur forum VBA.

Salut