Ben, si on a droit aux variant, trop fastoche.
Allez, encore moins efficace :

Sub swap()
Dim a As Variant
Dim b As Variant
a = 10
b = 20
a = a & "|" & b
b = Val(a)