re,
hum...tu n'avais pas expliqué tout ton pb là...
Remplace le code précédent par celui-ci.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Macro par Dan pour country64 le 01/01/2009
Dim a As Byte, i As Byte
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
With Sheets(i)
On Error Resume Next
a = Application.WorksheetFunction.Match(.Range("D3"), .Range("K13:K18"), 0) + 12
If a <> 0 Then .Range("O" & a) = .Range("c18")
End With
Next
End Sub
Toutes les feuilles doivent comporter des données au même endroit. Le cas contraire une erreur peut se produire.
Si tel est le cas place moi ton fichier.
Amicalement
Dan