enregistrement fichier

eutrophisation

XLDnaute Occasionnel
Bonjour
Je reitère mon post et je tiens à m'excuser auprès de tout le monde.
Veuillez bien me completer le code ci joint qui a pour objectif d'enregistrer mon fichier dans son dossier et en meme temps dans le disque local (D) et dès son ouverture le fichier s'ouvre sur la feuille (menu) puisque mon fichier est constitué de plusieurs feuilles.
Ma preéoccupation est de garder les fonctions ci dessus et les completer aussi pour que le fichier s'enregistre automatiquement toutes les 5 minutes dans son dossier et remplacer le fichier au niveau du disque local (D).

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'** < GénérerSauvegarde >
Dim Nom As String, HoroDate As String, SauveSous As String
Dim Chemin As String

'Va chercher dans la feuille réglage le chemin de sauvegarde
Chemin = "d:\"
On Error GoTo sort
'Récupére le nom de la sauvegarde en C1 et enlève .xls si présent
Nom = Mid(ActiveWorkbook.Name, 1, InStr(1, ActiveWorkbook.Name & ".", ".") - 1)

'Assemblage final du chemin + nomFichier + utilisateur + ".xls"
SauveSous = Chemin & Nom & "_" & Environ("USERNAME") & ".xls"
'Suppression du fichier précédent
If Dir(Chemin & Nom & "*.xls") <> "" Then Kill Chemin & Nom & "*.xls"
'Génération de la copie de sauvegarde
Workbooks(ActiveWorkbook.Name).SaveCopyAs Filename:=SauveSous
sort:
End Sub

Private Sub Workbook_Open()
'Prise de main à l'ouverture du fichier
Worksheets("Menu").Activate
End Sub

Merci de votre précieuse collaboration.
 

Gorfael

XLDnaute Barbatruc
Re : enregistrement fichier

Salut eutrophisation et le forum
Je reitère mon post et je tiens à m'excuser auprès de tout le monde.
S'excuser ? faudrait dire pourquoi. Perso, je m'excuse (rarement :D) sur le lieu de "l'offense", et pas ailleurs.

Réitérer un sujet, semble dire que tu en as un, qui est tombé dans l'oubli.
Si c'est https://www.excel-downloads.com/threads/enregistrement.151717/
Ce n'est pas en remettant le même texte que tu auras plus de réponses.
Réfléchis, plutôt, à comment faire que le sujet intéresse le plus de monde possible :
- un titre plus en rapport avec ta problématique.
Par exemple : Enregistrement automatique toutes les 5 minutes
- évite d'avoir un poste aussi "imbuvable" : utilise les balises pour ton code (#). Quand je regarde ton poste, j'ai du mal à savoir ce que tu as comme problème : comme le texte est noyé dans le code, je regarde le code, et comme je n'y vois pas d'erreur au premier abord, je vais chercher un un autre sujet plus "facile/compréhensible" pour moi.

Comme je n'aime pas travailler avec OnTime (je n'ai toujours pas trouvé comment l'arrêter sans erreur), je te conseille de regarder l'aide à : OnTime, méthode

Il faut que tu transformes ton code en macro Sub, et que tu l'appelle, soit avec OnTime, soit avec BeforeClose (voir l'aide de Call)

OnTime doit être lancé à l'ouverture, et arrêter à la fermeture du fichier. Si tu ne l'arrêtes pas, seul le redémarrage de windows le fera.

Pour empêcher le message d'erreur, j'utilise
Code:
Application.DisplayAlerts = False
'arret de OnTime
Application.DisplayAlerts = True
Mais, ça ne résoud pas l'erreur, ça la cache.
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 970
Messages
2 094 044
Membres
105 926
dernier inscrit
Odyssea