Automatiser calculs avec des dates

Messages postés
46
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 juillet 2019
- - Dernière réponse : Frenchie83
Messages postés
2000
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
12 octobre 2019
- 10 juin 2019 à 11:37
Bonjour,

Dans l’exemple ci-dessous :

Janvier : =SOMMEPROD(($AA$1:$AA$25002>="01/01/2019"*1)*($AA$1:$AA$25002<"01/02/2019"*1))

Février :
=SOMMEPROD(($AA$1:$AA$25002>="01/02/2019"*1)*($AA$1:$AA$25002<"01/03/2019"*1))

Mars :
=SOMMEPROD(($AA$1:$AA$25002>="01/03/2019"*1)*($AA$1:$AA$25002<"01/04/2019"*1))

Avril :
=SOMMEPROD(($AA$1:$AA$25002>="01/04/2019"*1)*($AA$1:$AA$25002<"01/05/2019"*1))

Etc…

Existe-t-il une formule, ou une autre solution pour éviter d’écrire à chaque fois « >dd/mm/aa » et « <dd/mm/aa » ?

En effet, ce tableau ne fonctionnerait que pour 2019. En 2020, il faudrait que je vienne changer manuellement chaque année de chaque formule…

Remarques : les données « dates » du tableau à partir duquel la formule s’applique sont exprimées de la manière suivante « 01/01/2019 ».

Par avance merci,

Cordialement,
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
24581
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
4826
1
Merci
Bonjour
pour calculer par mois avec SOMMEPROD et remplacer vos dates:
Janvier :
=SOMMEPROD((MOIS($AA$1:$AA$25002)=1)*1)
avec 1,ou 2 ou selon le mois
ou alors si vous avez un tableau à tirer:
=SOMMEPROD((MOIS($AA$1:$AA$25002)=LIGNE($A1))*1)
qui va s'ajuster sur les 12 lignes en tirant vers le bas
crdlmnt

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 63058 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Vaucluse
Messages postés
5342
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
11 octobre 2019
337
1
Merci
Bonjour Badarledur, Bonjour Vaucluse

Une idée, je ne sais pas si j'ai bien compris votre problème ?

Ma solution

=SOMMEPROD((MOIS($A$1:$A$25)=$E$1)*(ANNEE($A$1:$A$25)=$F$1)*($B$1:$B$25))

E1 = 1 le mois
F1 = 2019 l'année

Dans votre formule vous faites la somme de quoi?
Dans mon exemple la somme de la colonne B

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 63058 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PHILOU10120
Messages postés
46
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 juillet 2019
0
Merci
Bonjour,

merci pour ces solutions:

- la première : erreur de valeur

- la deuxième : "nous avons rencontré une erreur dans cette formule. Etes vous en train de taper une formule? Lorsque le premier caractère est un signe (=) ou ..........

Une idée du pourquoi du comment?
Vaucluse
Messages postés
24581
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
4826 -
attention si vous avez copié/collé depuis le message, il doit y avoir un blanc parasite en fin de formule. Voyez ici
https://mon-partage.fr/f/hSoCntxs/
par ailleurs si la formule renvoie #VALEUR c'est que vous avez des cellules
textes dans le champ
ça expliquerait le besoin de *1 dans vis premières formules. Dans ce cas essayez
soit de copier une cellule vide, de sélectionner le champ et collage spécial "ajouter"
ou entrez 1 dans une cellule copier / collage spécial "multiplication"
bien entendu cette formule ne fait que compter le nombre de cellules avec la date dans le mois choisi
crdlmnt
Commenter la réponse de badarledur
Messages postés
46
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 juillet 2019
0
Merci
Merci pour vos retours. Je ne parviens pas à adapter vos solutions à mon problème.

Je n'ai pas été assez précis sur ma requête.

Avec ce fichier, je pourrais être plus clair
https://www.cjoint.com/c/IFjofcy62x2

Comment puis-je intégrer M11, de la même manière que M7 dans mes formules situées en T8, T9,T10,T11?
Commenter la réponse de badarledur
Messages postés
24581
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
4826
0
Merci
Votre fichier en retour , en supposant que l'astérisque dans la validation "période" doive englober tous les mois de la liste
https://mon-partage.fr/f/wCtrLIfH/
pour adapter, ajuster bien les champs au nombre de lignes utiles , sinon la formule risque d'être assez lourde
crdlmnt

Commenter la réponse de Vaucluse
Messages postés
46
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 juillet 2019
0
Merci
Là, c'es trop technique pour moi ^^

Je ne comprends pas ta formule.

Mais en tout cas, elle fonctionne. Presque...

Quand les deux critères sont sur "*", effectivement pour "tout", le calcul ne se fait pas.

Merci !
badarledur
Messages postés
46
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 juillet 2019
-
ou même juste quand "sexe" est sur tout
Vaucluse
Messages postés
24581
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
4826 -
alors mieux vaut pour traiter la combinaison des "tout" utiliser un tableau croisé dynamique avec ses filtres en rajoutant pour la simplicité des sélections une colonne qui donne le mois selon la date (en E dans le modèle joint)

sinon les formules vont être à s'arracher les cheveux, sauf si besoin, à rajouter une colonne qui code le choix Mais le TCD est sans doute une bonne option
revenez si besoin
https://mon-partage.fr/f/Vw6o9w4d/
crdlmnt
badarledur
Messages postés
46
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 juillet 2019
-
OK...Dommage. Je pensais qu'il existerait une solution type :/

Je n'aime pas trop les tcd. Ils ne s'actualisent pas tout seuls.

Il faut à chaque fois, venir activer manuellement, des "nouveaux filtres"...

En tout cas, merci à tous pour votre aide!
Vaucluse
Messages postés
24581
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
4826 -
Il y a toujours une solution par formule, mais la complexité des combinaisons d'options TOUS en variante avec les autres sélections entraîne des complications trop lourdes pour un bon fonctionnement.
Alors du VBA peut être, mais ça n'est pas dans mon domaine
Quant au TCD vous pouvez avec l'onglet "OUTIL DE TCD" qui s'affiche quand vous le sélectionnez, et via la petite flèche en dessous de l'icone "Actualiser" aller dans "propriétés de connexions" et programmer une actualisation automatique à l'ouverture du fichier, et aussi à une cadence pouvant descendre à la minute
crdlmnt
badarledur
Messages postés
46
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 juillet 2019
-
Je vais regarder ce que vous me proposez pour le tcd.

Merci
Commenter la réponse de badarledur
Messages postés
2000
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
12 octobre 2019
227
0
Merci
Bonjour,

Par formule (pas trop longue) en T8 et à tirer vers le bas
=SI($M$11="*";NB.SI.ENS($G$7:$G45;$M$7;$I$7:$I45;$S8);SI($M$7="*";SOMMEPROD((TEXTE($F$7:$F45;"mmmm")=$M$11)*($I$7:$I45=$S8));SOMMEPROD((TEXTE($F$7:$F45;"mmmm")=$M$11)*($G$7:$G45=$M$7)*($I$7:$I45=$S8))))

A tester

Cdlt
Commenter la réponse de Frenchie83