afficher dans un cellule le dernier jour ouvrable du mois

roncevaux68

XLDnaute Junior
Bonjour ,
Petite question
Je voudrais afficher dans un cellule comme quoi nous sommes le dernier jour ouvrable du mois
Ce mois si c’est un lundi

cordialement
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour ,
Petite question
Je voudrais afficher dans un cellule comme quoi nous sommes le dernier jour ouvrable du mois
Ce mois si c’est un lundi

cordialement
le dernier jour ouvré du mois de la date en A1

=SERIE.JOUR.OUVRE(DATE(ANNEE(A1);MOIS(A1)+1;1);-1 ; *****)
le dernier argument ***** contient la liste des fériés

upload_2018-4-30_20-4-16.png


plus prosaïquement :
="reste "&SERIE.JOUR.OUVRE(DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+1;1);-1)-AUJOURDHUI() &" jour(s) ouvré(s) fin de mois"
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

@Modeste geedee
Pourquoi si on utilise DATE(ANNEE(A1);MOIS(A1)+1;0)
à la place de DATE(ANNEE(A1);MOIS(A1)+1;1);-1
dans ta formule, cela renvoie #VALEUR! ?
Alors que ces deux formules (isolée dans une cellule) renvoient la même chose (le dernier jour du mois de la date saisie en A1)

Je ne vois pas le pourquoi du comment ? ;)
 

Modeste geedee

XLDnaute Barbatruc
Bonsoir le fil, le forum

@Modeste geedee
Pourquoi si on utilise DATE(ANNEE(A1);MOIS(A1)+1;0)
à la place de DATE(ANNEE(A1);MOIS(A1)+1;1);-1
dans ta formule, cela renvoie #VALEUR! ?
Alors que ces deux formules (isolée dans une cellule) renvoient la même chose (le dernier jour du mois de la date saisie en A1)

Je ne vois pas le pourquoi du comment ? ;)
:p Aaaaarrhhh... grosss finesse!!!

dans le cas présent , le "-1" est 2eme argument de la fonction SERIE.JOUR.OUVRE
i.e. : Jour ouvré précédant la date 1er argument

car on travaille avec debut mois suivant : date(année;mois+1;1)
et non la DATE FinMois : date(année;mois+1 ; 0)
 
Dernière édition:

roncevaux68

XLDnaute Junior
merci pour toutes vos réponses mais la je suis vraiment larguer avec toutes vos réponse ...

si j'ai la date dans la cellule C1 et je voudrais le résultat dans la cellule I1 .
il faudrait seulement afficher le jour ou c'est le dernier jour ouvrable comme "dernier jour ouvrable du mois"

cordialement
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

@eriiiic
Je ne sais plus à partir de quelle version il n'y a plus besoin d'activer l’utilitaire d'analyse pour utiliser FIN.MOIS ?


@roncevaux
Si tu avais joint un fichier exemple, tu verrais tout de suite plus clair ;)

Est-ce que tu as essayé de reproduire l'exemple du message#3 à partir de la copie d'écran?
Tu devrais essayer , c'est très formateur ;)

EDITION: Puisque nous sommes un jour férié, une macro avec plein de jours fériés dedans
Elle permet de recréer l'exemple fourni par Modeste geedee
VB:
Sub Exemple_Généré_par_macro()
Dim jf: [B1:B13].NumberFormat = "dddd dd mmmm yyyy"
jf = Array(42930, 42962, 43040, 43050, 43094, 43101, 43191, 43192, 43221, 43228, 43230, 43240, 43241, 43295, 43327, 43405, 43415, 43459)
    With [K1].Resize(UBound(jf) + 1)
        .Value = Application.Transpose(jf)
        .Name = "JFER": .NumberFormat = ";;;"
    End With
[A1] = 42931: [A1].NumberFormat = "mmmm yyyy": [A1].DataSeries 2, 3, 3, 1, 43296, 0
[B1:B13].FormulaR1C1 = "=WORKDAY(DATE(YEAR(RC[-1]),MONTH(RC[-1])+1,1),-1,JFER)": [B1].Select
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

J'ai ajouté la formule d'eriiiic
Mais je dirais: Houston, on a un problème
(Non ?)
VB:
Sub Aie_Caramba_Que_Pasa()
Dim jf: [B1:C13].NumberFormat = "dddd dd mmmm yyyy"
jf = Array(42930, 42962, 43040, 43050, 43094, 43101, 43191, 43192, 43221, 43228, 43230, 43240, 43241, 43295, 43327, 43405, 43415, 43459)
Cells.ClearContents
    With [K1].Resize(UBound(jf) + 1)
        .Value = Application.Transpose(jf)
        .Name = "JFER": .NumberFormat = ";;;"
    End With
[A1] = 42931: [A1].NumberFormat = "mmmm yyyy": [A1].DataSeries 2, 3, 3, 1, 43296, 0
'formule Modeste geedee
[B1:B13].FormulaR1C1 = "=WORKDAY(DATE(YEAR(RC[-1]),MONTH(RC[-1])+1,1),-1,JFER)": [B1].Select
'formule d'eriiiic (initialement salopée par Staple) mais corrigée par eriiiic
'la formule ci-dessous est donc désormais OK ;-)
[C1:C13].FormulaR1C1 = "=WORKDAY(EOMONTH(RC[-2],0)+1,-1,JFER)"
End Sub

EDITION
Allo Module OptionExplicit5, ici Houston
Allo Houston, eriiiic a réalisé une sortie extra-véhiculaire et a réparé les dégâts.
Le taux d'oxygène dans la formule est désormais optimal.
Transmission terminée.
 
Dernière édition:

eriiic

XLDnaute Barbatruc
Bah, juste un petit :)
Tu as décalé la ref d'une ligne. En fait ça doit être :
Code:
[C1:C13].FormulaR1C1 = "=WORKDAY(EOMONTH(RC[-2],0)+1,-1,JFER)"

Pour le demandeur :
Code:
=SI(C1=SERIE.JOUR.OUVRE(FIN.MOIS(C1;0)+1;-1;JFER);"dernier jour";"")
JFER étant la plage nommée contenant les jours fériés. A part Pâques je ne vois pas d'autres jours possibles en france, tu pourrais limiter à cette date.
eric
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re,

Bah, juste un petit :)
Tu as décalé la ref d'une ligne. En fait ça doit être :
Code:
[C1:C13].FormulaR1C1 = "=WORKDAY(EOMONTH(RC[-2],0)+1,-1,JFER)"
Ça m'apprendra à travailler le VBA un jour férié, camarade !

EDITION
@eriiiic
Ça te dit rien c'tte histoire?
@eriiiic
Je ne sais plus à partir de quelle version il n'y a plus besoin d'activer l’utilitaire d'analyse pour utiliser FIN.MOIS ?
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

@eriiiic
Ça y est j'ai retrouvé la mémoire
Dans les versions antérieures d'Excel (Excel 2003 et avant), EOMONTH faisait partie de l'utilitaire d'analyse.
Dans les versions ultérieures d'Excel, le ToolPak n'est plus requis; la fonction fait partie d'Excel elle-même.
En d'autres termes, vous n'avez pas besoin d'activer l'utilitaire d'analyse pour utiliser EOMONTH.
Je me rappelle que si par exemple, tu utilises EOMONTH dans un *.xlsm que tu le downgrades en *.xls pour diffusion à un tiers sous un Excel < à XL2K7 (qui n'a pas le ToolPak activé), la formule affichera un message d'erreur.
C'est pour cela que j'avais pris l'habitude de toujours utiliser : DATE(ANNEE(A1);MOIS(A1)+1;0)
(pour trouver le dernier jour d'un mois)

EDITION: Bonjour Chris24, je viens juste de voir ton message.
 

Statistiques des forums

Discussions
311 735
Messages
2 082 024
Membres
101 873
dernier inscrit
excellllll