1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Sub Programme()
Dim Rep As String, RepMois As String, RepJour As String, NomFichier As String
Dim MaDate As Date
Application.ScreenUpdating = False
Rep = "Z:\Risques et documentation OPCVM\Rapprochement Front Back\Confirmation Trades"
'Si le répertoir père existe
If Dir(Rep, vbDirectory) <> "" Then
'Dans maDate on récuppère la date de la veille (si c'est un dimanche ou lundi, on prend vendredi précédent
'Ici appel à la fonction veille
MaDate = Veille
'On va chercher si le sous répertoire du mois existe au sein du répertoire père, on le crée s'il n'existe pas
RepMois = Rep & "\" & Format(MaDate, "mmmm yyyy")
If Dir(RepMois, vbDirectory) = "" Then MkDir RepMois
'On v chercher si le sous répertoire du jour existe au sein du sous répertoire du mois, on le crée s'il n'existe pas
RepJour = RepMois & "\" & Format(MaDate, "yyyymmdd")
If Dir(RepJour, vbDirectory) = "" Then MkDir RepJour
ThisWorkbook.Worksheets("confirm 10").Copy
With ActiveWorkbook
With .Worksheets(1)
With .UsedRange
.Value = .Value
End With
NomFichier = .Range("O7") & "_" & .Range("O8") & "_" & .Range("O12") & "_" & .Range("O14")
End With
.SaveAs Filename:=RepJour & "\" & NomFichier & ".xls", FileFormat:=xlNormal
.Close
End With
End If
End Sub
Private Function Veille() As Date
Dim d As Byte
d = DatePart("w", Date, vbSunday) 'Si Date est Dimanche ou Lundi, on prend Vendredi comme étant la veille. 'Sinon, on prend j-1
Veille = Date - IIf(D <= 2, d + 1, 1)
End Function |
Partager