Menu

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

Jacq66 18 Messages postés vendredi 27 janvier 2017Date d'inscription 16 mars 2018 Dernière intervention - 8 févr. 2017 à 21:56 - Dernière réponse : Jacq66 18 Messages postés vendredi 27 janvier 2017Date d'inscription 16 mars 2018 Dernière intervention
- 10 févr. 2017 à 21:27
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
Afficher la suite 

10 réponses

julia Namor 385 Messages postés jeudi 27 mars 2014Date d'inscription 28 mars 2018 Dernière intervention - 9 févr. 2017 à 00:23
0
Utile
2
Bonsoir
Fait en VBA ; Voyez si cela vous convient
http://www.cjoint.com/c/GBixvpdeYlA

Cordialement
Jacq66 18 Messages postés vendredi 27 janvier 2017Date d'inscription 16 mars 2018 Dernière intervention - 10 févr. 2017 à 10:15
merci... mais comment je fais pour visualiser votre fichier...

Désolé...
Vaucluse 21886 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 25 avril 2018 Dernière intervention > Jacq66 18 Messages postés vendredi 27 janvier 2017Date d'inscription 16 mars 2018 Dernière intervention - 10 févr. 2017 à 11:28
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
http://www.commentcamarche.net/forum/affich-34347678-somme-si-avec-un-critere-de-date-mois-annee#2
crdlmnt
Vaucluse 21886 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 25 avril 2018 Dernière intervention - Modifié par Vaucluse le 9/02/2017 à 12:54
0
Utile
1
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!
Jacq66 18 Messages postés vendredi 27 janvier 2017Date d'inscription 16 mars 2018 Dernière intervention - 10 févr. 2017 à 15:21
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
julia Namor 385 Messages postés jeudi 27 mars 2014Date d'inscription 28 mars 2018 Dernière intervention - 10 févr. 2017 à 15:50
0
Utile
bonjour

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

http://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
Vaucluse 21886 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 25 avril 2018 Dernière intervention - Modifié par Vaucluse le 10/02/2017 à 16:57
0
Utile
3
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!
Jacq66 18 Messages postés vendredi 27 janvier 2017Date d'inscription 16 mars 2018 Dernière intervention - 10 févr. 2017 à 17:50
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/
Vaucluse 21886 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 25 avril 2018 Dernière intervention - 10 févr. 2017 à 18:17
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
Jacq66 18 Messages postés vendredi 27 janvier 2017Date d'inscription 16 mars 2018 Dernière intervention > Vaucluse 21886 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 25 avril 2018 Dernière intervention - 10 févr. 2017 à 21:27
SUPER !!!!!

Merci beaucoup et bravo pour votre patience...