A adapter, en espérant n'avoir rien oublié,déjà posté sur un autre forum
Créer un Bouton sur Feuil1
Créer une UserForm1
Ajouter un Module
Ajouter un Module de Classe
Code Feuil1
Private Sub CommandButton1_Click()
UserForm1.Creation
UserForm1.Show
End Sub
Code UserForm1
Option Explicit
Public Sub Creation()
Dim TBox As Control
Dim CBox As Control
Dim i As Integer, j As Integer
Dim Cls As ClsEventCbo
Set Coll = New Collection
For i = 1 To 5
Set CBox = Me.Controls.Add("Forms.Combobox.1")
With CBox
.Name = "Cbo" & i
.Left = 5
.Top = 10 + ((i - 1) * 22)
.Width = 80
.Height = 20
.ListRows = 12
.BackColor = &HC0FFFF
.Tag = i
End With
Set Cls = New ClsEventCbo
Set Cls.ClsCbo = CBox
Coll.Add Cls
Set CBox = Nothing
Set TBox = Me.Controls.Add("Forms.TextBox.1")
With TBox
.Name = "TBox" & i
.Left = 85
.Top = 10 + ((i - 1) * 22)
.Width = 75
.Height = 20
End With
Set TBox = Nothing
Next i
For i = 1 To 5
For j = 1 To 12
Controls("Cbo" & i).AddItem i & " " & j
Next j
Next i
End Sub
Code Module1
Option Explicit
Public Coll As Collection
Code Module de Classe : ClsEventCbo
Option Explicit
Public WithEvents ClsCbo As MSForms.ComboBox
Private Sub ClsCbo_Change()
UserForm1.Controls("TBox" & ClsCbo.Tag) = ClsCbo.Value
End Sub