Incrémenter date nom de fichier excel
Bobo
-
Bobo -
Bobo -
Bonjour,
Je souhaiterais trouver une macro pour pouvoir, à chaque enregistrement de mon fichier Excel, mettre la date du jour à la suite du nom de mon fichier. Cependant, je ne souhaite qu'un date à la fin du fichier, et non que les dates se rajoutent au fur et à mesure (je préfère préciser)
Merci d'avance pour toutes vos réponses.
Je souhaiterais trouver une macro pour pouvoir, à chaque enregistrement de mon fichier Excel, mettre la date du jour à la suite du nom de mon fichier. Cependant, je ne souhaite qu'un date à la fin du fichier, et non que les dates se rajoutent au fur et à mesure (je préfère préciser)
Merci d'avance pour toutes vos réponses.
3 réponses
-
Avec un nom de fichier du type NomDuFichier 2011-11-18.xls (ou .xlsm)
Essaies ce code :Sub XXX() Dim Nom_Fichier As String 'Nom du fichier Dim Extension As String 'Extension du fichier 'Ancien nom Nom_Fichier = ThisWorkbook.Name Extension = Mid(Nom_Fichier, InStrRev(Nom_Fichier, ".")) Nom_Fichier = Left(Nom_Fichier, InStrRev(Nom_Fichier, " ")) 'Nouveau nom Nom_Fichier = Nom_Fichier & Format(Date, "yyyy-mm-dd") & Extension On Error GoTo ErrorHandler ActiveWorkbook.SaveAs Filename:=Nom_Fichier On Error GoTo 0 Exit Sub ErrorHandler: 'Routine de gestion d'erreur. Select Case Err.Number Case 1004 'Le fichier est déjà ouvert ou l'enregistrement à été annulé If Err.Description = "La méthode 'SaveAs' de l'objet '_Workbook' a échoué" Then Resume Next Else MsgBox "L'enregistrement à échoué :" & vbCr & vbCr & Err.Description, vbInformation Resume Next End If Case Else MsgBox Err.Description, vbCritical Stop Resume Next End Select End Sub -
Merci pour votre réponse.
Effectivement, cela fonctionne. Sauf que j'aimerais que la macro se lance seule lorsque j'enregistre mon fichier et non que j'ai besoin de la lancer pour qu'elle enregistre mon fichier.
Désolé, je débute dans les macros. -
Bonjour,
C'est pas tout à fait pareil.
Clic droit sur l'onglet de la feuille / Visualiser le code
Crtl+R pour afficher l'Explorateur de projet
Double clic sur ThisWorkbook
Copier/coller le code ci-dessous:Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim Nom_Fichier As String 'Nom du fichier Dim Extension As String 'Extension du fichier 'Ancien nom Nom_Fichier = ThisWorkbook.FullName Extension = Mid(Nom_Fichier, InStrRev(Nom_Fichier, ".")) Nom_Fichier = Left(Nom_Fichier, InStrRev(Nom_Fichier, " ")) 'Nouveau nom Nom_Fichier = Nom_Fichier & Format(Date, "yyyy-mm-dd") & Extension 'Enregistrer une copie ThisWorkbook.SaveCopyAs Nom_Fichier 'Ouvrir la copie Workbooks.Open Nom_Fichier 'Ne pas enregistrer l'original Cancel = True 'Fermer l'original sans l'enregistrer ThisWorkbook.Saved = True ThisWorkbook.Close End Sub
-
-
-
-
-
Effectivement, je suis d'accord. Mais, je souhaite quand même en savoir davantage sur les macros pour en utiliser uniquement quand le besoin s'en fait réellement sentir.
Par contre, serait -il possible de remplacer l'ancien fichier, par le nouveau avec la nouvelle date à chaque fois?
Merci encore pour votre réponse.
-