1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
Private Sub MyComboBox_AfterUpdate()
Const NB_ITEMS As Long = 20 'Nombre d'éléments archivés dans la liste
Dim b As Byte
'Maj de la liste des derniers critères recherchés
With MyComboBox
'Si la valeur saisie est un Null _
ou une chaîne de longeur nulle _
ou égale au premier item, _
alors aucune Maj de la liste n'est nécessaire.
If Nz(.Value, "") = "" Or .Value = .Column(0, 0) Then Exit Sub
'Etant donné qu'on ne souhaite pas de doublons, _
on va parcourir tous les éléments _
pour éliminer un éventuel doublon avant d'ajouter notre valeur en haut de liste.
For b = 1 To .ListCount - 1
If .Column(0, b) = .Value Then .RemoveItem b: Exit For
Next b
'Ajoute la nouvelle saisie
.AddItem Item:=.Value, Index:=0
'Limite la liste à NB_ITEMS éléments
If .ListCount = NB_ITEMS Then .RemoveItem NB_ITEMS - 1
End With
End |
Partager