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...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
...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
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" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:b1b701c3ecce$3e0551e0$a101280a@phx.gbl...
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...
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...