Private Sub ComboBox1_Change()
Dim x$
x = IIf(ComboBox1 = "", "*", ComboBox1) 'caractère générique *
With Sheets("Base")
.[Q2] = "=(M2<=TODAY())*COUNTIF(H2,""" & x & """)"
.[A:P].AdvancedFilter xlFilterInPlace, .[Q1:Q2]
.[Q2] = ""
End With
On Error Resume Next
AppActivate "Excel" 'garde le curseur visible sur Excel 2013
End Sub
Private Sub UserForm_Initialize()
Dim t, d As Object, i&
With Sheets("Base")
t = .Range("H1", .Range("H" & .Rows.Count).End(xlUp)(2))
End With
Set d = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(t)
If t(i, 1) <> "" Then d(t(i, 1)) = ""
Next
If d.Count Then ComboBox1.List = d.keys
ComboBox1_Change
End Sub