Bonjour Nanou
Ton problème vient que tu reherches une valeur numérique (C4) dans une plage qui contient que des valeurs texte ('2003'!$B$1:$AW$1). Dans la cellule F4 le type de la donnée est du texte (=type(F4)).
Tu peux changer ta formule ainsi
=SI(ESTNA(INDEX('2003'!$B$3:$AW$30;EQUIV($A7;'2003'!$A$3:$A$30;0);EQUIV(C$4;'2003'!$B$2:$AW$2;0)));0;INDEX('2003'!$B$3:$AW$30;EQUIV($A7;'2003'!$A$3:$A$25;0);EQUIV(C$4;'2003'!$B$2:$AW$2;0)))
ou
=SI(ESTNA(INDEX('2003'!$B$3:$AW$30;EQUIV($A7;'2003'!$A$3:$A$30;0);EQUIV(''&C$4;'2003'!$B$1:$AW$1;0)));0;INDEX('2003'!$B$3:$AW$30;EQUIV($A7;'2003'!$A$3:$A$25;0);EQUIV(''&C$4;'2003'!$B$1:$AW$1;0)))
La valeur 0 dans la cellule C4 te retournera qu'une valeur à 0, cette valeur ne figurant pas dans la plage '2003'!$B$1:$AW$1
Si tu déclares une liste de validation dans la cellule C4, qui reprend la valeur de la plage '2003'!$B$1:$AW$1, tu éviteras ta gestion d'erreur ESTNA().
Bonne journée
@+Jean-Marie