trouver les dates des week ends et jours fériés

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

melba

XLDnaute Occasionnel
Bonjour à tous,
Pourriez vous me dire s'il est possible de trouver les dates des samedis, dimanches et jours féries entre 2 dates?
Par exemple je cherche les dates de tous les week ends et jours fériés en 2008.
Merci par avance de votre collaboration
 
Re : trouver les dates des week ends et jours fériés

Bonjour Melba,

J'avais déjà vu ce type de question et je viens de retrouver ce qui devrait t'aider.

Il me semble que c'est une solution qui avait été proposé par Laurent Longre.

En espérant que cela répond à ta question 😉

Public Function NbOuvrés&(D1, D2)

Dim Prem As Date, Der As Date, i As Date

If D1 = D2 Then Prem = D1

If TYPEJOUR(Prem) = 0 Then

NbOuvrés = 1
Exit Function

End If

Prem = D1
Der = D2

For i = Prem To Der

NbOuvrés = NbOuvrés + (TYPEJOUR(i) = 0) * -1

Next i

End Function


'Cette fonction renvoie 0 si le jour passé en paramètre est un jour de semaine,
'1 s'il s'agit d'un samedi ou d'un dimanche et 2 s'il s'agit d'un jour férié.
'Valide jusqu'en 2099 et pour les jours fériés français


Public Function TYPEJOUR(D As Date)


Dim A As Integer, t As Integer
Dim LP As Date, LD As Long
Dim Toto As Long

A = Year(D)

If A > 2099 Then

TYPEJOUR = 0
Exit Function

End If

LD = Int(D)

If LD <= 2 Then

If LD = 1 Then

TYPEJOUR = 2
Exit Function

End If

End If

t = (((255 - 11 * (A Mod 19)) - 21) Mod 30) + 21
LP = DateSerial(A, 3, 2) + t + (t > 48) _
+ 6 - ((A + A \ 4 + t + (t > 48) + 1) Mod 7)

Select Case D

' Jours fériés mobiles
Case Is = LP, Is = LP + 38, Is = LP + 49

TYPEJOUR = 2

' Jours fériés fixes

Case Is = DateSerial(A, 1, 1), Is = DateSerial(A, 5, 1), _
Is = DateSerial(A, 5, 8), Is = DateSerial(A, 7, 14), _
Is = DateSerial(A, 8, 15), Is = DateSerial(A, 11, 1), _
Is = DateSerial(A, 11, 11), Is = DateSerial(A, 12, 25)

TYPEJOUR = 2

Case Else

' Samedi ou dimanche
If Weekday(D, vbMonday) >= 6 Then

TYPEJOUR = 1

End If

End Select

End Function




' utilistation de la fonction

NbOuvrés& (date_début, date_fin)

Bonne chance.
 
Re : trouver les dates des week ends et jours fériés

bonjour Samimi, melba

Interesse par la question de melba et par ta reponse je l'ai testee sans succes
j'ai :
recopie ton code dans l'editeur VBA de la feuille1
saisi 01/01/2008 en D1, 31/12/2008 en D2
saisi =NbOuvrés& (D1; D2 ) excel refuse la virgule

et j'obtiens #NOM?

que manque t-il?

merci
 
Re : trouver les dates des week ends et jours fériés

Bonjour à tous,

Un essai avec :

Code:
=SI(C3="";"";SI(MOIS(C3+1)>MOIS(C$2);"";C3+1))
permet une recopie vers le bas et la droite
et une MeFC
Code:
=OU(JOURSEM(C3;2)>5;NB.SI(Fer;C3)=1)
L'année est l'année du jour donc calendrier perpétuel.
 
Dernière édition:
Re : trouver les dates des week ends et jours fériés

Bonjour à vous,

Finalement les réponses de JCGL et Gilbert_RGI sont beaucoup moins complexes et bien plus rapides à appliquer.
Comme quoi il ne faut pas abuser du VBA 😉

Merci à vous.

Bonne soirée.
 
Re : trouver les dates des week ends et jours fériés

Bonjour à tous,

Fériés à partir d'une année.

J'utilise cette feuille pour faire un tableau de planning voir
HTML:
http://www.excel-downloads.com/forum/92941-pb-avec-private-sub.html

Zeb
 

Pièces jointes

Re : trouver les dates des week ends et jours fériés

Bonjour,

2 onglets :
soit tous les samedis, dimanches, fériés,
soit tous les jours ouvrés

Formule matricielle, à valider par ctrl, maj et entrée
Mefc pour masquer les jours du mois suivant
 

Pièces jointes

Re : trouver les dates des week ends et jours fériés

Bonjour à tous,

Monique : Il a une raison particulière à l'emploi de :
Code:
=DATE(An;COLONNES($B1:B1);1)
par rapport à
Code:
=DATE(An;COLONNE()-1;1)
placée en B évidemment

A+
 
- 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éponses
3
Affichages
275
Réponses
1
Affichages
287
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
170
Retour