Bonjour.
Dans la Sub CBnValider_Click(), juste après If LCou = 0 Then, s'il s'agit juste d'une indication positionnelle :
VLgn(1, 1) = "=ROW()-1".
S'il doit rester propre à la ligne, quitte à disparaitre en laissant un trou si on la supprime :
VLgn(1, 1) = WorksheetFunction.Max(CL.PlgTablo.Columns(1)) + 1
Supprimez les lignes vides. J'ai mis la plage sous forme de tableau. Or les lignes vides ne servent jamais à rien dans une plage transformée de cette façon là (objet ListObject).