Initialization combobox dans une boucle for

Bonjour,

j'ai une question par apport à l'initialisation d'un combobox dans une boucle for

le code est comme suis:

--------------------------
boucle for i = 1 to 5
userform1.show ' Userform1 contient un combobox1 et un commandbatton1
Userform2.show ' Userform2 contient un combobox2 et un commandbattom2
Next i
-------------------------

Combobox1 contient les valeurs " val1, val2,val3 "

Combobox2 de Userfom2, je voudrais l'initialiser en fonction des valeurs de combobox1 de Userform1.

c a d, si combobox1 =val1 => combobox2 affiche x,y,z
si combobox1 =val2 => Combobox2 affiche a,b,c

J'ai fait le code, par contre Combobox2 du Userform2 affiche au début ( i=1) x,y,z pour combobox1=val1.

Cependant, quand (i=2), et je choisi combobox1=val2, combobox1 affiche aussi x,y,z au lieu de a,b,c

Merci pour vos réponses
Cordiallement
K.GUERIOUNE

2 réponses

  1. Bonjour,

    Code plus qu'étrange où tu boucles 5 fois pour ouvrir deux userforms que tu ne fermes d'ailleurs pas. Je doute que ça fonctionne même si je n'ai pas testé...
    1. Bonjour ThauTheme,

      En fait, je ferme le Userform1 en cliquant sur Commandbottom1

      et je ferme le Userform2 en cliquant sur Commandbotton2

      Je boucle 5 fois,
      Pour chaque i, je définit la liste des valeurs de combobox2 en fonction de la valeur choisie du combobox1
  2. Contributeur
    Bonjour,

    Mettre ce code dans l'UserForm1:

    Option Explicit
    Private Sub CommandButton1_Click()
    UserForm2.Show
    End Sub
    Private Sub UserForm_Initialize()
    ComboBox1.AddItem ("val1")
    ComboBox1.AddItem ("val2")
    ComboBox1.AddItem ("val3")
    ComboBox1.ListIndex = 0
    End Sub
    


    Et ce code dans l'UserForm2:

    Option Explicit
    Private Sub ComboBox2_Change()
      UserForm1.ComboBox1.ListIndex = ComboBox2.ListIndex
    End Sub
    Private Sub UserForm_Initialize()
    ComboBox2.AddItem ("xyz")
    ComboBox2.AddItem ("abc")
    ComboBox2.AddItem ("def")
    ComboBox2.ListIndex = UserForm1.ComboBox1.ListIndex
    End Sub