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
| Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & strnameNew(ThisWorkbook.Name, 1), AddToMRU:=True
End Sub
'---------------------------------------------------------------------------------------
' Procedure : strnameNew
' Author : Oliv-
' Date : 20/11/2012
' Purpose : Incrémente un numéro de version
' exemple : strnameNew("toto-v1.0.xls",1) devient "toto-v1.1.xls"
'---------------------------------------------------------------------------------------
'
Function strnameNew(NomClasseur As String, increm As Integer) As String
FichierVersion = ""
On Error Resume Next
s_Ext = Right(NomClasseur, Len(NomClasseur) - InStrRev(NomClasseur, ".") + 1)
s_Nom = Left(NomClasseur, InStrRev(NomClasseur, ".") - 1)
strName = StrReverse(s_Nom)
positionPoint = InStr(1, strName, ".")
If positionPoint Then
FichierVersion = StrReverse(Left(strName, positionPoint - 1))
verif_version_numeric:
If Not IsNumeric(FichierVersion) Then
FichierVersion = InputBox("Veuillez corriger la version ACTUELLE" & vbCr & "en ne gardant que des nombres", "Texte non supporté", FichierVersion)
GoTo verif_version_numeric
End If
strnameNew = StrReverse(Mid(strName, positionPoint, Len(strName) - positionPoint + 1)) & FichierVersion + 1 & s_Ext
Else
FichierVersion = "v0.1"
strnameNew = s_Nom & FichierVersion & s_Ext
End If
End Function |
Partager