Bonjour,
La formule est correcte pourtant, c'est simplement ta compréhension de ce que tu as mis dedans qui pose problème :
- l'utilisation de INDEX dans la première formule renvoie le numéro d'index de ta colonne, pas le numéro de la colonne. Ce que ça veut dire, c'est que tu considères la colonne C comme étant "la première colonne" par rapport à ton référentiel d'index. Donc le résultat est correct.
- par contre, dans ta deuxième formule, tu utilises directement MAX(COLUMN()), sans passer par un index. Ainsi, les numéros de colonnes commencent par 1 en colonne A, etc ... Sauf que vu que ta formule est dans la colonne B (la colonne numéro 2), tu es décalé de 2 colonnes dans le résultat renvoyé par ton MAX. INDEX ayant besoin d'un d'index relatif à la plage cherchée, tu renvoies donc un résultat deux colonnes trop loin -> d'où le fait que la formule renvoie 2023-3334, qui est l'entête de colonne "2 colonnes trop loin".
Concrètement, en passant par les colonnes, il faudrait déduire le numéro de colonne dans laquelle se trouve ta formule de manière à "indexer" ta recherche, c'est à dire =INDEX(C2:X2;MAX(IF(C3:X3>0;COLUMN(C3:X3)))-COLUMN())
Bonne journée,