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.
A voir également:
- Incrémenter date nom de fichier excel
- Fichier .dat - Guide
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
Avec un nom de fichier du type NomDuFichier 2011-11-18.xls (ou .xlsm)
Essaies ce code :
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.
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:
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.
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.