Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Le fichier est-il ouvert en permanence ? Ou es-tu sur que le jour où il doit s'enregistrer il sera ouvert ? Dans ces cas, une ligne suffit :
VB:
Private Sub Workbook_Open()
If Day(Now) = 15 Then ThisWorkbook.SaveAs ActiveWorkbook.Path & "\" & "NOMDUFICHIER_" & Year(Now) & Format(Month(Now), "mm")
End Sub
Le fichier sera enregistré sous la forme NOMDUFICHIER201010 (correspondant à oct 2010)
Si y a risque que le fichier ne soit pas ouvert le 15 du mois, il faut planifier une tâche dans windows et placer un petit code VBS semblable.
Merci pour ta réponse rapide softmama,
en effet le fichier en question ne sera pas ouvert en permanence
donc si tu peux me guider pour faire cette manip ce serait le top 🙂
peut être ainsi, te fera une copie de sauvegarde à l'ouverture de ton classeur... A voir si j'ai bien compris..
Code:
Option Explicit
Private Sub Workbook_Open()
If Date > Me.BuiltinDocumentProperties("Last save time").Value + 15 Then _
Me.SaveCopyAs "Sauv " & Format(Date, "dd-mm-yyyy")
End Sub
A noter, ce que dit l'aide vba sur la propriété "AlertBeforeOverwriting"...
Cette propriété a la valeur True si Microsoft Excel affiche un message avant de remplacer des cellules contenant des données pendant une modification effectuée à l'aide de la fonction Glisser-déplacer. Type de données Boolean en lecture-écriture.
Pour le planificateur des tâches, c'est un outil qui est intégré à Windows et qui te permet de lancer une application à certaines heures ou certains jours... Donc, selon ta version de windows installé, tu le trouveras surement dans les outils ou sur ta barre des taches. Son utilisation est assez intuitive, fais quelques essais pour lancer à Date/heure dite un fichier.
Pour créerun fichier VBS, le plus simple est d'ouvrir le bloc-notes de windows (NOTEPAD.EXE), d'y inclure le code voulu et de sauvegarder sous l'extension *.VBS au lieu de *.TXT.
Le code sera du type :
VB:
Chemin = "c:\MettreleCheminduFichieràCopier"
'Adapter les valeurs de FichSource et FichDest
FichSource = "FICHIERACOPIER.xls"
FichDest = "COPIE" & year(now) & format(month(now),"mm") & ".xls"
Set objFSO = CreateObject("Scripting.FileSystemObject" )
objFSO.Copyfile Chemin & FichSource, FichDest
Aarf, Softmama, ta réponse me fait penser que j'ai mis l'extension xls dans le code proposé...
Code:
Option Explicit
Private Sub Workbook_Open()
If Date > Me.BuiltinDocumentProperties("Last save time").Value + 15 Then _
Me.SaveCopyAs "Sauv " & Format(Date, "dd-mm-yyyy") & ".xls"
End Sub
hello à tous et encore merci pour vos réponses,
voici donc où j'en suis : j'ai bien réussi à planifier l'ouverture de mon fichier par le plannificateur de tâches windows
ma question desormais est : dois je intégrer le dernier code cité par Pierrot93 dans mon fichier tel qu'il apparait dans sa réponse ou dois je l'adapter ?
désolé pour mon ignorance.... 🙁
le code que j'avais proposé était à utiliser dans le module "thisworkbook" du classeur en question, ne tenait pas du tout compte d'une action via le planificateur de tâche... A noter que ce code fait une copie du fichier en question...
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD