Sub RemplacerFeuille()
Dim nom$, F1 As Object, fichier, F2 As Object, n%
nom = "DATA" 'à adapter
With ThisWorkbook
On Error Resume Next
Set F1 = .Sheets(nom)
If F1 Is Nothing Then MsgBox "La feuille '" & nom & _
"' n'existe pas dans '" & .Name & "'": Exit Sub
fichier = Application.GetOpenFilename("Fichiers Excel (*.xlsx), *.xlsx", _
Title:="Choisir un fichier Excel")
If fichier = False Then Exit Sub
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks.Open fichier
Set F2 = ActiveWorkbook.Sheets(nom)
If F2 Is Nothing Then MsgBox "La feuille '" & nom & _
"' n'existe pas dans '" & ActiveWorkbook.Name & "'": _
ActiveWorkbook.Close: Exit Sub
n = F1.Index
.Sheets.Add Before:=F1 'sécurité, si F1 est unique
F1.Delete
F2.Copy Before:=.Sheets(n)
F2.Parent.Close
.Sheets(n + 1).Delete
.Sheets(n).Activate
End With
End Sub