Rechercher le nombre de fois qu'une date est présent dans un autre classeur

simraill

XLDnaute Occasionnel
Bonjour à tous,
nouvelle journée, nouveau projet, nouveau problème.

Donc en fait mon premier classeur doit référencer le nombre de document à faire pour un mois donné, combien on été fait à temps et combien sont en retard.
Mon deuxième classeur contient la base de données des documents avec la date où il faut qu'ils soient finis, si ils ont été rendu à temps et si ils sont en retard. Le tout remonte sur plusieurs années (plus de 8000 ligne)

Et donc je pensais compter le nombre de fois que la date du mois données à été trouvé, mais je n'y arrive pas. Surement à cause du format de la date, je n'y ai jamais rien compris :mad: !!

Je ne sais pas si c'est possible de tout faire par formule excel, ou si il faut passer par vba.

En attendant de vous lire sur ce problème épineux, je vous remerci d'essayer de m'aider ^^!
 

Pièces jointes

  • Book1.xls
    209.5 KB · Affichages: 42
  • Book2.xls
    32 KB · Affichages: 38
  • Book1.xls
    209.5 KB · Affichages: 38
  • Book2.xls
    32 KB · Affichages: 44
  • Book1.xls
    209.5 KB · Affichages: 59
  • Book2.xls
    32 KB · Affichages: 38

simraill

XLDnaute Occasionnel
Re : Rechercher le nombre de fois qu'une date est présent dans un autre classeur

Bon j'avance un peu,

J'arrive a compter le nombre combien de documents sont à rendre pour un mois donné grâce a ce code

Code:
=SUMPRODUCT((YEAR('C:\Documents and Settings\railles\Desktop\[Book2.xls]Sheet1'!B3:B50)=2010)*(MONTH('C:\Documents and Settings\railles\Desktop\[Book2.xls]Sheet1'!B3:B50) = 12))

Mais le problème c'est quand il y a des cellules vide ou contenant autre chose qu'une date (du texte).
Cela me fais planter la formule et j'ai le droit à un #VALUE!
 

Jocelyn

XLDnaute Barbatruc
Re : Rechercher le nombre de fois qu'une date est présent dans un autre classeur

re,

hum hum désolé je fait n'importe quoi je supprime ce que j'ai mis et je change la formule en voila une que j'ai testée dans tous les sens et qui elle est bonne attention elle est matricielle a valider par les touche CTRL, Maj (au dessus de CTRL) et entrée simultanément, si tu as bien valider la formule excel va mettre de lui même le signe { devant le égal et } en fin de formule ses signes ne doivent pas être tapés

Code:
=SUMPRODUCT((SI(ESTERREUR(YEAR('C:\Documents and Settings\railles\Desktop\[Book2.xls]Sheet1'!B3:B50));0;YEAR('C:\Documents and Settings\railles\Desktop\[Book2.xls]Sheet1'!B3:B50))=2010)*(SI(ESTERREUR(MONTH('C:\Documents and Settings\railles\Desktop\[Book2.xls]Sheet1'!B3:B50));0;MONTH('C:\Documents and Settings\railles\Desktop\[Book2.xls]Sheet1'!B3:B50))= 12)*1)
 

simraill

XLDnaute Occasionnel
Re : Rechercher le nombre de fois qu'une date est présent dans un autre classeur

Bon après avoir passé 20min a tourné la formule dans tous les sens sans qu'elle marche, je reviens sur le poste et me rends compte que j'ai lu ton poste en diagonale : je faisait pas ctrl+MAJ pour valider ma formule :mad:!!

Sinon c'est parfait elle marche, merci beaucoup. Par contre je ne comprends pas comment elle peux marcher chez toi tel qu'elle car tu mélange les fonctions en anglais et en français (YEAR,MONTH,SUMPRODUCT sont des fonctions en anglais et SI,EST ERREUR sont français).

Et je me demandé aussi s'il n'était pas possible de remplacer (SI(ESTERREUR) directement par SIERREUR, ou IFERROR pour mon cas.
 

simraill

XLDnaute Occasionnel
Re : Rechercher le nombre de fois qu'une date est présent dans un autre classeur

Bon je me réponds à moi même, le SIERREUR ne marche pas.
Donc je reste sur la formule original de Jocelyn (en modifiant les noms de fonctions français en anglais).

Merci à tio encore Jocelyn pour ton aide ^^!
 

Jocelyn

XLDnaute Barbatruc
Re : Rechercher le nombre de fois qu'une date est présent dans un autre classeur

re,

Chez moi j'avais tout transformé en français pour faire la formule en direct sur un fichier, puis j'ai copier ta formule et inclu le si(esterreur()) dedans sans songer a le mettre en anglais

autrement comme je n'ai ici que excel 2000 je n'ai pas put tester le sierreur il n'existe pas avant les version 2007 ou 2010, mais rien ne t'empeche de le tester si tu a la bonne version d'excel dans le style iferror(year(xxxxx);0).

si tu fais le test reviens donner le résultat il pourra peut être servir a quelqu'un d'autre.
 

Discussions similaires

Réponses
4
Affichages
532

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87