Faut croire que je fonctionne mieux au milieu de la nuit ! (je le savais déjà mais c'était pour les idées nouvelles et quelques autres petites choses, pas pour le débogage...)
En tout cas voilà la ligne fautive :
a = Range("A5:C" & [A65000].End(xlUp).Row)
dans Initialize, à remplacer :
a = Range("A5:F" & [A65000].End(xlUp).Row)
au moins jusqu'à F à toi de voir si tu en mets plus (ta base a 9 colonnes, tu en as mis 8 dans dans ListBox, tu en as dimensionné 6...)
D'autre part, si comme je le pense ce sont les dates que tu veux mettre dans les 3 colonnes de la ListBox, il faut revoir ta ligne d'affectation :
.Column(j - 1, .ListCount - 1) = Tbl(i, j + ((j - 1) \ 3) * 3)
Mon petit ajout à l'indice du tableau fait que pour j= 1 à 3 on ira toujours chercher les colonnes 1 à 3 mais j= 4 à 6, on ira prendre les colonnes 7 à 9.
Ta procédure ListBox_Click bogue aussi : variable Ln non définie... (comme tu es en option Explicit)
Bonne continuation.
Ferrand