INFINITY100
XLDnaute Occasionnel
Bonjour à tous
Voila j'ai sous la main une macro qui fonctionne très bien soit en affichage des dates dans le ComboBox soit en tri de ces dates, seulement il me reste qu'un petit soucis s’agissant des lignes masquées par un filtre, en effet j'aimerai ajouté au code ci-dessous un code qui ignore l'affichage des dates des lignes masquées dans le ComboBox
Merci à vous tous
Cordialement
Voila j'ai sous la main une macro qui fonctionne très bien soit en affichage des dates dans le ComboBox soit en tri de ces dates, seulement il me reste qu'un petit soucis s’agissant des lignes masquées par un filtre, en effet j'aimerai ajouté au code ci-dessous un code qui ignore l'affichage des dates des lignes masquées dans le ComboBox
VB:
'Macro qui rapporte la liste des dates et les transpose dans le ComboBox "Par_Date"
Private Sub UserForm_Initialize()
'Raffraichir pendant le code
Application.ScreenUpdating = True
'Curseur sur le ComboBox "Par_Date"
Par_Date_ComboBox.SetFocus
'Transposer les dates dans le Combobox et faire le tri
Set F = Sheets("Pertes-Par-Atelier")
Set mondico = CreateObject("Scripting.Dictionary")
a = F.Range("G20:G" & F.[G65000].End(xlUp).Row)
For i = LBound(a) To UBound(a)
If a(i, 1) <> "" Then mondico(a(i, 1)) = ""
Next i
temp = mondico.keys
Tri temp, LBound(temp), UBound(temp)
Me.Par_Date_ComboBox.List = temp
End Sub
VB:
'Macro de qui tri par ordre numerique auquelle le ComboBox "Par Date" fait appel
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
Merci à vous tous
Cordialement