Bonjour Jean-Paul,
Est bon ce que j'ai fait, remplacer les Evaluate par un appel de la fonction LoadUniqueValues ?
Private Sub UserForm_Initialize()
'Call extract_data_in_listbox
Set mDataManager = New DataUSFManager
mDataManager.Usf = Me
Dim Index As Variant
For Index = 1 To 8
If Index = 1 Then
Me.Controls("ChoixListBox" & Index).List = Xltools.LoadUniqueValues(SheetTest, Factory.InitTabDatas, "ID", "Column1")
Me.Controls("ComboBox" & Index).List = Xltools.LoadUniqueValues(SheetTest, Factory.InitTabDatas, "ID", "Column1", , True)
Else
Me.Controls("ChoixListBox" & Index).List = LoadUniqueValues
'Evaluate ("SORT(UNIQUE(vt_Datas[Column" & Index & "]))")
Me.Controls("ComboBox" & Index).List = LoadUniqueValues
'Evaluate ("SORT(UNIQUE(vt_Datas[Column" & Index & "]))")
End If
Next Index
'Me.Controls("ComboBox8").List = Evaluate("SORT(UNIQUE(vt_Datas[[Column17]:[Column1]]))")
Me.Controls("ComboBox9").List = LoadUniqueValues
'Evaluate ("SORT(UNIQUE(vt_Datas[Column15]))")
Me.Controls("ComboBox10").List = LoadUniqueValues
'Evaluate ("SORT(UNIQUE(vt_Datas[Column16]))")
' Me.Controls("ChoixListBox8").List = Evaluate("SORT(UNIQUE(vt_Datas[Column14]))")
Me.ListBox1.ColumnCount = 24
Me.ListBox1.List = Range("vt_Datas").Value
Me.ListBox1.ColumnWidths = "0;75;75;75;75;75;75;75;100;100;100;100;100;100;50;50;50;100;100;100;100;100;100;500;500"
ClearForm
End Sub
A+