Sub Calcul()
Dim liste, tab1, d As Object, e, tab2
liste = Array("A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10")
tab1 = Array("A2", "A4", "A6", "A8", "A10")
Set d = CreateObject("Scripting.Dictionary")
For Each e In liste
d(e) = ""
Next
For Each e In tab1
If d.exists(e) Then d.Remove e
Next
'---restitution (pour tester)---
Application.ScreenUpdating = False
Range("A2:C" & Rows.Count).ClearContents 'RAZ
[A2].Resize(UBound(liste) + 1) = Application.Transpose(liste)
[B2].Resize(UBound(tab1) + 1) = Application.Transpose(tab1)
If d.Count = 0 Then Exit Sub
tab2 = d.keys
[C2].Resize(UBound(tab2) + 1) = Application.Transpose(tab2)
End Sub