XL 2019 Listbox

linebich

XLDnaute Junior
Bonjour les gens
jqui peut amelioer ce code qui a pour objectif
d'alimenter un dictionnaire par les valeurs qui corespond au contenu de notre combox et afficher ces modalité sans doublon dans une listebox
Private Sub ListBox1_Click()

Set D = CreateObject("Scripting.Dictionary")

Sheets("Base ").Activate
If Range("I" & (8 + I)).Value = liste_8.Value Then
L1 = Range("H" & (8 + I)).Row
Me.ListBox1 = L1

Next I
Me.ListBox1 = D.keys
End If


End Sub

l
 

patricktoulon

XLDnaute Barbatruc
re
alors soit tu t'exprime très mal soit ton fichier en exemple n'est pas SUFFISAMMENT représentatif de ta demande
il faut faire un peu d'effort dans les demandes si l'on veut des réponses concrètes!!
autant textuellement dans l'expression de celle ci que dans les exemples fournis ;)
en l'etat au regard de ton tableau on sait toujours pas ce que tu veux vraiment ;)
 

job75

XLDnaute Barbatruc
La macro ListBox1_Click ne peut pas fonctionner quand ListBox1 est vide, utilisez plutôt :
VB:
Private Sub liste_8_Change()
If liste_8.ListIndex = -1 Then ListBox1.Clear: Exit Sub
Dim x$, d As Object, tablo, i&
x = LCase(liste_8)
Set d = CreateObject("Scripting.Dictionary")
d.CompareMode = vbTextCompare 'la casse est ignorée
tablo = Sheets("Base").[B8].CurrentRegion.Resize(, 8) 'matrice, plus rapide
For i = 2 To UBound(tablo)
    If LCase(tablo(i, 8)) = x Then d(tablo(i, 7)) = ""
Next
If d.Count Then ListBox1.List = d.keys Else ListBox1.Clear
End Sub
 
Dernière édition:

Discussions similaires

Réponses
17
Affichages
760

Statistiques des forums

Discussions
311 724
Messages
2 081 938
Membres
101 844
dernier inscrit
pktla