Jours ouvrable dans PowerApsp

  • Jours ouvrable dans PowerApsp

    Posté par Nicolas sur 15 avril 2022 at 12h14

    Bonjour à tous,

    En premier, bravo cette initiative d’une communauté Française.

    Je suis débutant sur Power Platform, je suis en train de developer une application Powerapps, et j’aurais besoin de calculer le nombre de jour ouvrés entre deux date.

    J’ai bien chercher ( ou pas assez), je trouve pas mal de tuto autour de Power Query ou PowerBi, mais rien sur powerApps.

    J’aurai bien en tête de faire une table qui reprendrais les jours en mettant un point sur les week-end pour les soustraire, mais après il faudrait ajouter les jours fériés à la main, ce qui devrais se faire chaque année.

    Si quelqu’un a des idées.

    PostID=CLdsoXbhxLJ8DFo

    Nicolas a répondu 11 months, 3 weeks ago 1 Membre · 7 Réponses
  • 7 Réponses
  • Geoffroy

    Member
    15 avril 2022 at 13h20

    Bonjour Nicolas,

    J’ai trouvé cette question traitée ici (en anglais) https://powerapps.microsoft.com/de-at/blog/excluding-weekends-and-holidays-in-date-differences-in-powerapps/

    La méthode utilise des calculs et semble avoir certaines limites (notamment si le début ou la fin de la période tombe pendant un week-end). Et elle ne traite pas non plus les jours fériés.

    Si ça peut t’aider.

    CommentID=bNJK1lCrlFYNW8w, PostID=CLdsoXbhxLJ8DFo

  • Geoffroy

    Member
    15 avril 2022 at 13h27

    Cet autre site est beaucoup plus détaillé. Mais le problème des jours fériés ne semble pas avoir de solution simple.

    Bon courage ! 😉

    CommentID=cwyTjg4kwvYJCZa, PostID=CLdsoXbhxLJ8DFo

  • Nicolas

    Member
    15 avril 2022 at 14h57

    Merci je vais regarder cela .

    J’ai trouvé un superbe tuto de Reza Dorani ( j’espère pas avoir fait de faute de mémoire sur mon smartphone).

    En suivant son tuto sans inclure les jours fériés j’arrive à retomber sur mes pieds . Je vous posterai mon code demain .

    Le deuxième lien après une lecture rapide parais intéressant.

    A voir

    CommentID=TyyER5qPRMFVZwL, PostID=CLdsoXbhxLJ8DFo

  • Alexandre

    Member
    17 avril 2022 at 19h03

    J’avais fait un composant qui calculait les jours fériés pour une année donnée. Si ca peut t’aider je pourrais voir pour te partager mes calculs (pas hyper compliqué une fois qu’on a trouvé toutes les règles de tous les jours fériés)

    CommentID=bP2YjJGnrMF6tsZ, PostID=CLdsoXbhxLJ8DFo

  • Nicolas

    Member
    19 avril 2022 at 7h46

    Bonjour à tous

    voila ce que j’ai fait pour mes tests :

    et le code qui se trouve dans le résultat du calcul :

    RoundDown(n    DateDiff(n        Debut_Location;n        Fin_Location;n        Daysn    ) / 7;n    0n) * 5 + Mod(n    5 + Weekday(Fin_Location.SelectedDate) - Weekday(Debut_Location.SelectedDate);n    5n)

    Ce que je ne comprend pas :

    • J’ai fais le test sur plusieurs période , il me décompte bien les jours fériés

    • Par contre sur une même date , le résultat est zéro, alors que je devrais avoir 1

    @Alexandre je veux bien voir ton composant si tu veux le partager.

    CommentID=gsMhvWUgAvDSxxv, PostID=CLdsoXbhxLJ8DFo

    • Alexandre

      Member
      19 avril 2022 at 11h00

      Pour avoir 1 jour de différence entre 2 mêmes dates, tu peux ajouter 1 jour à ton calcul (je sais c’est con dit comme ca )
      Pour le composant, je te laisse juste mon code qui calcul les jours fériés. C’est repris et adapté depuis des formules excels. Self.année fait référence à l’année dont tu souhaites obtenir les jours fériés.

      Set(n    Paques;n    22 + Mod((19*Mod(Self.année;19))+24;30) + Mod((Mod(Self.année;4)*2) + ( Mod(Self.année;7)*4 ) + ( Mod((19*Mod(Self.année;19))+24;30)*6) + 5;7)-1+Date(Self.année;3;1)n);;nSet(n    joursFeriés;n    Table(n        {name:"Jour de l'an";date:Date(Self.année;1;1)};n        {name:"Pâques";date:Paques};n        {name:"Lundi de Pâques";date:Paques+1};n        {name:"Fête du travail";date:Date(Self.année;5;1)};n        {name:"Victoire 1945";date:Date(Self.année;5;8)};n        {name:"Ascension";date:Paques+39};n        {name:"Pentecôte";date:Paques+49};n        {name:"Lundi de Pentecôte";date:Paques+49+1};n        {name:"Fête Nationale";date:Date(Self.année;7;14)};n        {name:"Assomption";date:Date(Self.année;8;15)};n        {name:"Toussaint";date:Date(Self.année;11;1)};n        {name:"Armistice 1918";date:Date(Self.année;11;11)};n        {name:"Noël";date:Date(Self.année;12;25)}n    )n)

      SubCommentID=N9HMWu8VpfEOKgv, CommentID=gsMhvWUgAvDSxxv, PostID=CLdsoXbhxLJ8DFo

    • Nicolas

      Member
      19 avril 2022 at 11h44

      Merci du partage je vais étudier cela , et certainement l’intégrer

      SubCommentID=IgkQM6Ij4G2fraS, CommentID=gsMhvWUgAvDSxxv, PostID=CLdsoXbhxLJ8DFo

Connectez-vous pour répondre.