Bonjour
Déjà en premier lieu, je fais une petite mise en forme style VBA de ta formule, et franchement ça aide.
=SOMME.SI('C:\Gestion\CA\[CA.xls]CA'!$A$2:$A$15000;"EST";
SI($A$4=1;'C:\Gestion\CA\[CA.xls]CA'!$O$2:$O$15000;
SI($A$4=2;'C:\Gestion\CA\[CA.xls]CA'!$Q$2:$Q$15000;
SI($A$4=3;'C:\Gestion\CA\[CA.xls]CA'!$S$2:$S$15000;
SI($A$4=4;'C:\Gestion\CA\[CA.xls]CA'!$U$2:$U$15000;
SI($A$4=5;'C:\Gestion\CA\[CA.xls]CA'!$W$2:$W$15000;
SI($A$4=6;'C:\Gestion\CA\[CA.xls]CA'!$Y$2:$Y$15000
)
)
)
)
)
)
)
Que voit-on dans ta formule que la plage du 3ème argument bouge en fonction du mois.
1ère plage, colonne O (la 15ème)
2ème plage, colonne Q (la 17ème)
3ème plage, colonne S (la 19ème)
...
Donc la plage de calcul de la fonction somme.si, commence en colonne 0 avec 1 colonne entre chaque mois.
Avec d'autres fonctions, tu peux arriver au même résultat.
En utilisant la fonction Index(;0
=SOMME.SI('C:\Gestion\CA\[CA.xls]CA'!$A$2:$A$15000;"EST";INDEX('C:\Gestion\CA\[CA.xls]CA'!$O$2:$AL$15000;0;(($A$4-1)*2)+1))
en utilisant la fonction Decaler(;
=SOMME.SI('C:\Gestion\CA\[CA.xls]CA'!$A$2:$A$15000;"EST";DECALER('C:\Gestion\CA\[CA.xls]CA'!$O$2:$O$15000;;(($A$4-1)*2))
Il y a en d'autres.
En espérant avoir montré une autre approche de ton problème, je te souhaite une bonne journée
@+Jean-Marie