Salut,
Je ne me suis pas intéressé à tous tes problèmes, mais peut-être que ma réponse te permettra de continuer tout seul.
Si tu prends ta macro Tr_ligne et que tu veux répéter un certain nombre de fois l'action
Rows("1:1").Copy Destination:=Sheets("Estimation").Range("A" & No_ligne)
tu pourrais introduire une boucle "For/Next" à ce niveau, par exemple :
For i = 1 To No_ligne_insere
Rows("1:1").Copy Destination:=Sheets("Estimation").Range("A" & No_ligne + i - 1)
Next i
Maintenant, quant à savoir si l'on ne pourrait pas simplifier tous tes codes, c'est une autre question
Cordialement.