lynyrd
XLDnaute Impliqué
Bonjour le forum
Je souhaiterais trier alphabètiquement la combobox sans qu'il y ait d'incidence sur les autres cellules (j'ai une 3ème feuille dont les cellules sont liées avec la feuille2).
j'ai essayé d'adapter le code de Mr boisgontier mais ca ne fonctionne pas.
Merci.
Je souhaiterais trier alphabètiquement la combobox sans qu'il y ait d'incidence sur les autres cellules (j'ai une 3ème feuille dont les cellules sont liées avec la feuille2).
j'ai essayé d'adapter le code de Mr boisgontier mais ca ne fonctionne pas.
Quelqu'un aurait t'il une petite idée ?Private Sub UserForm_Initialize()
Dim temp()
Set f = Sheets("Feuil2")
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In f.Range("A2:A" & f.[A65000].End(xlUp).Row)
If c.Value <> "" Then MonDico.Item(c.Value) = c.Value
Next c
temp = MonDico.items
Call tri(temp, LBound(temp), UBound(temp))
Me.ComboBox1.List = temp
End Sub
Sub tri(a(), gauc, droi) ' Quick sort
ref = a((gauc + droi) \ 2)
g = gauc: d = droi
Do
Do While a(g) < ref: g = g + 1: Loop
Do While ref < a(d): d = d - 1: Loop
If g <= d Then
temp = a(g): a(g) = a(d): a(d) = temp
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call tri(a, g, droi)
If gauc < d Then Call tri(a, gauc, d)
End Sub
Merci.