chemein d'enregistrement

P

PY

Guest
Bonsoir a tous

dans private sub workbook before close j'ai mis m'instruction: "activeworkbook.save'

je voudrais aussi sauvegarder le fichier dans un autre endroit par exemple dans c:\mes documents\fichier excel\ comment puis je faire ?

merci
 
@

@+Thierry

Guest
Salut PY, le Forum


Ultra à la bourre !! (je vais être enfermé dans le bureau !! lol)

Essaie comme ceci :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
SauveAs
End Sub

Sub SauveAs()
Dim SauverSous As String
Dim Fichier As String
Dim Chemin As String

Fichier = ThisWorkbook.Name
Chemin = "c:\mes documents\fichier excel\"

SauverSous = Chemin & Fichier

ThisWorkbook.Save
ThisWorkbook.SaveAs SauverSous

End Sub


Bye BYe
@+Thierry
 
M

michel

Guest
Bonsoir PY , Bonsoir @+Thierry

J'ai testé la procédure de Thierry avec succès , sans problème particulier (excel97).
j'ai fait des essais dans plusieurs conditions différentes sans rencontrer de soucis

PY , peux tu donner d'autres infos sur les conditions d'utilisation de tes fichiers ?

par exemple :
le répertoire de ton pc c:\mes documents\fichier excel\ "est il exactement écrit de la meme maniere que dans la procedure vba?

bonne soirée
Michel
 
@

@+Thierry

Guest
Salut PY, Michel

Oui hier soir j'étais à la bourre, mais je viens de tester et çà tourne à condition que, comme te le dit très justement Michel, tu t'assures bien que le Path indiqué dan l'initialisation de la Variable de type String "Chemin" soit bien Exactement celui qui existe sur ton Disque Dûr.

On peut aussi virer le message qui t'alertera si le fichier "Back Up" existe déjà dans le répertoire "Test XLD"...

Voici la Procédure modifiée :


Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
SauveAs
End Sub
Sub SauveAs()
Dim SauverSous As String
Dim Fichier As String
Dim Chemin As String

Fichier = ThisWorkbook.Name
Chemin = "c:\mes documents\Test XLD\"

SauverSous = Chemin & Fichier

ThisWorkbook.Save
Application.DisplayAlerts = False
ThisWorkbook.SaveAs SauverSous
Application.DisplayAlerts = True
End Sub


Sinon, si tu veux avoir un Back Up à chaque fermeture pour avoir un historique alors je te propose ceci :


Sub SauveAs()
Dim SauverSous As String
Dim Fichier As String
Dim Chemin As String
Dim X As Byte

Fichier = ThisWorkbook.Name
Chemin = "c:\mes documents\Test XLD\"

X = Len(Fichier)

SauverSous = Chemin & Left(Fichier, X - 4) & " BackUp " & Format(Now, "YY-MM-DD HH-MM")

ThisWorkbook.Save
ThisWorkbook.SaveAs SauverSous

End Sub



Et donc tu auras, à chaque fermeture, un fichier sauvé avec un nom de la sorte : "TestCloseBackUp 03-07-22 22-41.xls" (je mets en format date US, plus facile pour faire des tris...)

Voilà, ce devrait être bien... Attention donc au Chemin, le répertoire Test XLD ne doit pas exister chez toi........ Chez moi il est au contraire très sollicité !! lol

Bonne Nuit
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 317
Membres
102 862
dernier inscrit
Emma35400