> Tous les forums > Forum Bureautique
 Macro enregistrement fichier ExcelSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Olman
  Posté le 21/09/2017 @ 10:30 
Aller en bas de la page 
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é
Gabrilou
 Posté le 21/09/2017 à 18:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

J'en ai bien une que Galopin avait donné à un moment donné.

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()
Dim NomFichier As String, Chemin1 As String, Chemin2 As String
Chemin1 = "E:\répertoire\Nom du fichier_"
'Chemin2 = "C:\Users\Utilisateur\Répertoire\Nom du fichier_"
'Chemin2 = "E:\z.Svg\Mes documents\SOS\Nom du fichier_"
NomFichier = Format(Now(), "dd mmmm yyyy - hh mm ss")
ActiveWorkbook.SaveAs (Chemin1 & NomFichier)
ActiveWorkbook.SaveAs (Chemin2 & NomFichier)
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Protect ("Mot_de_passe")
Next
ActiveWorkbook.SaveAs (Chemin1 & NomFichier)
End Sub

Olman
 Posté le 21/09/2017 à 19:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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.

ferrand
 Posté le 22/09/2017 à 01:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim chDos$, Fich
Fich = Split(Me.Name, ".")
Fich(UBound(Fich)) = ""
Fich = Join(Fich, ".")
Mid(Fich, Len(Fich), 1) = "_"
Fich = Fich & Format(Now, "yyyymmdd""_""hhmm") & ".xlsm"
chDos = "J:\Sauvegardes Excel\"
Me.SaveCopyAs chDos & Fich
End Sub

Private Sub Workbook_Open()
Me.Saved = True
End Sub

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
Olman
 Posté le 22/09/2017 à 06:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci ferrand

Je teste dans la journée

Gabrilou
 Posté le 22/09/2017 à 16:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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

Olman
 Posté le 22/09/2017 à 22:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Comme Gabrilou je dis merci à Ferrand pour sa macro qui a résolu mes interrogations.

ferrand
 Posté le 23/09/2017 à 00:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Content que cela colle aussi pour toi Gabrilou .

Bonne soirée à tous deux.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
199,99 €Ecran 23,8 pouces Acer Nitro XV240Y (FullHD, IPS, 1 ms, 165 Hz, FreeSync; pied réglable) à 199,99 €
259 € -23%

La Fnac fait une promotion sur l'écran 23,8 pouces Nitro XV240YPbmiiprx qui passe à 199,99 € alors qu'on le trouve ailleurs à partir de 259 €. Cet écran dédié aux joueurs dispose d'une dalle IPS Full HD de 1920x1080 pixels. Grâce à sa compatibilité Freesync et Gsync (165Hz) et son temps de réponse rapide de 1 ms, ce moniteur Acer offre une excellente fluidité d'affichage. Interfaces : 2 x HDMI, DP (1.2), Sortie de ligne audio. Pied ergonomique avec réglage de l'inclinaison, de la hauteur, du panoramique et de la rotation.


Voir l'offre
69,90 €Tablette Graphique Wacom Intuos S sans fil bluetooth à 69,90 €
89,99 € -22%

Amazon fait une vente flash sur la tablette graphique Wacom Intuos S sans fil bluetooth qui passe à 69,90 € livrée gratuitement alors qu'on la trouve ailleurs à partir de 89,99 €. Cette tablette de 7 pouces est idéale pour le dessin débutant.  Elle comprend la technologie de pointe du stylet Wacom et la technologie tactile et un logiciel de création téléchargeable. 


Voir l'offre
14,50 €Sandales Crocs Crocband III Slide à 14,50 €
29,99 € -52%

Amazon fait une promotion sur les sandales Crocs Crocband III Slide à bout ouvert qui passent à 14,50 € au lieu de 29,99 €. Nombreuses tailles disponibles.


Voir l'offre
40,99 €SSD Kingston A400 480 Go à 40,99 €
52,99 € -23%

Amazon fait une promotion sur le SSD Kingston A400 480 Go qui passe à 40,99 € alors qu'on le trouve autour de 52,99 € ailleurs. Il offre des débits de 450 Mo/s en écriture et 500Mo/s en lecture. 


Voir l'offre

Sujets relatifs
Creation d' une boucle macro dans fichier EXCEL pour impression
Macro pour ouverture d'un fichier Excel
(Macro) Copier onglet sur autre fichier Excel (2007)
comment affecter une macro a un fichier excel ?
EXCEL RECHERCHEV pour autre fichier. Macro?
Pb modif et enregistrement fichier excel
Macro VBA à l'ouverture d'un fichier Excel
Fichier EXCEL Endommagé après enregistrement
Excel Enregistrement Macro
RESOLU Macro : Fermeture et Enregistrement Fichier
Plus de sujets relatifs à Macro enregistrement fichier Excel
 > Tous les forums > Forum Bureautique