OVH Cloud OVH Cloud

SUMPRODUCT sur autre feuille

1 réponse
Avatar
Denys
Bonjour =E0 tous,

Sur une feuille, je fais calculer des stats provenant=20
d'une autre feuille. Par exemple, Annie entre des donn=E9es=20
avec un userform sur la feuille nomm=E9e Annie. Puis, sur la=20
feuille nomm=E9e Annie-1, je fais des calculs avec la=20
fonction Sumproduct, non seulement pour chaque jour=20
ouvrable, mais aussi pour chaque t=E2che accomplie....

C'est tr=E8s long. Alors, je veux calculer avec VBA. Voici=20
un exemple du code:

Sub Janv()
Application.ScreenUpdating =3D False
DerL =3D [a65536].End(3).Row
Application.Calculation =3D xlManual
[D131:D152] =3D "=3DSUMPRODUCT((MONTH(Annie!$A$8:$A$5000)=3D1)*
(Annie!$H$8:$H$5000=3D$A131))"
Application.Calculation =3D xlAutomatic
[D131:D152] =3D [D131:D152].Value
End Sub

=C7a fonctionne bien, sauf que je dois entrer 12 mois pour=20
le temps accumul=E9, et 12 autres fois pour les t=E2ches (A131-
A152 correspond aux t=E2ches, tandis que A23-A52 correspond=20
aux dates en janvier, G23-G53 aux dates en f=E9vrier, etc..)

Comme j'ai 10 employ=E9s, vous vous doutez que je vais avoir=20
un joli paquet de formules =E0 appeler.... Y a-t-il un moyen=20
de simplifier tout cela?

Comme le sumproduct fait appel =E0 une autre feuille je ne=20
vois pas comment faire. Sinon, cela me fera 24 Sub (1 pour=20
chaque mois pour le temps, et 1 pour chaque mois pour les=20
t=E2ches) et ce, pour 10 employ=E9s...

J'esp=E8re que ma question est compr=E9hensible...

Merci pour vos id=E9es...

Denys

1 réponse

Avatar
...Patrick
Salut,
tu as trouvé ta soluce ?
si tu nommais tes zones tu aurais certainement plus facile, mais je ne connais pas ton
fichier :)
Patrick

"Denys" a écrit dans le message de
news:b1b701c3ecce$3e0551e0$
Bonjour à tous,

Sur une feuille, je fais calculer des stats provenant
d'une autre feuille. Par exemple, Annie entre des données
avec un userform sur la feuille nommée Annie. Puis, sur la
feuille nommée Annie-1, je fais des calculs avec la
fonction Sumproduct, non seulement pour chaque jour
ouvrable, mais aussi pour chaque tâche accomplie....

C'est très long. Alors, je veux calculer avec VBA. Voici
un exemple du code:

Sub Janv()
Application.ScreenUpdating = False
DerL = [a65536].End(3).Row
Application.Calculation = xlManual
[D131:D152] = "=SUMPRODUCT((MONTH(Annie!$A$8:$A$5000)=1)*
(Annie!$H$8:$H$5000=$A131))"
Application.Calculation = xlAutomatic
[D131:D152] = [D131:D152].Value
End Sub

Ça fonctionne bien, sauf que je dois entrer 12 mois pour
le temps accumulé, et 12 autres fois pour les tâches (A131-
A152 correspond aux tâches, tandis que A23-A52 correspond
aux dates en janvier, G23-G53 aux dates en février, etc..)

Comme j'ai 10 employés, vous vous doutez que je vais avoir
un joli paquet de formules à appeler.... Y a-t-il un moyen
de simplifier tout cela?

Comme le sumproduct fait appel à une autre feuille je ne
vois pas comment faire. Sinon, cela me fera 24 Sub (1 pour
chaque mois pour le temps, et 1 pour chaque mois pour les
tâches) et ce, pour 10 employés...

J'espère que ma question est compréhensible...

Merci pour vos idées...

Denys