voilà un tout petit exemple.
Je part d'une feuille 1, sur laquelle je créé une plage de départ. Je duplique la feuille, ce qui duplique ma zone (même nom mais étendue différent).
Pour le code, il te permet, soit de changer l'étendue, soit la plage de ta nouvelle zone, soit xxxx.
Sub Macro1()
Sheets("Feuil1").Select
Range("A1:D16").Select
ActiveWorkbook.Names.Add Name:="Ma_zone_1", RefersToR1C1:= _
"=Feuil1!R1C1:R16C4"
ActiveWorkbook.Names("Ma_zone_1").Comment = ""
Sheets("Feuil1").Select
Sheets("Feuil1").Copy After:=Sheets(1)
With ActiveWorkbook.Worksheets("Feuil1 (2)").Names("Ma_zone_1")
.Name = "Ma_zone_2"
.RefersToR1C1 = "='Feuil1 (2)'!R1C1:R16C4"
.Comment = ""
End With
End Sub