1Alexiiis
Messages postés48Date d'inscriptionvendredi 14 juin 2013StatutMembreDernière intervention14 décembre 2020
-
8 juil. 2019 à 21:35
1Alexiiis
Messages postés48Date d'inscriptionvendredi 14 juin 2013StatutMembreDernière intervention14 décembre 2020
-
9 juil. 2019 à 19:22
Bonjour,
Le code ci-dessous fonctionne bien pour enregistrer avec la date du jour :
Sub Enregistrer()
Application.DisplayAlerts = False
ChDir "I:\Documents"
ActiveWorkbook.SaveAs Filename:="I:\Documents\" & Format(Date, "yyyy.mm.dd") & " - Blabla.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Range("A1").Select
Application.DisplayAlerts = True
End Sub
Cependant, je souhaiterais que ça soit le précédent jour ouvré (et non la date du jour).
Je ne vois pas du tout comment faire. Pourriez vous m'aider svp ?
cs_Le Pivert
Messages postés7893Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention19 mai 2023136 9 juil. 2019 à 11:15
Bonjour,
Tu cherches d'abord le jour de la semaine de la date:
date_test = CDate("08/07/2019") 'Une date d'exemple pour essai
jourouvre = Format(date_test, "w", 2)
lundi = 1
dimanche = 7
en fonction du résultat tu soustrais comme ceci:
Sub jour_semaine()
Dim date_test
Dim jourouvre
' date_test = CDate(Date) 'date du jour
date_test = CDate("08/07/2019") 'Une date d'exemple pour essai
jourouvre = Format(date_test, "w", 2)
Select Case jourouvre
Case Is = 1
MsgBox DateAdd("d", -3, date_test) 'lundi
Case Is = 7
MsgBox DateAdd("d", -2, date_test) 'dimanche
Case Else
MsgBox DateAdd("d", -1, date_test) 'pour tous les autres jours
End Select
End Sub
Voilà une manière de faire, il y en a certainement d'autres!
1Alexiiis
Messages postés48Date d'inscriptionvendredi 14 juin 2013StatutMembreDernière intervention14 décembre 2020 9 juil. 2019 à 19:22
Bonjour,
Je l'ai adapté à mon code et cela fonctionne. Merci beaucoup pour ton aide !
Voici comment je l'ai adapté (ça sera peut-être utile à d'autres personnes) :
Sub jour_semaine()
Dim date_test
Dim jourouvre
Dim resultat
date_test = CDate(Date) 'date du jour
jourouvre = Format(date_test, "w", 2)
Select Case jourouvre
Case Is = 1
resultat = DateAdd("d", -3, date_test) 'lundi
Case Is = 7
resultat = DateAdd("d", -2, date_test) 'dimanche
Case Else
resultat = DateAdd("d", -1, date_test) 'pour tous les autres jours
End Select
Application.DisplayAlerts = False
ChDir "I:\Documents"
ActiveWorkbook.SaveAs Filename:="I:\Documents\" & Format(resultat, "yyyy.mm.dd") & " - Blabla.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Range("A1").Select
Application.DisplayAlerts = True
End Sub
9 juil. 2019 à 19:22
Je l'ai adapté à mon code et cela fonctionne. Merci beaucoup pour ton aide !
Voici comment je l'ai adapté (ça sera peut-être utile à d'autres personnes) :
Encore merci !
AS