Bonjour,
Je ne pense pas que VBA soit plus rapide qu'Excel.
Tu gagnerais beaucoup en rapidité si tu remplaçais tes formules qui travaillent sur plus d'un million de lignes, comme =SOMME.SI.ENS(Source!$C:$C;Source!$A:$A;$A3;Source!$D:$D;S$2)
par des formules qui ne travaillent que sur le nombre de lignes nécessaires.
Pour simplifier leur écriture, utilises un tableau structuré pour les données (ou, à défaut, une plage nommée dynamique)