Bonjour à tous !
Il vous faut figer la référence A2 ($A$2) et modifier cette référence manuellement pour les autres blocs.
Si vous préférez utiliser une formule unique, je vous propose de tester la solution suivante (en C2) :
=SI(OU(B2="Code";GAUCHE(B2;2)="XL");DECALER($A$1;MAX(SIERREUR(TROUVE("Date";$A$1:A1)*LIGNE($A$1:A1);0))-3;0);"")
A tirer vers le bas en tant que besoin.