Попробуйте
Sub Fill_EightD_D1_CB1()
With EightD.EightD_D1_CB1
.ColumnCount = 2 ' 2 colonnes
.ColumnWidths = "-1;0" ' dont une de masquee
End With
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("D1")
Dim LC As Long
Dim i As Long, r As Long, j As Long
Dim vDB As Variant, vR(), vtemp(1 To 2)
LC = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
vDB = ws.Range("a2", "a" & LC)
r = UBound(vDB, 1)
ReDim vR(1 To r, 1 To 2)
For i = 1 To r
vR(i, 1) = vDB(i, 1)
vR(i, 2) = i + 1
Next i
For i = 1 To r
For j = 1 To r
If vR(i, 1) < vR(j, 1) Then
vtemp(1) = vR(i, 1)
vtemp(2) = vR(i, 2)
vR(i, 1) = vR(j, 1)
vR(i, 2) = vR(j, 2)
vR(j, 1) = vtemp(1)
vR(j, 2) = vtemp(2)
End If
Next j
Next i
EightD.EightD_D1_CB1.List = vR
'show always the first element
EightD.EightD_D1_CB1.ListIndex = 0
'Bold Text EightD_D1_CB1
EightD.EightD_D1_CB1.Font.Bold = True
End Sub