Sub Ajout_Feuille()
Dim Sh As Worksheet, Trouve As Range
Dim Expression As String, Remplace As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ThisWorkbook
Set Sh = .Worksheets(.Worksheets.Count)
Sh.Copy After:=.Worksheets(.Worksheets.Count)
With .ActiveSheet
.Name = CLng(Sh.Name) + 1
With .UsedRange
Expression = "'" & Sh.Previous.Name & "'"
Set Trouve = .Find(What:=Expression, _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)
If Not Trouve Is Nothing Then
Do
X = Trouve.Formula
Remplace = "'" & Sh.Name & "'"
Y = Application.Substitute(X, Expression, Remplace)
Trouve.Formula = Y
Set Trouve = .FindNext(Trouve)
Loop Until Trouve Is Nothing
End If
End With
End With
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub