calculer nombre de semaines et jours entre deux dates.

  • Initiateur de la discussion Initiateur de la discussion libellule85
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

libellule85

XLDnaute Accro
Bonjour le forum,

Je recherche comment calculer par formule le nombre de semaines (entières) et jours entre deux dates. Par exemple entre le 30 Mai et le 16 Juin, résultat : 2 semaines et 4 jours.

D'avance merci pour votre aide.
 
Re : calculer nombre de semaines et jours entre deux dates.

Bonjour les amis,

libellule85 veut le nombre de semaines entières, commençant le lundi.

A priori il faut donc compter le nombre de lundis et aussi de dimanches entre les 2 dates.

C'est compliqué et je n'ai pas le temps de m'en occuper ce soir.

A+
 
Re : calculer nombre de semaines et jours entre deux dates.

Bonsour®
Je recherche comment calculer par formule le nombre de semaines (entières) et jours entre deux dates.
selon que l'on considère la date de fin comprise ou non dans dans l'intervalle (i-e datefin à 00:00 ou datefin à 23:59)

- dans l'intervalle :
=ENT((Datefin+1-Datedeb-JOURSEM(Datedeb;3))/7)&" sem "&MOD(Datefin+1-Datedeb;7)&" jr"
- hors intervalle :
=ENT((Datefin-Datedeb-JOURSEM(Datedeb;3))/7)&" sem "&MOD(Datefin-Datedeb;7)&" jr"
 
Re : calculer nombre de semaines et jours entre deux dates.

Bonsoir

Et une de plus 🙂


ENT((DteFin+1-DteDeb-(SOMME(ENT((DteFin+1-JOURSEM(DteFin+1-{0;6})-DteDeb+8)/7))))/5)&" semaine(s) "&MOD(DteFin+1-DteDeb;7)&" jour(s)"


Bonne soirée
 
Re : calculer nombre de semaines et jours entre deux dates.

Bonjour le forum,

Entre le lundi 30 mai et le dimanche 12 juin on doit trouver 2 semaine(s) et 0 jour(s).

La formule de Chris24 donne 1 semaine(s) et 7 jour(s), encore un petit effort.

Bonne journée.
 
Re : calculer nombre de semaines et jours entre deux dates.

Re,

Avec du VBA c'est clair et on ne se prend pas la tête :

Code:
Function NSem(t1&, t2&)
Dim i&, Ndim&
For i = t1 To t2
If Weekday(i) = 2 Then NSem = NSem + 1
If NSem And Weekday(i) = 1 Then Ndim = Ndim + 1
Next
If Ndim < NSem Then NSem = NSem - 1
End Function
Fichier de Chris401 complété.

Edit 1 : bah il y a plus simple :

Code:
Function NSem(t1&, t2&)
Dim i&
For i = t1 To t2
If Weekday(i) = 2 And i + 6 <= t2 Then NSem = NSem + 1
Next
End Function
Fichier (2).

Edit 2 : évidemment ça peut prendre un peu de temps.

J'ai testé du 01/01/1900 au 31/12/9999, la fonction se calcule en 2,6 secondes chez moi.

A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
172
Retour