Sommeprod avec filtre Excel

[Résolu/Fermé]
Signaler
Messages postés
55
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
18 février 2011
-
Messages postés
55
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
18 février 2011
-
Bonjour,

Je souhaite réaliser un comptage de données selon 2 contraintes de filtre:
- une période de temps qui varie (via userform cf. pièce jointe)
- un critère de sélection

Je n'arrive pas à réaliser une unique formule (avec un =Sommeprod) et je n'ai pas trouvé de problème identique sur d'autres post du forum.
J'ai créer un exemple représentatif de ce que je veux réaliser sur des données confidentiel (c'est pour le boulot).

Merci de traiter sur le fichier joint:
http://www.cijoint.fr/cjlink.php?file=cj201101/cijcZqV2JJ.xls

Merci pour votre aide à tous.


7 réponses

Messages postés
2967
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
884
Salut le fotum

Essaye en C5 à recopier vers la droite
=SOMMEPROD(($J$5:$J$19>=$B$1)*($J$5:$J$19<=$B$2)*(K5:K19="x"))

Mytå
Messages postés
55
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
18 février 2011
3
Merci Myta,

La formule que tu me donnes marche parfaitement pour la période de temps annuelle et Semestre 2 mais pas pour les Semestre 1.
Je retrouve les résultats de l'année (le critère *($J$5:$J$19<=$B$2)* n'est pas fonctionnel!!!

Saurais tu pourquoi?

Merci de ton aide
Messages postés
10503
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
23 octobre 2021
1 220
Bonjour,
Juste au passage :
.- Dans les cellules B1 et B2 utilisez le même format de date !
Le choix année donne les date 01.01.2010 au 31.12.2010 / correct
Le choix semestre 1 donne : 01.01.2010 au 30.06.2010 / correct
Le semestre 2 donne : 07.1.2010 au 31.12.2010 / la date 07.01.2010 devrait être 01.07.2010
Messages postés
26242
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
23 octobre 2021
6 090
Bonsoir
curieux, je viens de tester la formule et je trouve qu'elle fonctionne bien quelque soit les dates limites.
par exemple: en K de 1/1/2010 à30/6/2010 je trouve 2 en histoire, 0 en géo, 2 en français et 2 en math?

êtes vous sur d'être sur les bonnes dates en B1 et B2 (surtout les bonnes années)

le problème doit être au niveau du bouton car la formule marche si on entre 30/6 en manuel, mais ne marche plus si on utilise le bouton
crdlmnt
Messages postés
16527
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 octobre 2021
3 232
Bonjour,

La formule de Myta est bonne mais ta macro est fausse car les dates en B2 sont du texte (fais un essai avec esttexte(B2)

en fait une date en VBa est saisie entre # et écrite au format anglophone mm/dd/yyyy; la restitution sur la feuille sera sous la forme fr jj/mm/aaaa
B& est en nombre car dd/mm eet mm/dd sont compatible (jour <13)

If Statistiques.OptionButton2.Value = True Then
     Range("B1") = #1/1/2010#
    Range("B2") = #6/30/2010#
End If


remarque: je n'ai pas ton compris ton
Range("B1").End(xlUp).Offset(0, 0).Select

qui me semble inutile

Vloila, c'est très rare que Myta se trompe
Messages postés
2967
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
884
Re le forum

Mon format de date étant aaaa-mm-jj, les valeurs affichées pour les dates en B1 et B2
du 2010-07-01
au 31/12/2010

2010-07-01 (Format Date)
31/12/2010 (Format Texte)

Mytå
Messages postés
10503
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
23 octobre 2021
1 220
Bonjour gunbafo,
Note : c'est uniquement la date du début du deuxième trimestre qui est mal transmise par la procédure vous avez 07.01.2010 au lieu de 01.07.2010 (comme je l'ai déjà mentionné au poste 3).
Eh bien voila, dans votre procédure [Private Sub CommandButton1_Click()] vous utilisez cette notation est le problème sera réglé.

Statistiques sur l'année :
Range("B1") = CDate("1/1/2010")
Range("B2") = CDate("31/12/2010")

Statistiques sur le Semestre 1' :
Range("B1") = CDate("1/1/2010")
Range("B2") = CDate("30/6/2010")

Statistiques sur le Semestre 2' :
Range("B1") = CDate("1/7/2010")
Range("B2") = CDate("31/12/2010")

Salutations.
Le Pingou
Messages postés
55
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
18 février 2011
3
Oui Vaucluse je pense que le problème venait du bouton.

En fait j'ai contourné le problème en paramétrant que 3 dates: 01/01/2010 - 01/07/2010 - 01/01/2011 dans la macro du bouton.
de cette façon et en enlevant le = dans la formule Sommepro($J$5:$J$19>$B$1)* la formule marche bien.

Merci à vous