Compter un nb de jours fériés devenu variable dans une année glissante

Bonjour,

Dans mon tableau de décompte des jours fériés et des vacances, je me trouve confronté à un problème de jours fériés qui passe de nb fixe en année standard à un nb variable en année glissante dans le cas de figure où l'année débute par le mois de juin.
Exemple dans le fichier joint dans l'onglet "Tableau", pour le personnel "f", en 2020 j'ai 10 jours fériés (F) alors que pour 2021 je n'en ai plus que 8 : couleur orange sur le numéro du jour.
Actuellement dans mon fichier le nb de jours fériés est fixe et varie seulement en fonction de la date d'embauche et de l'année (n) - (n-1) - (n-2) soit 0, soit 9 dans les cellules AH32 AH33 et AH34
Du coup je sèche sur la meilleure formule à utiliser. Je pensais utiliser NB.SI.ENS mais la formulation est trop compliquée pour moi avec 12 plages à comparer (D15 - AH15, D20 - AH20 ....... jusqu'à D70 - AH70) à une plage de données "Fériés_2ans" (cellules AL20 à AL39 dans l'onglet "Entrées") c'est à dire les dates des jours fériés de l'année en cours ainsi que ceux de l'année suivante.
En plus il faudrait intégrer les notions de "n - n-1 et n-2"
Et je n'arrive donc pas à la faire fonctionner.

Je ne sais pas si c'est très clair tout ça, mais avec le fichier joint (mot de passe "Precaution") ça le sera certainement plus !

Merci beaucoup à ceux qui prendrons un peu de temps pour me retirer cette épine du pied !

Cordialement

Bonjour,
Peux-tu virer la protection de ton fichier ?
Cdlt.

Bonjour à tous !

Bonjour,
Peux-tu virer la protection de ton fichier ?
Cdlt.

Sage "Precaution" en effet....

Bonjour à tous,

Voici une proposition, c'est assez simple il me semble. Les fériés en C3:D15, une date en G1 => le nb en I2 après clic sur le bouton

Sub nb_feries()
Dim C As Range, debut As Double, fin As Double, idx As Integer

    debut = Sheets("Feuil1").Range("G1").Value
    fin = DateAdd("yyyy", 1, debut)
    For Each C In Sheets("Feuil1").Range("C3:D15")
        If C.Value >= debut And C.Value <= fin Then idx = idx + 1
    Next C
    Sheets("Feuil1").Range("I2").Value = idx
End Sub

Pierre

(fichier non protégé ...)

Edit de 10:43 : en me relisant, je pense qu'il serait plus juste d'écrire =>

If C.Value >= debut And C.Value < fin Then idx = idx + 1

Bonjour,
Le nombre de jours fériés en France est de 11 (Pâques et Pentecôte à supprimer).
Cdlt.

Bonsoir ou Bonjour à tous,

Tout d'abord merci à ceux qui ont pris le temps de me lire et de répondre.

Concernant la protection, je ne sais pas comment la virer, malgré plusieurs essais infructueux elle est est toujours là. Mais comme vous pouvez le constater j'ai indiqué le mot de passe dans mon post.

Si quelqu'un peut me dire comment faire je suis preneur !

Cordialement, @+

Bonsoir à tous !

Concernant la protection, je ne sais pas comment la virer, malgré plusieurs essais infructueux elle est est toujours là. Mais comme vous pouvez le constater j'ai indiqué le mot de passe dans mon post.

Si quelqu'un peut me dire comment faire je suis preneur !

Cordialement, @+

Lors de la procédure "Enregistrement sous....", choisir "Outils" puis "Options générales" et effacer l'ancien mot de passe.

La validation entraînera la sauvegarde du fichier non protégé.

image

Bonjour,

Merci pour l'information, mais je ne trouve pas "Outils" lorsque je vais à "enregistrer sous".

Voir ci dessous.

excel enregistrer

Cordialement, @+

Bonsoir à tous !

"Enregistrer sous....." est le début de la procédure.
Vous avez ensuite "Parcourir".... et là, vous devriez, visuellement, retrouver les éléments précédemment décrits.

Bonjour,

Merci pour vos indications !

J'ai fini par trouver les éléments ...

excel enregistrer

De plus, concernant le sujet d'origine du post, j'ai trouvé une solution par ailleurs, donc sujet résolu.

Cordialement, @+

Rechercher des sujets similaires à "compter jours feries devenu variable annee glissante"