OVH Cloud OVH Cloud

Sumproduct VBA

2 réponses
Avatar
Denys
Rebonjour =E0 tous,

Voici un code qui m'a =E9t=E9 propos=E9 par l'un d'entre vous il=20
y a d=E9j=E0 quelques mois...

Sub Calcul()
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 =E0 merveille... Sauf que je dois continuer de=20
la ligne 154 =E0 la ligne 164. Comment faire pour ne pas =E0=20
avoir =E0 =E9crire un autre Sub ???

De plus, si en G131:G152 c'est la m=EAme formule sauf que le=20
mois est =3D2 dois-je aussi r=E9=E9crire la formule? Je dois=20
l'=E9crire pour tous les mois de l'ann=E9e....

Z'auriez une id=E9e?

Merci

Denys

2 réponses

Avatar
ChrisV
Bonjour Denys,

Pas testée...

Sub Calcul()
Application.ScreenUpdating = False
Application.Calculation = xlManual
[D131:D152, D154:D164] = "=SUMPRODUCT((MONTH(Annie!$A$8:$A$5000)=1)*
(Annie!$H$8:$H$5000=$A131))"
[G131:G152] = "=SUMPRODUCT((MONTH(Annie!$A$8:$A$5000)=2)*
(Annie!$H$8:$H$5000=$A131))"
Application.Calculation = xlAutomatic
[D131:D152, D154:D164, G131:G152] = [D131:D152, D154:D164, G131:G152].Value
End Sub


ChrisV


"Denys" a écrit dans le message de
news: c61a01c3edc4$16c862b0$
Rebonjour à tous,

Voici un code qui m'a été proposé par l'un d'entre vous il
y a déjà quelques mois...

Sub Calcul()
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 à merveille... Sauf que je dois continuer de
la ligne 154 à la ligne 164. Comment faire pour ne pas à
avoir à écrire un autre Sub ???

De plus, si en G131:G152 c'est la même formule sauf que le
mois est =2 dois-je aussi réécrire la formule? Je dois
l'écrire pour tous les mois de l'année....

Z'auriez une idée?

Merci

Denys
Avatar
Denys
Salut ChrisV,

Merci beaucoup pour ta réponse. Excel me donne des valeurs
0 dans presque toutes les cellules... Je vérifie tout cela
et te reviens demain...

Merci, tu me permets de sauver beaucoup de temps...

Bonne fin de soirée

Denys


-----Original Message-----
Bonjour Denys,

Pas testée...

Sub Calcul()
Application.ScreenUpdating = False
Application.Calculation = xlManual
[D131:D152, D154:D164] = "=SUMPRODUCT((MONTH(Annie!
$A$8:$A$5000)=1)*

(Annie!$H$8:$H$5000=$A131))"
[G131:G152] = "=SUMPRODUCT((MONTH(Annie!$A$8:$A$5000)=2)*
(Annie!$H$8:$H$5000=$A131))"
Application.Calculation = xlAutomatic
[D131:D152, D154:D164, G131:G152] = [D131:D152,
D154:D164, G131:G152].Value

End Sub


ChrisV


"Denys" a écrit
dans le message de

news: c61a01c3edc4$16c862b0$
Rebonjour à tous,

Voici un code qui m'a été proposé par l'un d'entre vous il
y a déjà quelques mois...

Sub Calcul()
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 à merveille... Sauf que je dois continuer de
la ligne 154 à la ligne 164. Comment faire pour ne pas à
avoir à écrire un autre Sub ???

De plus, si en G131:G152 c'est la même formule sauf que le
mois est =2 dois-je aussi réécrire la formule? Je dois
l'écrire pour tous les mois de l'année....

Z'auriez une idée?

Merci

Denys


.