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 40 41 42 43 44 45 46 47
|
Private Declare Function SHCreateDirectoryEx Lib "Shell32.dll" Alias "SHCreateDirectoryExA" _
(ByVal hwnd As Long, ByVal pszPath As String, ByVal lngsec As Long) As Long
Option Explicit
Private Sub CreationDossier(sRepertoire As String)
Dim Rep As Integer
Rep = SHCreateDirectoryEx(0&, sRepertoire, 0&)
' Pour valeur retournée dans Rep
' Voir http://msdn.microsoft.com/en-us/library/ms681381(VS.85).aspx
End Sub
Sub Enregistrement()
Dim Rep As String, Fich As String, Answ As Integer
Rep = "D:\Mes Documents\"
With ActiveWorkbook
Fich = Range("B2") & "_" & Range("C2") & "_" & Range("D1")
Fich = NomValide(Fich)
CreationDossier Rep
If Dir(Rep & Fich & ".xls") <> "" Then
Answ = MsgBox(Fich & ".xls Existe déjà, voulez-vous le remplacer ?", vbYesNo + vbDefaultButton2 + vbInformation)
If Answ = 7 Then Exit Sub
End If
Application.DisplayAlerts = False
.SaveAs Rep & Fich & ".xls"
Application.DisplayAlerts = True
End With
End Sub
Private Function NomValide(ByVal sNomFichier As String) As String
Const CaracInterdits As String = ":/\?*[]"
Dim i As Integer, Car As String * 1
sNomFichier = Trim(sNomFichier)
For i = 1 To Len(CaracInterdits)
Car = Mid$(CaracInterdits, i, 1)
sNomFichier = Replace(sNomFichier, Car, "")
Next i
NomValide = sNomFichier
End Function |
Partager