C'est parce que la limite haute de ton "for":
Range("A" & Rows.Count).End(xlUp).Row
va aller jusqu'à 36 ( le nombre de ligne à l'origine ), il faut donc trouver un moyen d'atteindre des valeurs plus importantes, peut-être en prévoyant le nombre de ligne ajouter et en ajoutant cette valeur à la limite haute du for?
For NoLig = 4 To Range("A" & Rows.Count).End(xlUp).Row + lig_sup Step 4