Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

libellule85

XLDnaute Accro
Bonsoir le forum,


J'ai un petit problème pour calculer le nombre de lundi etc dans une colonne !


Si je laisse toutes les dates inférieures à 1900 la formule suivante =SOMMEPROD(N((JOURSEM(C2:C73)=3)*1)) ne fonctionne pas et me retourne l'erreur #Valeur!


Comment puis-je faire pour laisser mes dates inférieures à 1900 dans ma colonne et que le calcul se fasse sur les autres dates ?


Quelqu'un aurait-il une idée ?


D'avance merci pour votre aide.
 

Pièces jointes

  • Calcul jour libellule85.xlsm
    8.9 KB · Affichages: 44

david84

XLDnaute Barbatruc
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Bonsoir,
formule matricielle à valider par Ctrl, Maj et entrée :
Code:
=SOMME(SI(ESTNUM(C2:C73);N(JOURSEM(C2:C73)=3)))
Dans Excel les dates inférieures à 1900 ne sont pas considérées comme des dates mais comme du texte.
A+
 

R@chid

XLDnaute Barbatruc
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Bonsoir @ tous,
Salut david84, salut Victor21 :)
une autre matricielle :
Code:
=SOMME(SIERREUR(N(JOURSEM(C2:C73)=3);))
@ valider par Ctrl+Shift+Enter

@ + +
 

ROGER2327

XLDnaute Barbatruc
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Bonjour à tous.


Pas si simple, cette affaire là...​


Bonne journée.


ℝOGER2327
#8063


Mardi 17 Haha 143 (Saint Homais d’Aquin, prudhomme - fête Suprême Quarte)
30 Vendémiaire An CCXXIV, 0,8512h - tonneau
2015-W43-4T02:02:34Z
 

Pièces jointes

  • Calcul jour libellule85-2.xlsm
    20.5 KB · Affichages: 43

david84

XLDnaute Barbatruc
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Bonjour,
personnellement j'avais compris que les dates inférieures à 1900 ne devaient pas être prises en compte dans le calcul, ce qui est bien plus facile à faire que l'inverse !
Merci Roger pour ce fichier (je regarde cela de plus près) !
A+
 

Victor21

XLDnaute Barbatruc
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Bonjour à tous.

Je m'aperçois que le fichier que je vous ai transmis ne tient pas compte du concile de Trente (passage du jeudi 4/10/1582 au vendredi 15/10/1582) dont l'application a fait disparaître une dizaine de jours (majoritairement en décembre 1582 pour la France)
 

david84

XLDnaute Barbatruc
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Roger,

suite à une première étude rapide de votre proposition (à tester en feuille 1 et à tirer vers la droite):
Code:
=SOMME(--(JOURSEM(SI(ESTTEXTE($C$2:$C$73);--(GAUCHE($C$2:$C$73;NBCAR($C$2:$C$73)-4)&400+DROITE($C$2:$C$73;4));$C$2:$C$73+($C$2:$C$73<60));2)=COLONNE(A:A)))
ne suffit-il pas ?
Cela donne les mêmes résultats que la formule placée en E2 (mais j'ai dû louper quelque chose).

Une question concernant
Code:
=SI(ESTTEXTE(C7);--(GAUCHE(C7;NBCAR(C7)-4)&400+DROITE(C7;4));C7+(C7<60))-2
Pourquoi le -2 ?

A+
 

R@chid

XLDnaute Barbatruc
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Bonjour @ tous,
Bonjour,
personnellement j'avais compris que les dates inférieures à 1900 ne devaient pas être prises en compte dans le calcul, ce qui est bien plus facile à faire que l'inverse !
Merci Roger pour ce fichier (je regarde cela de plus près) !
A+

T'as bien répondu cher David
Comment puis-je faire pour laisser mes dates inférieures à 1900 dans ma colonne et que le calcul se fasse sur les autres dates ?


@ + +
 

libellule85

XLDnaute Accro
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Re bonjour tt le monde,

Dans ma demande j'avais exclu les dates antérieures à 1900 mais si on peux les inclure dans la recherche du nombre de lundi etc... cela serait super !
 

Victor21

XLDnaute Barbatruc
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Re,

La date de mise en oeuvre du calendrier grégorien étant différente selon les pays, les régions et même les localités, il est difficile de déterminer le jour de la semaine avant 1582.
Car si on a "perdu" des jours à des dates variées, les jours de la semaine, eux se suivent sans interruption...

* Quelques dates d'application :
Estonie : Le lendemain du 1/2/1918 est le 15/2/1918
Italie : le lendemain du 4/10/1582 est le 15/10/1582
France : le lendemain du 9/12/1582 est le 20/12/1582
mais en Lorraine, le lendemain du 16/2/1760 est le 28/2/1760
et à Strasbourg, le lendemain du 5/2/1682 est le 16/2/1682
 

Modeste geedee

XLDnaute Barbatruc
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Bonsour® libellule
Car si on a "perdu" des jours à des dates variées, les jours de la semaine, eux se suivent sans interruption...
transformer toutes les dates en date julienne,
https://fr.wikipedia.org/wiki/Calendrier_grégorien
voir notament :
Algorithme de conversion d'une date du calendrier grégorien en date en jours juliens

un division par 7 donnera le nombre de semaines sur tout intervalle multiple de 7,
au décalage prés de aujourd'hui()/lundi
le nombre de lundi est alors égal au nombre de semaine

:rolleyes:
 

ROGER2327

XLDnaute Barbatruc
Re : Calcul du nombre de lundi etc... dans colonne avec années sup et inf. à 1900

Re..., bonjour à tous.


Roger,

suite à une première étude rapide de votre proposition (à tester en feuille 1 et à tirer vers la droite):
Code:
=SOMME(--(JOURSEM(SI(ESTTEXTE($C$2:$C$73);--(GAUCHE($C$2:$C$73;NBCAR($C$2:$C$73)-4)&400+DROITE($C$2:$C$73;4));$C$2:$C$73+($C$2:$C$73<60));2)=COLONNE(A:A)))
ne suffit-il pas ?
(...)
Ça m'a l'air d'être convenable.

On peut simplifier encore en supprimant quelques "--" devenus superflus.
Par contre, je garderais le ($C$2:$C$73<>"") pour le cas où des cellules resteraient vides dans $C$2:$C$73. (Dans votre proposition, les cellules vides sont comptées comme des dimanches.)

Finalement :​
Code:
=SOMME(($C$2:$C$73<>"")*(JOURSEM(SI(ESTTEXTE($C$2:$C$73);GAUCHE($C$2:$C$73;NBCAR($C$2:$C$73)-4)&400+DROITE($C$2:$C$73;4);$C$2:$C$73+($C$2:$C$73<60));2)=COLONNE(A:A)))



(...)
Une question concernant
Code:
=SI(ESTTEXTE(C7);--(GAUCHE(C7;NBCAR(C7)-4)&400+DROITE(C7;4));C7+(C7<60))-2
Pourquoi le -2 ?
(...)
Je répugne à utiliser la fonction daubée JOURSEM :=JOURSEM("10/1/1900") renvoie 3 alors que =JOURSEM("21/10/1900") renvoie 4 ; gênant, vu que ces deux dates sont des mercredis.
Je préfère un calcul raisonné, pas plus encombrant dans une formule.​
Code:
=MOD(C5+(60-C5>0)-2;7)+1
et​
Code:
=JOURSEM(C5+(60-C5>0);2)
font le même boulot.​
Code:
=JOURSEM(C5;2)
qui devrait le faire aussi, ne le fait que... ...capricieusement.


Ainsi, on peut écrire :​
Code:
=SOMME(($C$2:$C$73<>"")*(MOD(SI(ESTTEXTE($C$2:$C$73);GAUCHE($C$2:$C$73;NBCAR($C$2:$C$73)-4)&400+DROITE($C$2:$C$73;4);$C$2:$C$73+($C$2:$C$73<60))-2;7)+1=COLONNE(A:A)))


À propos des messages suivants sur les types de calendriers, je précise que mes propositions ne concernent que le calendrier grégorien. J'aurais certainement dû le dire.


Bonne journée.


ℝOGER2327
#8064


Mercredi 18 Haha 143 (Nativité de Sa Magnificence le Baron Mollet (*Saint Pipe) - fête Suprême Quarte)
1[SUP]er[/SUP] Brumaire An CCXXIV, 4,3868h - pomme
2015-W43-5T10:31:42Z
 

Discussions similaires

Statistiques des forums

Discussions
312 370
Messages
2 087 691
Membres
103 641
dernier inscrit
anouarkecita2