De toute fàçon, je comprends rien à ta macro.
Plus pourri YAPA !
Même si on n'est pas très copain avec l'anglais, il ne me semble pas trop compliqué de deviner qu'il n'y a que 3 ou 4 instructions intéressantes :
k = cbMois.ListIndex 'on lit le choix de l'utilisateur
On démasque toutes les lignes :
Set rng = WsDTB.Range("Tableau1")
rng.Rows.Hidden = False
Pour chaque ligne de rng on masque les lignes dont le mois ne correspond pas...
For i = 1 To rng.Rows.Count
If Month(rng.Cells(i, 4)) <> k Then rng.Rows(i).Hidden = True
Next
La liste des mois est déclarée dans le Gestionnaire de Noms : LMois
ensuite elle fait partie des propriétés du Combo cbMois C'est la propriété ListFillRange qui relie l'ensemble.