Bonjour
En faisant des tests, j'ai remarqué que c'était l'utilisation de la fonction LIGNE() dans le SOMMPROD qui posait soucis puisque ce code fonctionne très bien
=SOMMEPROD((DECALER(INDIRECT("B" & 1);-1;4;-10))*(DECALER(INDIRECT("B" & 1);-1;15;-10)))
Etes-vous sûr que cette formule fonctionne et que vous n'avez pas comme retour d'Excel l'indication d'erreur #REF!.
En effet, DECALER(INDIRECT("B" & 1);-1;4;-10) renvoie à une plage F-9:F0 qui n'existe pas dans la feuille.
La formule
=SOMMEPROD((DECALER(INDIRECT("B" & LIGNE());-1;4;-10))*(DECALER(INDIRECT("B" & LIGNE());-1;15;-10)))
ne renverra une réponse numérique à la place du message d'erreur que pour LIGNE() >10.
Ceci étant, vous avez compliqué les indications des plages intervenant comme paramètres de la fonction SOMMEPROD.
Sauf erreur de ma part, DECALER(INDIRECT("B" & LIGNE());-1;4;-10) et DECALER(INDIRECT("B" & LIGNE());-1;15;-10) désignent respectivement des plages des colonnes F et Q.
En se plaçant par exemple en ligne 15, pourquoi ne pas écrire plus simplement :
=SOMMEPROD(DECALER($F15;-1;0;-10)*DECALER($Q15;-1;0;-10))
Les références mixtes $F15 et $Q15 (colonnes absolues, ligne relative) s'incrémenteront automatiquement pour la ligne lorsque vous recopierez la formule en changeant de ligne.
Cordialement
Claude
Partager