Private Sub Worksheet_Activate()
'Feuil2 est le CodeName de la 2ème feuille
Dim c As Range, ajout As Range
For Each c In Feuil2.Range("A2", Feuil2.Range("A" & Rows.Count).End(xlUp))
If IsError(Application.Match(c, [A:A], 0)) Then _
Set ajout = Union(c.Resize(, 3), IIf(ajout Is Nothing, c.Resize(, 3), ajout))
Next
If Not ajout Is Nothing Then _
ajout.Copy Range("A" & Rows.Count).End(xlUp)(2)
[A:C].Sort [A1], Header:=xlYes 'tri
End Sub