Bonsoir Robert, RE William, le Forum
Hi hi hi, merci Robert c'est gentil et çà me touche.
En fait ta macro est très bien aussi pour le coté gestion de la variable Nom du Fichier en récupérant son nom sans l'extention ".xls".
D'ailleurs en partant de ce principe on pourrait faire un truc comme çà qui peut rendre service à plus d'un :
Dans un classeur "Interface" ou un "Perso.xls" ou carrément une XLA on peut décider de traiter un fichier dans un répertoire en agissant comme ceci :
Sub OnOuvreOnTraiteOnSauveAveLaDateLOL()
Dim TheFile As Variant
Dim ThePath As String
Dim UserDir As String
Dim WB As Workbook
ThePath = "C:\Mes Documents\Test XLD"'<<<< à adapter of course
UserDir = CurDir
ChDir ThePath
TheFile = Application.GetOpenFilename("Excel Files(*.xls),*.xls")
If TheFile = False Then ChDir UserDir: Exit Sub
Set WB = Workbooks.Open(TheFile)
'ici faut faire un truc... une macro qui va écrire un truc dans l'entête...
With WB.Worksheets(1)
.PageSetup.RightHeader = "MAJ le " & Format(Now, "YYYY-MM-DD") & " par " & Application.UserName
End With
On Error GoTo ErrorHandler
With WB
.SaveAs Left(WB.Name, Len(WB.Name) - 4) & "-MAJ-du-" & Format(Now, "YYYY-MM-DD")
.Close
End With
ChDir UserDir
Exit Sub
ErrorHandler:
If Err = 1004 Then
MsgBox "Le Classeur Toto Date " & Format(Now, "YYYY-MM-DD") & " existe déjà et la sauvegarde à été annulée....", vbCritical
Else
MsgBox "Une erreur non gérée c'est produite " & Err.Number & " " & Err.Source & " " & Err.Description
End If
End Sub
On notera que je mets toujours les dates en formats YYYY MM DD bien plus facile à trier pour des noms de fichiers (surtout si il y en a des centaines dans le répertoires...
Bonne Nuit
@+Thierry