OVH Cloud OVH Cloud

SumProduct sans VBA

6 réponses
Avatar
Denys
Bonjour =E0 tous,

Je cherche =E0 appliquer une formule afin de connaitre le=20
nombre de jours dans un mois qu'un employ=E9 a entr=E9 ses=20
donn=E9es... Les dates sont inscrites en colonne A

Voici ou j'en suis:

sumproduct(($A$8:$A$50000<>"""")*
month($A$8:$A$50000)=3D1())))

Cela ne me donne pas le r=E9sultat souhait=E9, car si la=20
personne a entr=E9 des donn=E9es plusieurs fois dans une=20
journ=E9e, la date (disons le 14 janvier) y est inscrite=20
plusieurs fois. Comme r=E9sultat, cette formule ne compte=20
pas le 14 janvier une seule fois, mais autant de fois=20
qu'elle y est inscrite...

Sauriez-vous comment Excel puisse compter toutes le dates=20
de janvier apparaissant dans la colonne A, mais sans=20
r=E9p=E9tition....

Merci beaucoup pour votre aide...

Denys

6 réponses

Avatar
Philippe.R
Bonsoir Denys,
Ceci convient il ?

=SOMMEPRODUCT((A8:A50000<>"")*(MONTH(A8:A50000)=1))-SOMMEPRODUCT((A8:A50000<>"")*(A8:A50000©:A50001)*(
MONTH(A8:A50000)=1))

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Denys" a écrit dans le message de
news:004e01c491d5$8eb42a10$
Bonjour à tous,

Je cherche à appliquer une formule afin de connaitre le
nombre de jours dans un mois qu'un employé a entré ses
données... Les dates sont inscrites en colonne A

Voici ou j'en suis:

sumproduct(($A$8:$A$50000<>"""")*
month($A$8:$A$50000)=1())))

Cela ne me donne pas le résultat souhaité, car si la
personne a entré des données plusieurs fois dans une
journée, la date (disons le 14 janvier) y est inscrite
plusieurs fois. Comme résultat, cette formule ne compte
pas le 14 janvier une seule fois, mais autant de fois
qu'elle y est inscrite...

Sauriez-vous comment Excel puisse compter toutes le dates
de janvier apparaissant dans la colonne A, mais sans
répétition....

Merci beaucoup pour votre aide...

Denys
Avatar
Daniel.M
Salut Denys,

Tu aurais intérêt à te définir une plage dynamique (LesDates) au lieu de faire
des A8:A50000 qui font beaucoup trop de calcul pour rien.

La matricielle suivante:

=COUNT(1/FREQUENCY(IF((LesDates<>"")*(MONTH(LesDates)=1),
MATCH(LesDates,LesDates,0)+CELL("Row",LesDates)-1),ROW(LesDates)))

Salutations,

Daniel M.

"Denys" wrote in message
news:004e01c491d5$8eb42a10$
Bonjour à tous,

Je cherche à appliquer une formule afin de connaitre le
nombre de jours dans un mois qu'un employé a entré ses
données... Les dates sont inscrites en colonne A

Voici ou j'en suis:

sumproduct(($A$8:$A$50000<>"""")*
month($A$8:$A$50000)=1())))

Cela ne me donne pas le résultat souhaité, car si la
personne a entré des données plusieurs fois dans une
journée, la date (disons le 14 janvier) y est inscrite
plusieurs fois. Comme résultat, cette formule ne compte
pas le 14 janvier une seule fois, mais autant de fois
qu'elle y est inscrite...

Sauriez-vous comment Excel puisse compter toutes le dates
de janvier apparaissant dans la colonne A, mais sans
répétition....

Merci beaucoup pour votre aide...

Denys
Avatar
Denys
Bonjour Daniel,
Bonsoir Philippe,

Merci beaucoup à vous deux. Vous me sauvez beaucoup de
temps. Daniel, je retiens ta suggestion de la définition
de plage...

Bonne longue fin de semaine Daniel, et bonne fin de
semaine Philippe

Denys



-----Original Message-----
Bonjour à tous,

Je cherche à appliquer une formule afin de connaitre le
nombre de jours dans un mois qu'un employé a entré ses
données... Les dates sont inscrites en colonne A

Voici ou j'en suis:

sumproduct(($A$8:$A$50000<>"""")*
month($A$8:$A$50000)=1())))

Cela ne me donne pas le résultat souhaité, car si la
personne a entré des données plusieurs fois dans une
journée, la date (disons le 14 janvier) y est inscrite
plusieurs fois. Comme résultat, cette formule ne compte
pas le 14 janvier une seule fois, mais autant de fois
qu'elle y est inscrite...

Sauriez-vous comment Excel puisse compter toutes le dates
de janvier apparaissant dans la colonne A, mais sans
répétition....

Merci beaucoup pour votre aide...

Denys
.



Avatar
Philippe.R
C'était avec plaisir, Denys !
Et c'est avec sagesse que tu retiens la solution de Daniel, plus durable.
--
Amicales Salutations

"Denys" a écrit dans le message de
news:5a8e01c491e1$2bc90540$
Bonjour Daniel,
Bonsoir Philippe,

Merci beaucoup à vous deux. Vous me sauvez beaucoup de
temps. Daniel, je retiens ta suggestion de la définition
de plage...

Bonne longue fin de semaine Daniel, et bonne fin de
semaine Philippe

Denys



-----Original Message-----
Bonjour à tous,

Je cherche à appliquer une formule afin de connaitre le
nombre de jours dans un mois qu'un employé a entré ses
données... Les dates sont inscrites en colonne A

Voici ou j'en suis:

sumproduct(($A$8:$A$50000<>"""")*
month($A$8:$A$50000)=1())))

Cela ne me donne pas le résultat souhaité, car si la
personne a entré des données plusieurs fois dans une
journée, la date (disons le 14 janvier) y est inscrite
plusieurs fois. Comme résultat, cette formule ne compte
pas le 14 janvier une seule fois, mais autant de fois
qu'elle y est inscrite...

Sauriez-vous comment Excel puisse compter toutes le dates
de janvier apparaissant dans la colonne A, mais sans
répétition....

Merci beaucoup pour votre aide...

Denys
.



Avatar
Denys
Merci Philippe,

D'autant plus que je dois appliquer cette formule sur
plusieurs feuilles !!! C'est vrai que c'est long !!!

D'ailleurs, je crois que je vais tout faire ça en VBA,
sinon, je ne m'en sortirai pas !!!!

Salut

Denys


-----Original Message-----
C'était avec plaisir, Denys !
Et c'est avec sagesse que tu retiens la solution de
Daniel, plus durable.

--
Amicales Salutations

"Denys" a écrit
dans le message de

news:5a8e01c491e1$2bc90540$
Bonjour Daniel,
Bonsoir Philippe,

Merci beaucoup à vous deux. Vous me sauvez beaucoup de
temps. Daniel, je retiens ta suggestion de la définition
de plage...

Bonne longue fin de semaine Daniel, et bonne fin de
semaine Philippe

Denys



-----Original Message-----
Bonjour à tous,

Je cherche à appliquer une formule afin de connaitre le
nombre de jours dans un mois qu'un employé a entré ses
données... Les dates sont inscrites en colonne A

Voici ou j'en suis:

sumproduct(($A$8:$A$50000<>"""")*
month($A$8:$A$50000)=1())))

Cela ne me donne pas le résultat souhaité, car si la
personne a entré des données plusieurs fois dans une
journée, la date (disons le 14 janvier) y est inscrite
plusieurs fois. Comme résultat, cette formule ne compte
pas le 14 janvier une seule fois, mais autant de fois
qu'elle y est inscrite...

Sauriez-vous comment Excel puisse compter toutes le dates
de janvier apparaissant dans la colonne A, mais sans
répétition....

Merci beaucoup pour votre aide...

Denys
.




.




Avatar
Denys
Rebonjour Daniel,

Finalement, tu as parfaitement raison. Je vais utiliser le
VBA, c'est franchement moins long. D'ailleurs, la macro
que j'utilise, c'est toi qui me l'a fournie l'année
dernière. Je n'ai eu qu'à l'adapter à la présente
situation.

À bientôt

Denys




-----Original Message-----
Salut Denys,

Tu aurais intérêt à te définir une plage dynamique
(LesDates) au lieu de faire

des A8:A50000 qui font beaucoup trop de calcul pour rien.

La matricielle suivante:

=COUNT(1/FREQUENCY(IF((LesDates<>"")*(MONTH(LesDates)=1),
MATCH(LesDates,LesDates,0)+CELL("Row",LesDates)-1),ROW
(LesDates)))


Salutations,

Daniel M.

"Denys" wrote in
message

news:004e01c491d5$8eb42a10$
Bonjour à tous,

Je cherche à appliquer une formule afin de connaitre le
nombre de jours dans un mois qu'un employé a entré ses
données... Les dates sont inscrites en colonne A

Voici ou j'en suis:

sumproduct(($A$8:$A$50000<>"""")*
month($A$8:$A$50000)=1())))

Cela ne me donne pas le résultat souhaité, car si la
personne a entré des données plusieurs fois dans une
journée, la date (disons le 14 janvier) y est inscrite
plusieurs fois. Comme résultat, cette formule ne compte
pas le 14 janvier une seule fois, mais autant de fois
qu'elle y est inscrite...

Sauriez-vous comment Excel puisse compter toutes le dates
de janvier apparaissant dans la colonne A, mais sans
répétition....

Merci beaucoup pour votre aide...

Denys


.