Répétition dans COMBOBOX

bibouden

XLDnaute Nouveau
Bonjour à tous

Avec l'aide de certains j'ai pu crée deux combobox avec liste déroulante s'alimentant avec la feuil2 de mon document joint.

Je souhaiterai dans les combobox "type de matériel" et "localisation" que le même matériel ou le même endroit n'apparaisse qu'une seul fois dans la liste déroulante.

Ex en cemoment pour type de matériel j'ai plusieurs fois "ert ou gyt" qui apparaissent dans la liste. De même dans localisation j'ai plusieurs fois "laba". Je voudrais qu'ils n'apparaissent qu'une fois.

mdp du fichier: bibouden

Merci d'avance
 

Pièces jointes

  • bibouden v1 (1).xlsm
    26.5 KB · Affichages: 32

laetitia90

XLDnaute Barbatruc
Re : Répétition dans COMBOBOX

bonjour bibouden CHALET53:):)

encore une facon ecrire

Code:
Private Sub userform_initialize()
 Dim t(), j As Long, m As Object, d As Object
  Set m = CreateObject("Scripting.Dictionary")
  Set d = CreateObject("Scripting.Dictionary")
  t = Feuil2.Range("b6:d" & Feuil2.Cells(Rows.Count, 2).End(3).Row)
  For j = 1 To UBound(t)
  m(t(j, 1)) = "": d(t(j, 3)) = ""
  Next j
  ComboBox1.List = m.keys
  ComboBox2.List = d.keys
End Sub
 

JM27

XLDnaute Barbatruc
Re : Répétition dans COMBOBOX

Bonjour à tous
encore une autre façon d'écrire

Code:
Private Sub UserForm_Initialize()
    Dim i As Integer
    For i = 6 To Sheets("Feuil2").Range("B65536").End(xlUp).Row
        ComboBox1 = Sheets("Feuil2").Range("B" & i)
        If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Sheets("Feuil2").Range("B" & i)
    Next i
    ComboBox1 = ""
    For i = 6 To Sheets("Feuil2").Range("D65536").End(xlUp).Row
        ComboBox2 = Sheets("Feuil2").Range("D" & i)
        If ComboBox2.ListIndex = -1 Then ComboBox2.AddItem Sheets("Feuil2").Range("D" & i)
    Next i
    ComboBox2 = ""
 End Sub
 

Pièces jointes

  • bibouden v1.xlsm
    26.3 KB · Affichages: 29

Discussions similaires

Statistiques des forums

Discussions
314 204
Messages
2 107 186
Membres
109 771
dernier inscrit
herve1979