Initialization combobox dans une boucle for

K.GUERIOUNE -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
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. ThauTheme Messages postés 1564 Statut Membre 160
     
    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é...
    0
    1. K.GUERIOUNE
       
      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
      0
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
    
    

    0