Liste déroulante et ComboBox

Cydor007

XLDnaute Occasionnel
Bonjour à tous,

J'essaie de rendre une droplist dans un ComboBox utilisable à partir d'une liste dans ma feuille TEST. J'ai essayé de plusieurs façon, mais sans succes, de faire défiler la liste. J'obtiens toujours un erreur de compilation.

Le but est de pouvoir faciliter l'affichage d'une pièce quand je veux la sélectionner à partir d'une BD de plus de 3000 pièces.

Si vous avec une autre idée d'afficher rapidement un item provenant d'une liste (autre qu'une validation des données), je suis tout oui.

Je vous laisse un exemple comme test.

Merci de votre aide:)

Cydor007
 

Pièces jointes

  • Testlist1.xlsm
    19 KB · Affichages: 27

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Liste déroulante et ComboBox

Bonsoir,

Code:
Option Compare Text
Private Sub ComboBox1_Change()
  [A1] = ComboBox1
End Sub

Private Sub ComboBox1_DropButtonClick()
  Dim temp()
  Set F = Sheets("TEST")
  Set MonDico = CreateObject("Scripting.Dictionary")
  For Each c In F.Range("L3:L" & F.[L65000].End(xlUp).Row)
    If c.Value <> "" Then MonDico.Item(c.Value) = ""
  Next c
  temp = MonDico.keys
  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

JB
 

Pièces jointes

  • Copie de Testlist1.xls
    39.5 KB · Affichages: 26
Dernière édition:

Discussions similaires

Réponses
4
Affichages
2 K
Compte Supprimé 979
C

Statistiques des forums

Discussions
311 730
Messages
2 081 978
Membres
101 854
dernier inscrit
micmag26