re, apres reflexion cela peut preter a confusion sub test()!!!
normalement pour faire simple il faut l ecrire comme cela je suppose que ta base de donnees est dans la meme feuille ou tu ouvres ton user autrement il faut modifier cette ligne par ex: base de donnees dans ta feuille 3
T = Sheets(3).Range("A2:a" & Range("A65536").End(xlUp).Row)
autrement le code tu le met dans initialise ou activate de ton user
Option Explicit
1 2 3 4 5 6 7 8 9 10 11
| Private Sub UserForm_Initialize()
Dim T, z As Variant, l As Object, i As Long
On Error Resume Next
Set l = CreateObject("Scripting.Dictionary")
T = Range("A2:a" & Range("A65536").End(xlUp).Row)
For i = LBound(T) To UBound(T)
l.Add T(i, 1), T(i, 1): Next
For Each z In l
If z <> "" Then cbx1.AddItem z
cbx1.ListIndex = 0: Next
End Sub |
Partager