Le 11/01/2018 considéré comme le 01/11/2018 Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
LouReeD
Passionné d'Excel
Passionné d'Excel
Messages : 5'423
Appréciations reçues : 206
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Téléchargements : Mes applications
Contact :

Message par LouReeD » 26 mars 2018, 23:20

Bonsoir @ tous,

Je sais il faut mettre un fichier en téléchargement pour espérer avoir une réponse rapide... :oops:
Mais là je pense que ce n'est qu'une histoire "d'orthographe", il doit m'échapper un truc...

Voilà la situation : une plage de cellules appelée : Fériés, qui contient les dates fériés de l'année dont le 01/11/2018, feuille Paramètres_Application en cellules D2:D16.
J'ai une date : La_Date à laquelle j'incrémente des jours grâce à une boucle "i"
A chaque incrémentation je "lance" la fonction : Test_Fériés ci dessous :
Function Test_Fériés(Valeur_Cherchée As Date)
    Dim PlageDeRecherche As Range, Trouve As Range
    Set PlageDeRecherche = [Fériés]
    Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchée, LookIn:=xlValues)
    If Trouve Is Nothing Then
        Test_Fériés = False
    Else
        Test_Fériés = True
    End If
End Function
où PlageDeRecherche est égal à Fériés
Trouve est le résultat de FIND
Valeur_Cherchée est égale à la date testée.

Tout fonctionne, mais hélas le 11/01/2018 est considéré comme férié tout comme le 01/11/2018 !!!
Il y a même une aberration : le 25/02/2018 et 26/02/2018 sont fériés !!! en plus du 25/12/2018 et 26/12/2018.
Si dans le fichier je "supprime" les dates du 25 et 26 décembre, alors l'affichage du 25 et 26 février repasse en journée "normale" !!!

Merci par avance et malgré ce que j'ai dis plus haut, voici le fichier : le sujet étant clos, LouReeD à supprimer le fichier
Et oui je me lance dans les calendriers perpétuels en VBA !!! :lol: Un de plus ! :lol:
@ bientôt

LouReeD
Modifié en dernier par LouReeD le 27 mars 2018, 23:35, modifié 1 fois.
Quelques règles à lire ICI ;;)
_______________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 14'239
Appréciations reçues : 399
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel 32 bits

Message par Jean-Eric » 27 mars 2018, 01:09

Bonjour,
Je ne comprenais pas trop alors j'ai testé ceci qui fonctionne correctement.
Function Test_Fériés2(Valeur_Cherchée As Date) As Boolean
Dim PlageDeRecherche As Range, n As Long
    Set PlageDeRecherche = [Fériés]
    n = WorksheetFunction.CountIf(PlageDeRecherche, Valeur_Cherchée)
    Test_Fériés2 = IIf(n > 0, True, False)
End Function
Puis, je suis revenu sur ta fonction, et j'ai vu ce qui clochait. J'ai modifié ainsi :
    Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchée, LookIn:=xlValues, lookat:=xlWhole)
Ah!, cette méthode Find, avec en plus des dates. :mrgreen:
Redis moi.
Cdlt.

Nota : Sinon le dimanche de Pâques et le le dimanche de Pentecôte ne sont pas des fériés. ;;)
1 membre du forum aime ce message.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Avatar du membre
LouReeD
Passionné d'Excel
Passionné d'Excel
Messages : 5'423
Appréciations reçues : 206
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Téléchargements : Mes applications
Contact :

Message par LouReeD » 27 mars 2018, 08:17

Bonjour Jean-Eric,

merci pour la double solution, je vais regardais cela de plus près. :)

Ceci dit, pour le Nota : c'est dimanche de Pâques et de Pentecôte ne sont pas fériés parce que en France on "ne travaille pas le dimanche".
Mais pour une boitte qui travaille habituellement le dimanche, n'est elle pas fermée ces jour là ?
Je vous avoue m'être posé la question, surtout depuis que le travaille dominicale devient de plus en plus à la mode.

Alors oui je suis d'accord avec vous, ils ne sont pas considérés comme jours fériés, mais peut-être tout simplement car ils tombaient sur un jour chômé, mais la donne à changé...

Du coup je ne sais quoi en pensé.

En effet, de mon coté les dates entre VBA et Excel, et les différentes fonctions !!! Je suis toujours obligé de faire des tests, je n'y comprend rien ! En plus si la fonction Find réussie à "torturer" les valeurs... Pour le 01/11/2018 et le 11/01/2018, je peux comprendre, mais pour le 25/12/2018 et 25/02/2018 là je ne comprend pas...

Merci encore à vous

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
_______________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
LouReeD
Passionné d'Excel
Passionné d'Excel
Messages : 5'423
Appréciations reçues : 206
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Téléchargements : Mes applications
Contact :

Message par LouReeD » 27 mars 2018, 08:56

Bon après une petite recherche sur le net :
Article L3133-1
Les fêtes légales ci-après désignées sont des jours fériés :
1° Le 1er janvier ;
2° Le lundi de Pâques ;
3° Le 1er mai ;
4° Le 8 mai ;
5° L'Ascension ;
6° Le lundi de Pentecôte ;
7° Le 14 juillet ;
8° L'Assomption ;
9° La Toussaint ;
10° Le 11 novembre ;
11° Le jour de Noël.
Mais ce sont des jours fériés au sens "légal" du mot, c'est à dire pour une réglementation administrative du code du travail.

Donc je peux considéré le dimanche de pâques comme un jour férié, si pour moi les jours fériés comprennent les fêtes religieuses, non ?

Ceci dit c'est un calendrier pour un usage traditionnel, je vais donc me plier à la loi, et supprimer des jours fériés le dimanche de Pâques et le dimanche de Pentecôte...

@ bientôt et merci encore pour la solution.

LouReeD
Quelques règles à lire ICI ;;)
_______________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message