Listbox sans doublon

Bonjour,

J'ai trouvé sur ce site :

http://boisgontierjacques.free.fr/pages_site/formulairelistesansdoublons.htm

Une façon de remplir une listbox sans doublon et trié compatible avec MAC..

Le problème (vous l'attendiez ) c'est que je ne comprends pas comment, en détail, ce programme fonctionne...

Pourriez vous, si vous trouvez le temps et l'envie, me l'expliquer s'il vous plaît?

Option Compare Text
Dim f
Private Sub UserForm_Initialize()
  Set f = Sheets("base")
  Dim a()
  a = Application.Transpose(f.Range("A2:A" & f.[A65000].End(xlUp).Row).Value)
  Me.ComboBox1.List = SansDoublonsTriéMAC(a())
End Sub

Function SansDoublonsTriéMAC(a())
  Call Tri(a, LBound(a), UBound(a))
  Dim b(): ReDim b(1 To UBound(a))
  i = 1: j = 0
  Do While i <= UBound(a)
    j = j + 1: b(j) = a(i)
    Do While a(i) = b(j)
       i = i + 1: If i > UBound(a) Then Exit Do
    Loop
  Loop
  ReDim Preserve b(1 To j)
  SansDoublonsTriéMAC = Application.Transpose(b)
End Function

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 de votre lecture!

Bonjour,

-La liste est d'abord triée

A

A

A

B

B

B

B

C

C

C

C

-On cherche ensuite le changement d'occurrence.

Exécuter en pas à pas avec F8

Une autre méthode avec l'objet Collection

http://boisgontierjacques.free.fr/fichiers/Formulaire/FormListeSansDoublonsCollectionTrieMAC.xls

Ceuzin

D'accord merci je regarde ce fichier ce soir!

Peux tu me dire ce qu'est une occurrence stp? Je ne sais pas...

Rechercher des sujets similaires à "listbox doublon"