Private Sub Workbook_Open()
Dim nomfich$
nomfich = ThisWorkbook.Path & "\" & Me.Name
If IsError([Fichier_original]) Then
Me.Names.Add "Fichier_original", nomfich, Visible:=False
Me.Save
Else
If nomfich <> [Fichier_original] Then
On Error Resume Next 'si le fichier original n'est pas trouvé
Workbooks.Open [Fichier_original]
Me.Names.Add "Tue_moi", nomfich, Visible:=False
Else
Application.OnTime 1, "ThisWorkbook.Je_te_tue"
End If
End If
End Sub
Sub Je_te_tue()
Dim wb As Workbook, t$
On Error Resume Next
For Each wb In Workbooks
t = ""
t = Evaluate(wb.Names("Tue_moi").RefersTo)
If t <> "" Then
wb.Close False
SetAttr t, vbNormal 'au cas où le fichier serait en lecture seule
Kill t
End If
Next
End Sub