Somme.si avec un critère de date (mois/année) [Résolu/Fermé]

Signaler
Messages postés
18
Date d'inscription
vendredi 27 janvier 2017
Statut
Membre
Dernière intervention
16 mars 2018
-
Messages postés
18
Date d'inscription
vendredi 27 janvier 2017
Statut
Membre
Dernière intervention
16 mars 2018
-
Bonjour,

La feuille comprend divers champs monétaires et 1 champ de date format jj/mm/aa.
Comment puis-je faire pour que le "critère" de la fonction somme.si, soit une période de date mois et année, pour regrouper toutes les opérations faites dans cette période, par ex janvier2017, fevrier 2017,.... , janvier 2018, etc... ?

J'espère avoir été clair....

Merci d'avance pour votre aide

4 réponses

Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
Bonsoir
Fait en VBA ; Voyez si cela vous convient
https://www.cjoint.com/c/GBixvpdeYlA

Cordialement
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 68666 internautes nous ont dit merci ce mois-ci

Messages postés
18
Date d'inscription
vendredi 27 janvier 2017
Statut
Membre
Dernière intervention
16 mars 2018

merci... mais comment je fais pour visualiser votre fichier...

Désolé...
Messages postés
25144
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
23 juin 2020
5 317 >
Messages postés
18
Date d'inscription
vendredi 27 janvier 2017
Statut
Membre
Dernière intervention
16 mars 2018

Bonjour
pour accéder au fichier de julia namor, cliquez sur le lien.
Mais faire du VBA pour cette question est peut être un peu trop compliqué.
Avez vous testé la formule au message ci dessous
https://forums.commentcamarche.net/forum/affich-34347678-somme-si-avec-un-critere-de-date-mois-annee#2
crdlmnt
Messages postés
25144
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
23 juin 2020
5 317
Bonjour


=SOMMEPROD((ANNEE(Champ date)=2017)*(MOIS(champ date)=1)*(champ à sommer))

1 pour janvier, 2 pour février etc...

limitez les champs à la hauteur utile pour éviter de charger le fichier (ex A1:A1000, mais pas A:A)

ou à la place de 1 et 2017, les adresses de cellule qui contiennent les valeurs année / mois

ou si vous avez des dates limites en Z1 et Z2

=SOMMEPROD((Champ date>=Z1)*(Champ date<=Z2)*(champ à sommer))

ou encore dans ce cas avec Excel à partir de 2007

=SOMME.SI.ENS(champ à sommer;champ date;">="&Z1;champ date;"<="&Z2)


crdlmnt

La qualité de la réponse dépend surtout de la clarté de la question, merci!
Messages postés
18
Date d'inscription
vendredi 27 janvier 2017
Statut
Membre
Dernière intervention
16 mars 2018

Bonjour et merci....

La fonction SOMMEPROD ne fonctionne pas... Faut-il le signe" * " , ou séparer simplement par" ; "...

SOMME.SI.ENS ne fonctionne pas non plus: puis-je utiliser champ date "=" 2017 et champ date "=" 1 ?

merci d'avance
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
bonjour

Mon fichier revu et amélioré. Tous les tests fonctionnent de mon coté. A adapter

https://www.cjoint.com/c/GBkoUiJROpA

PS;Pour Vaucluse
Mais faire du VBA pour cette question est peut être un peu trop compliqué
Je m'améliore , je m'améliore.....

Cordialement
Messages postés
25144
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
23 juin 2020
5 317
Jacq

la fonction est écrite correctement, je confirme les * aux bons endroits
SOMME.SI.ENS aussi, mais à partir d'Excel 2007 seulement

si cela ne fonctionne pas, c'est peut être que vos dates ne sont pas en format date. Avez vous vérifié?
(passez les cellules en standard et vérifiez que'elles affichent bien un nombre à 5 chiffres)
Si problème, déposez un modèle sans données confidentielles ici et revenez coller ici le lien créé par le site

https://mon-partage.fr

.. ou alors précisez ce qui ne fonctionne pas, que renvoi Excel?

Julia Namor
Il n'y a rien à améliorer dans votre proposition, que je serais bien incapable de traiter de cette façon. Et donc en conséquence incapable aussi de formuler la moindre critique.

Je me suis mal exprimé, je voulais simplement dire que VBA n'était peut être pas la solution là où une simple formule standard peut répondre à la question, ce qui est plus à la portée de tout le monde d'une part et fonctionne en continu sans les boutons d'autre part.

Bien cordialement
La qualité de la réponse dépend surtout de la clarté de la question, merci!
Messages postés
18
Date d'inscription
vendredi 27 janvier 2017
Statut
Membre
Dernière intervention
16 mars 2018

Merci de votre aide.....

Le format date est OK et la formule renvoie 0... je ne trouve pas !!!

le lien pour le fichier
https://mon-partage.fr/f/JImNozQC/
Messages postés
25144
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
23 juin 2020
5 317
Votre formule n'est pas écrite correctement:, lmes parenrhèses sont mal calées
écrivez:
=SOMMEPROD((ANNEE(Journal!J3:J43)=2017)*(MOIS(Journal!J3:J43)=1))
attention aux parenthèses.
Cette formule une fois correcte, renvoi 2 (le nombre de date en janvier 2017)

pour pouvoir la tirer sur les 12 mois sans la modifier écrivez:

=SOMMEPROD((ANNEE(Journal!J3:J43)=2017)*(MOIS(Journal!J3:J43)=LIGNE(A1)))

LIOGNE(A1) vaut 1 dans la 1° cellule, devient ligne (A2) et vaut 2 dans la seconde etc....

Par ailleurs si vous voulez cumuler des montants il faut rajouter le champ à sommer dans la formule

Par exemple pour sommer les montants de la colonne D de journal en janvier 2017:

=SOMMEPROD((ANNEE(Journal!$J$3:$J$43)=2017)*(MOIS(Journal!$J$3:$J$43)=1)*(Journal!$D$3:$D$43))

attention aux $ aux bons endroits avant de tirer la formule

crdlmnt
Messages postés
18
Date d'inscription
vendredi 27 janvier 2017
Statut
Membre
Dernière intervention
16 mars 2018
>
Messages postés
25144
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
23 juin 2020

SUPER !!!!!

Merci beaucoup et bravo pour votre patience...