calcul d'un week end complet

  • Initiateur de la discussion Initiateur de la discussion rym
  • 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 !

R

rym

Guest
Bonjour,

Je souhaiterai calculer entre deux dates le nombre de week end complet:

Exemple: du 18/11/2009 au 28/11/2009 je souhaite qu'il m'indique 1 week end complet.

J'essai déséspérement depuis deux jours et je n'y arrive pas.
Merci d'avance pour votre aide.
Cordialement
 
Re : calcul d'un week end complet

Bonjour

excusez moi, mais je ne comprends pas votre formule.
Pouvez vous me l'expliquer

Algorithme succint

Pour toute les dates comprises entre la date de début et la date de fin.
Si la date est un dimanche alors on ajoute 1 dans un compteur.

Si j'ai bien compris il faudrait tenir compte des samedis et des dimanches.
Dans l'exemple donné seul le deuxième week end est à prendre en compte.


JP
 
Dernière édition:
Re : calcul d'un week end complet

re,

Ok en gros il ne faut pas compter le jour de retour, alors testes la formule comme ca :

Code:
=SOMMEPROD((JOURSEM(LIGNE(INDIRECT(A1&":"&B1-1));2)=6)*(JOURSEM(LIGNE(INDIRECT(A1+1&":"&B1));2)=7)*1)-SI(JOURSEM(B1;2)=7;1;0)

Concernant la solution de JP14 il faut mettre le code dans le VBA, mais la je vais le laisser t'expliquer

Jocelyn
 
Re : calcul d'un week end complet

bonjour a tous
A tester
une fonction personnalisée qui exclut les jour de depart et jour de rentrée

Code:
Function nb_WE(debut As Date, fin As Date)
For n = debut + 2 To fin - 1
 If Weekday(n - 1) = 7 And Weekday(n) = 1 Then
   nb = nb + 1
 End If
Next n
nb_WE = nb
End Function
 

Pièces jointes

Re : calcul d'un week end complet

Bonjour
Salut Pierrejean
Salut Jocelyn

Code à tester
Code:
Function nombre_de_week_end(date_debut As Range, date_fin As Range)
Dim date1 As Date, date2 As Date
Dim samedi As Boolean
Dim i As Integer

Application.Volatile
date1 = Format(date_debut, "dd/mm/yyyy")
date2 = Format(date_fin, "dd/mm/yyyy")
Do
    If Weekday(date1) = 7 Then samedi = True
    
    If Weekday(date1) = 2 And samedi = True Then
        i = i + 1
        samedi = False
    End If
    date1 = DateAdd("d", 1, date1)
    If date1 > date2 Then Exit Do
Loop
nombre_de_week_end = i
End Function

Je compte si la personne est en déplacement du samedi au lundi.

alt f11 pour passer dans l'éditeur VBA
menu "insertion" option "module"
Colle le code.
Dans la feuille "fonction" "fonctions personnalisées"
Sélectionner la cellule avec la date départ dito pour la cellule avec la date d'arrivée.


JP
 
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour