OVH Cloud OVH Cloud

dernier jour ouvrable du mois

4 réponses
Avatar
sice42
Bonjour,
Est ce que quelqu'un peut m'expliquer le code ci dessous, je l'ai
ins=E9r=E9 dans la feuille ThisWorbook mais =E7a ne marche pas ! je veux
lancer une macro le dernier jour ouvrable du mois

lastday =3D Application.WorksheetFunction.Weekday(DateSerial(Year(Date),
Month(Date) + 1, 0), 2)
diffday =3D Date - DateSerial(Year(Date), Month(Date) + 1, 0)
If (lastday < 6 And diffday =3D 0) Or (lastday =3D 6 And diffday =3D 1) Or
(lastday =3D 5 And diffday =3D 2) Then
Application.OnTime TimeValue("17:25:00"), "RecopieRates"

' instructions derniers jours ouvrables du mois=20
End If

4 réponses

Avatar
RGI
bonjour

pour comprendre il suffit de détailler

lastday = Application.WorksheetFunction.Weekday(DateSerial(Year(Date),
Month(Date) + 1, 0), 2)

MsgBox "Valeur de lastday : " & lastday

diffday = Date - DateSerial(Year(Date), Month(Date) + 1, 0)

MsgBox "Valeur de diffday : " & diffday

' si le conditions sont requises à 17h25 lancement de mamacro

If (lastday < 6 And diffday = 0) Or (lastday = 6 And diffday = 1) Or
(lastday = 5 And diffday = 2) Then
Application.OnTime TimeValue("17:25:00"), "mamacro"

End If

saltations

RGI


Bonjour,
Est ce que quelqu'un peut m'expliquer le code ci dessous, je l'ai
inséré dans la feuille ThisWorbook mais ça ne marche pas ! je veux
lancer une macro le dernier jour ouvrable du mois

lastday = Application.WorksheetFunction.Weekday(DateSerial(Year(Date),
Month(Date) + 1, 0), 2)
diffday = Date - DateSerial(Year(Date), Month(Date) + 1, 0)
If (lastday < 6 And diffday = 0) Or (lastday = 6 And diffday = 1) Or
(lastday = 5 And diffday = 2) Then
Application.OnTime TimeValue("17:25:00"), "RecopieRates"

' instructions derniers jours ouvrables du mois
End If




Avatar
michdenis
Ceci te donne la date du dernier vendredi du mois :

ÚTE(ANNEE(A1);MOIS(A1)+5;1)-JOURSEM(DATE(ANNEE(A1);MOIS(A1)+5;6))

Il se peut que cette journée soit un congé férié....mais à moins
que tu n'aies défini dans ton classeur une liste de congés fériés
et que tu adaptes la formule en conséquence... Excel ne pourra
pas deviner !




a écrit dans le message de news:

Bonjour,
Est ce que quelqu'un peut m'expliquer le code ci dessous, je l'ai
inséré dans la feuille ThisWorbook mais ça ne marche pas ! je veux
lancer une macro le dernier jour ouvrable du mois

lastday = Application.WorksheetFunction.Weekday(DateSerial(Year(Date),
Month(Date) + 1, 0), 2)
diffday = Date - DateSerial(Year(Date), Month(Date) + 1, 0)
If (lastday < 6 And diffday = 0) Or (lastday = 6 And diffday = 1) Or
(lastday = 5 And diffday = 2) Then
Application.OnTime TimeValue("17:25:00"), "RecopieRates"

' instructions derniers jours ouvrables du mois
End If
Avatar
michdenis
| ÚTE(ANNEE(A1);MOIS(A1)+5;1)-JOURSEM(DATE(ANNEE(A1);MOIS(A1)+5;6))

Il faut oublier cette formule... il y a une grosse coquille...
Pour déterminer le dernier vendredi du mois, il faudrait utiliser plutôt cette formule :
ÚTE(ANNEE(A1);MOIS(A1)+1;1)-JOURSEM(DATE(ANNEE(A1);MOIS(A1)+1;2))

Ceci étant, vendredi n'est pas nécessairement le dernier jour ouvré pour un mois !



a écrit dans le message de news:

Bonjour,
Est ce que quelqu'un peut m'expliquer le code ci dessous, je l'ai
inséré dans la feuille ThisWorbook mais ça ne marche pas ! je veux
lancer une macro le dernier jour ouvrable du mois

lastday = Application.WorksheetFunction.Weekday(DateSerial(Year(Date),
Month(Date) + 1, 0), 2)
diffday = Date - DateSerial(Year(Date), Month(Date) + 1, 0)
If (lastday < 6 And diffday = 0) Or (lastday = 6 And diffday = 1) Or
(lastday = 5 And diffday = 2) Then
Application.OnTime TimeValue("17:25:00"), "RecopieRates"

' instructions derniers jours ouvrables du mois
End If
Avatar
dre
Salut,

Sans tenir compte des jours fériés et sans emploi des macros complémentaires
(FIN.MOIS) :
ÚTE(ANNEE(A1);MOIS(A1)+1;0)+MIN(0;5-JOURSEM(DATE(ANNEE(A1);MOIS(A1)+1;0);2))

En nommant ÚTE(ANNEE(A1);MOIS(A1)+1;0), par exemple : der
la formule devient :
Þr+MIN(0;5-JOUSEM(der;2))

Â+






Bonjour,
Est ce que quelqu'un peut m'expliquer le code ci dessous, je l'ai
inséré dans la feuille ThisWorbook mais ça ne marche pas ! je veux
lancer une macro le dernier jour ouvrable du mois

lastday = Application.WorksheetFunction.Weekday(DateSerial(Year(Date),
Month(Date) + 1, 0), 2)
diffday = Date - DateSerial(Year(Date), Month(Date) + 1, 0)
If (lastday < 6 And diffday = 0) Or (lastday = 6 And diffday = 1) Or
(lastday = 5 And diffday = 2) Then
Application.OnTime TimeValue("17:25:00"), "RecopieRates"

' instructions derniers jours ouvrables du mois
End If