Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

djtotti69

XLDnaute Nouveau
Bonsoir le forum
novice en vb j'avance à petit pas et j'ai un soucis avec des doublons, ma combobox doit etre trié par ordre alphabétique, sans ligne vide et sans doublon. j'ai les 2 1er cas de bon mais j'arrive pas à enlever les doublons.
voici mon code:

Dim temp()
With Sheets("Clients")
temp = Range(.[E9], .[E65000].End(xlUp))
End With
Call tri(temp, 1, UBound(temp, 1))
Me.ComboBox1.List = temp

End Sub

Sub tri(a(), gauc, droi) ' Quick sort
ref = a((gauc + droi) \ 2, 1)
g = gauc: d = droi
Do
Do While a(g, 1) < ref: g = g + 1: Loop
Do While ref < a(d, 1): d = d - 1: Loop
If g <= d Then
temp = a(g, 1): a(g, 1) = a(d, 1): a(d, 1) = 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



j'ai bien cherché sur le forum mais quand j'ai plus de doublon j'ai plus les 2 autres conditions...
 
Re : pb doublon combobox

Bonsoir DJtotti, bonsoir le forum,

J'ai essayé en vain d'ouvrir ton fichier sur l'autre post...

Ci-dessous, récupéré sur son site, le code de Jacques Boisgontier qui traite : Alimenter une Combobox triée sans doublons... :
Code:
Private Sub UserForm_Initialize()
  Set MonDico = CreateObject("Scripting.Dictionary")
  For Each c In Range([E9], [E65000].End(xlUp))
    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

Par contre je suis bien incapable de te l'expliquer car je ne l'ai touijours pas compris...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
509
Réponses
8
Affichages
485
Réponses
1
Affichages
187
Réponses
4
Affichages
538
Réponses
4
Affichages
477
Réponses
7
Affichages
171
Réponses
3
Affichages
199
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
524
Réponses
10
Affichages
295
Réponses
3
Affichages
672
Retour