Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 
P

PY

Guest
c'est encore moi

lorsque j'éxécute la macro ci dessus excel me répond que le fichier est en cours d'utilisation ou qu'il n'existe pas et me propose fin ou débogage.

que faire ?

PY
 
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…