Re,
Je n'utilise que deux fontions:
Ligne : qui donne le numéro de ligne où est inserée la formule. (
https://support.office.com/fr-fr/article/ligne-ligne-fonction-3a63b74a-c4d0-4093-b49a-e76eb49a6d8d)
Indirect qui permet de passer un texte en adresse. (
https://support.office.com/fr-fr/ar...fonction-474b3a3a-8a26-4f44-b491-92b6306fa261)
En colonne A je fais un incrément avec un modulo, le modulo est donné par la variable en I1. Donc à chaque fois que je trouve 1 je dois faire la somme des 9 cellules.
Ligne me donne la ligne courante
Ligne+8 me donne la fin de tableau . Ou plus généralement Ligne()+Modulo-1
Ensuite je reconstrut l'adresse par indirect :
INDIRECT("C"&LIGNE()&":C"&LIGNE()+Modulo-1))
Donc si la formule est en E7976 alors :
Ligne()=7976
Ligne()+Modulo-1=7984 ( 7976+9-1)
"C"&LIGNE()&":C"&LIGNE()+Modulo-1 me donne C7976:C7984
Indirect dit à Excel que ce n'est pas un texte mais des adresses, puis je fait somme, ce qu'XL interprète comme SOMME(C7976:C7984)
Plus le petit SI qui va bien pour n'exprimer la formule que quand en colonne A je trouve 1.
De cette façon c'est automatique, dynamique et dimmensionnable avec Modulo.