A voir également:
- Incrémenter date nom de fichier excel
- Fichier rar - Guide
- Liste déroulante excel - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
18 nov. 2011 à 11:11
18 nov. 2011 à 11:11
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.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
18 nov. 2011 à 13:17
18 nov. 2011 à 13:17
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
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
18 nov. 2011 à 14:17
18 nov. 2011 à 14:17
L'avantage du format yyyy-mm-dd c'est que le classement alphanumérique correspond aux dates (dans l'explorateur par exemple).
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 18/11/2011 à 15:18
Modifié par Patrice33740 le 18/11/2011 à 15:18
« je ne pense pas que les macros puisse faire qqch pour moi »
Détrompes-toi, avec des macros on peut faire beaucoup de choses !
Mais il ne faut pas abuser des macros lorsqu'on ne maitrise pas le sujet.
Détrompes-toi, avec des macros on peut faire beaucoup de choses !
Mais il ne faut pas abuser des macros lorsqu'on ne maitrise pas le sujet.
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.