Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Val(Sh.Name) = 0 Then Exit Sub
Dim derlig&, i&, x$, y$, j, z$
derlig = Sh.Cells.SpecialCells(xlCellTypeLastCell).Row
Application.EnableEvents = False
If Sh.Cells(3, "AB") <> "" Then
Sh.Range("D3:D" & Sh.Rows.Count).ClearContents 'RAZ
For i = 3 To derlig
x = Sh.Cells(i, "B")
If x = "" Then Exit For
For j = 3 To derlig
y = Sh.Cells(j, "AB")
If y = "" Then Exit For
If y = x And Sh.Cells(i, "D") = "" Then Sh.Cells(i, "D") = Sh.Cells(j, "AD"): Exit For
Next j, i
End If
'---stockage---
Sh.Range("AB3:AD" & derlig) = Sh.Range("B3:D" & derlig).Value 'plage à adapter
Application.EnableEvents = True
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
If Val(Sh.Name) Then Sh.[AB:AD].ClearContents
Workbook_SheetActivate Sh
Application.EnableEvents = True
End Sub