Salut,
J'espère avoir compris ton soucis.
Dans le fichier ci-joint, j'ai modifié le passage ci-dessous et ça semble fonctionner.
'---------------------------------------------
Application.ScreenUpdating = False
'''With Sheets("Calc")
Sheets("Calc").Activate
With ActiveSheet
If Not IsNumeric(Application.Match(Target.Value, [Calc!5:5], 0)) Then
DerCol = .Range("C7").End(xlToRight).Column
.Range(ActiveSheet.Cells(1, DerCol + 1).EntireColumn, .Cells(1, DerCol + 2).EntireColumn).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Set MatRng = .Range(ActiveSheet.[C5], .Cells(Rows.Count, 4).End(xlUp))
MatRng.Copy .Cells(5, Columns.Count).End(xlToLeft).Offset(, 1)
.Cells(5, Columns.Count).End(xlToLeft).Value = Target
End If
.Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1).Select
End With
Sheets("BDD").Activate
'---------------------------------------------
Cordialement.