Salut,
Selon moi c'est absolument faux que mes trois codes-démo font tous la même chose Mais bon, peut-être as-tu loupé quelque chose
Dans le fichier ci-joint, le code ci-dessous réalise normalement ce que tu désires, quel que soit le nombre de lignes.
Sub Démo_4()
Dim DerLig As Integer
DerLig = Range("A" & Rows.Count).End(xlUp).Row
Range("A18:L" & Rows.Count).Borders.LineStyle = xlNone
Range("E18:K18").Borders.Weight = xlThin
Range("A18:D18 , A19:D" & DerLig & " , E19:E" & DerLig & ", F19:F" & DerLig & ", G19:G" & DerLig & ", H19:H" & DerLig & ", I19:I" & DerLig & ", J19:J" & DerLig & ", K19:K" & DerLig).BorderAround Weight:=xlThin
End Sub
Si ce n'est pas ça, merci de me fournir un exemple de ce que tu voudrais précisément.
Amicalement.
NB : Tu ne t'es pas trop cassé la tête à chercher ce que réalisaient mes codes, non ??