Bonjour,
J'ai découvert il y a peu la fonction Networkdays() qui permet d'obtenir un certain nombre de jours ouvrés en fonctionentre deux dates (en argument), en fonction des week-ends et des jours fériés (en argument).
J'ai une série de date quotidienne sur une année entière, et j'essaie alors de déterminer automatiquement quels sont les jours qui se trouvent deux jours ouvrés avant chaque fin de mois, et quels sont les jours qui se trouvent deux jours ouvrés après chaque fin de mois. Pour tous ces jours, j'aimerais attribuer une valeur à toutes les cellules au-dessus des dates en question.
Mon idée a d'abord était d'attribuer au dessus de chaque fin de mois une valeur de cellule avec la formule (par exemple pour la cellule D1) :
=IF(MONTH(D2)<>MONTH(D2+1);"Fin de mois";"")
Pour les deux jours ouvrés après, j'ai la formule suivante (pour une cellule en H1) :
=IF(MONTH(H2)<>MONTH(H2+1);"Fin de mois";IF(AND(F1="Fin de mois";NETWORKDAYS(F2;H2;)=2);"Deux jours après";IF(AND(E1="Fin de mois";NETWORKDAYS(E2;H2;)=2);"Deux jours après";IF(AND(D1="Fin de mois";NETWORKDAYS(D2;H2;)=2);"Deux jours après";IF(AND(C1="Fin de mois";NETWORKDAYS(C2;H2;)=2);"Deux jours après";IF(AND(B1="Fin de mois";NETWORKDAYS(B2;H2;)=2);"Deux jours après";""))))))
1) Cette réponse est très moche et lente à produire
2) Je dois à présent le faire pour les deux jours avant, et le code va doubler...
3) Je ne comprends pas pourquoi, mais le code n'affiche aucune date parfois, et parfois plusieurs "deux jours après" s'affichent sur le même mois... (pour tant, c'est bien dans la rubrique "faux" du if...
Quelqu'un saurait-il m'aider ?
Merci d'avance,
grm