Sub Macro1()
Dim cs As Workbook 'déclare la variable cs (Classeur Source)
Dim cc As Workbook 'déclare la variable cc (Classeur Cible)
Dim pn As Name 'déclare la variale pn (Plage Nommée)
Dim no As String 'déclare la varaible no (Nom de l'Onglet)
Dim ad As String 'déclare la variable ad (ADresse)
Set cs = Workbooks("le_nom_du_classeur_source.xls") 'définit le classeur source (à adapter à ton cas)
Set cc = Workbooks("le_nom_du_classeur_cilbe.xls") 'définit le classeur cible (à adapter à ton cas)
For Each pn In cs.Names 'boucle sur toutes les plage nommée du classeur source
no = Mid(Split(pn, "!")(0), 2) 'récupère le nom de l'onglet de la plage nommée
ad = Split(pn, "!")(1) 'récupère l'adresse de la plage nommée
cc.Sheets(no).Range(ad).Name = pn.Name 'nomme, dans l'onglet cible, la plage définie par l'adresse ad de l'onglet on du même nom que la plage nommée pn
Next pn 'prochaine plage nommée du classeur source
End Sub