| ||||||||
Petit astucien ![]() | Bonjour,
Pour Word, j’avais "pompé et bricolé" une macro me permettant de sauvegarder avec datation les docs Word dans un dossier particulier après chaque intervention (avec ou sans modif).
La macro :
Dim strFichierA, strFichierB, strFichierC, strFichierD, strFichierE, strFichierF, strFichierG, strDate, strTime
ActiveDocument.Save
strFichierA = ActiveDocument.Name
strFichierB = ActiveDocument.FullName
strDate = "_" & Format(Date, "yyyymmdd")
strTime = "_" & Format(Time, "hhmm")
' Trouve la position de l'extension
intPos = InStrRev(strFichierA, ".")
' Recherche extension
strFichierD = Mid(strFichierA, intPos, 5)
' Datation du fichier
strFichierE = Left(strFichierA, intPos - 1)
strFichierF = strFichierE & strDate & strTime
strFichierG = strFichierF & strFichierD
' Emplacement de la sauvegarde
strFichierC = "J:\Sauvegardes Word\" & strFichierG
' Sauvegarde
ActiveDocument.SaveAs FileName:=strFichierC
ActiveDocument.SaveAs FileName:=strFichierB
Je voudrais faire la même chose pour Excel mais mon incompétence m’a très vite rappelé mes limites.
Je fais donc appel à l’expérience des spécialistes pour me sortir de l’embarras.
Tant qu’on y est est-il possible de limiter la sauvegarde uniquement lors d’une modification effective du document (Word et Excel) et non pas à son ouverture pour une simple consultation.
Je suis sous Seven 32 bits et Office 2007
Merci par avance.
| |||||||
Publicité | ||||||||
| ||||||||
Astucienne ![]() |
Elle n'est plus tout-à-fait conforme, je l'ai un peu modifiée (pour 3 sauvegardes différentes) mais je la trouve imparfaite pour mon usage. Sub Sauve()
| |||||||
Petit astucien ![]() | Merci Gabrilou
Je regarderai demain si ça peut me convenir, mais à priori d'un premier coup d’œil ça doit me convenir (moyennant peut-être quelques adaptations)
Encore merci. | |||||||
![]() ![]() | Bonsoir, Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Private Sub Workbook_Open() La procédure _Open évite que des modifications lors de l'ouverture provoquent la demande d'enregistrement si l'on ferme sans avoir rien fait. La procédure _BeforeSave intervient lors de l'enregistrement pour effectuer une copie de sauvegarde datée. La copie faite, l'enregistrement normal se poursuit... Ajuster le chemin du dossier d'enregistrement de la copie. NB- Version simple : on peut le cas échéant enregistrer la copie en xlsx, sans les macros... Cordialement. Modifié par ferrand le 22/09/2017 01:15 | |||||||
Petit astucien ![]() | Merci ferrand Je teste dans la journée | |||||||
Astucienne ![]() | Olman, Ferrand
Merci Ferrand. Je vais abandonner ma macro. La tienne corrige les imperfections de celle que je pensais pouvoir bricoler.
Bonne journée
| |||||||
Petit astucien ![]() | Comme Gabrilou je dis merci à Ferrand pour sa macro qui a résolu mes interrogations. | |||||||
![]() ![]() | Content que cela colle aussi pour toi Gabrilou Bonne soirée à tous deux. | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||
|