Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Fonction jours ouvrés

Maxx

XLDnaute Nouveau
Je suis une formation en gestion de la paie et j'ai besoin de calculer le nombre de jours ouvrés pour telle ou telle raison... Le problème c'est que ces fichus employés ne travaillent pas forcément du lundi au vendredi et sont à temps partiel donc il y en a qui travaillent seulement le mardi, d'autres le lundi, le jeudi et le vendredi... Bref, je ne veux pas faire la somme des nb.jours.ouvres.intl avec "0111111" et "1011111" etc. Est-il possible de rendre cette partie de la formule variable ? Sans VBA surtout. Merci P.S. : J'ai ajouté une pièce jointe pour être plus clair
 

Pièces jointes

  • probleme_forum.xlsx
    11.6 KB · Affichages: 15
Dernière édition:
Solution
Bonsoir @Maxx, @Wayki,

Vous pouvez écrire (office 365):
VB:
=NB.JOURS.OUVRES.INTL(B6;C6;CONCAT(1-D6:J6))

D6:J6 sera spécifique à chaque agent. La formule est donc paramétrable (du moins me semble-t-il).

Remarque : ajouter dans la formule la plage avec les jours fériés si nécessaire...

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @Maxx, @Wayki,

Vous pouvez écrire (office 365):
VB:
=NB.JOURS.OUVRES.INTL(B6;C6;CONCAT(1-D6:J6))

D6:J6 sera spécifique à chaque agent. La formule est donc paramétrable (du moins me semble-t-il).

Remarque : ajouter dans la formule la plage avec les jours fériés si nécessaire...
 

Pièces jointes

  • Maxx- jours ouvrés- v1.xlsx
    12 KB · Affichages: 17
Dernière édition:

Maxx

XLDnaute Nouveau
D'abord, j'avais complètement délaissé la fonction CONCATENER() pour les &&&&, et là déjà, plus de message d'erreur dans la formule...puis je vois ton 1-D6:J6 et je ne comprends pas comment ça marche...MAIS CA MARCHE C'EST MAGNIFIQUE !!!!!! C'est exactement ce que je cherchais à faire et je n'aurais jamais trouvé sans ton aide M-E-R-C-I
 

mapomme

XLDnaute Barbatruc
Supporter XLD
je vois ton 1-D6:J6 et je ne comprends pas comment ça marche

Re à tous,

Pour la fonction NB.JOURS.OUVRES.INTL, le 3ème paramètre "0101100" correspond aux jours dits "week-end" ou plus simplement aux jours qui ne sont pas travaillés dans la semaine : 1 => jour non travaillé ; 0 => jour travaillé.

Dans ton tableau, tes indicateurs 1 correspondent aux jours travaillés et tes indicateurs 0 aux jours non travaillés. C'est le contraire du paramètre "week-end".

il faut donc transformer pour ta formule tes indicateurs uns en zéros et les zéros en uns.

Cela se fait par l'opération arithmétique 1-ancien_indicateur.
Si ancien_indicateur = 1 alors 1-ancien_indicateur = 0 et si ancien_indicateur = 0 alors 1-ancien_indicateur=1.

C'est ce qu'on cherchait à faire pour passer des jours travaillés en jours non travaillés (et vice-versa) comme l'exige la fonction NB.JOURS.OUVRES.INTL
 
Dernière édition:

Maxx

XLDnaute Nouveau
Oui c'est vrai, ça m'avait échappé les 0 sont pour les jours travaillés et non l'inverse mais j'en étais encore à ce que la fonction ne me marque pas d'erreur. Tout est en ordre désormais. Merci encore
 

Discussions similaires

Réponses
5
Affichages
668
Réponses
9
Affichages
800
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…