OVH Cloud OVH Cloud

sauvegarde de sécurité dans un répertoire défini. ne fonctionne pas.

7 réponses
Avatar
Michel
Bonsoir à toutes et tous
Je suis en train de faire une sauvegarde
automatique de mon classeur quand je quitte
l'application
et j'ai dirigé cette sauvegarde sur D:\sauvegarde
quand je quitte, cette dernière s'obstine à aller
dans C:\Documents and Settings\michel\Mes
documents mais en portant bien le nom automatique
attribué pour la sauvegarde.
En fait la finalité se serait que la sauvegarde
se fasse sur serveur dans: \\serveur\sauve, mais
je n'arrive pas à diriger non plus la commande
vers ce répertoire.
Où ai je fait l'erreur....? merci de me le dire.

voici une copie du vba créé. (dont le mérite
revient à vos conseils avisés), mais c'est pas
mal pour un début ;-)

Private Sub Workbook_BeforeClose(Cancel As
Boolean)
Application.ScreenUpdating = False
Call ferme ' mot de passe attribué en auto
Sheets("systmo").Activate ' active la feuille et
format sauvegarde du fichier
annee = Format(Year(Range("a2")), "00")
mois = Format(Month(Range("a2")), "00")
jour = Format(Day(Range("a2")), "00")
heur = Format(Hour(Range("B2")), "00")
minut = Format(Minute(Range("B2")), "00")
sec = Format(Second(Range("B2")), "00")
Application.DisplayAlerts = False
ChDir "D:\sauvegarde" ' (je voudrai
\\serveur\sauve à la place)
ActiveWorkbook.SaveAs FileName:=annee & mois &
jour & "_" & heur & minut & sec & "_" &
Range("c2") & ".sav"
Application.DisplayAlerts = True
Application.Quit
End Sub

--
Amicalement
Michel . P

7 réponses

Avatar
Patrick
Bonjour,

Dans la ligne où tu fais la sauvegarde, il faut écrire le nom complet du
fichier, avec le chemin, Comme cela :

ActiveWorkbook.SaveAs FileName:="serveursauve" & annee & ...

Comme cela tu es sûr qu'il sera sauvegardé au bon endroit.

--
Patrick

"Michel" wrote in message
news:
Bonsoir à toutes et tous
Je suis en train de faire une sauvegarde
automatique de mon classeur quand je quitte
l'application
et j'ai dirigé cette sauvegarde sur D:sauvegarde
quand je quitte, cette dernière s'obstine à aller
dans C:Documents and SettingsmichelMes
documents mais en portant bien le nom automatique
attribué pour la sauvegarde.
En fait la finalité se serait que la sauvegarde
se fasse sur serveur dans: serveursauve, mais
je n'arrive pas à diriger non plus la commande
vers ce répertoire.
Où ai je fait l'erreur....? merci de me le dire.

voici une copie du vba créé. (dont le mérite
revient à vos conseils avisés), mais c'est pas
mal pour un début ;-)

Private Sub Workbook_BeforeClose(Cancel As
Boolean)
Application.ScreenUpdating = False
Call ferme ' mot de passe attribué en auto
Sheets("systmo").Activate ' active la feuille et
format sauvegarde du fichier
annee = Format(Year(Range("a2")), "00")
mois = Format(Month(Range("a2")), "00")
jour = Format(Day(Range("a2")), "00")
heur = Format(Hour(Range("B2")), "00")
minut = Format(Minute(Range("B2")), "00")
sec = Format(Second(Range("B2")), "00")
Application.DisplayAlerts = False
ChDir "D:sauvegarde" ' (je voudrai
serveursauve à la place)
ActiveWorkbook.SaveAs FileName:=annee & mois &
jour & "_" & heur & minut & sec & "_" &
Range("c2") & ".sav"
Application.DisplayAlerts = True
Application.Quit
End Sub

--
Amicalement
Michel . P



Avatar
Starwing
Bonjour

bla bla bla ....Range("c2") & ".sav" ?????

bla bla bla ....Range("c2") & ".save"

Starwing

-----Message d'origine-----
Bonsoir à toutes et tous
Je suis en train de faire une sauvegarde
automatique de mon classeur quand je quitte
l'application
et j'ai dirigé cette sauvegarde sur D:sauvegarde
quand je quitte, cette dernière s'obstine à aller
dans C:Documents and SettingsmichelMes
documents mais en portant bien le nom automatique
attribué pour la sauvegarde.
En fait la finalité se serait que la sauvegarde
se fasse sur serveur dans: serveursauve, mais
je n'arrive pas à diriger non plus la commande
vers ce répertoire.
Où ai je fait l'erreur....? merci de me le dire.

voici une copie du vba créé. (dont le mérite
revient à vos conseils avisés), mais c'est pas
mal pour un début ;-)

Private Sub Workbook_BeforeClose(Cancel As
Boolean)
Application.ScreenUpdating = False
Call ferme ' mot de passe attribué en auto
Sheets("systmo").Activate ' active la feuille et
format sauvegarde du fichier
annee = Format(Year(Range("a2")), "00")
mois = Format(Month(Range("a2")), "00")
jour = Format(Day(Range("a2")), "00")
heur = Format(Hour(Range("B2")), "00")
minut = Format(Minute(Range("B2")), "00")
sec = Format(Second(Range("B2")), "00")
Application.DisplayAlerts = False
ChDir "D:sauvegarde" ' (je voudrai
serveursauve à la place)
ActiveWorkbook.SaveAs FileName:=annee & mois &
jour & "_" & heur & minut & sec & "_" &
Range("c2") & ".sav"
Application.DisplayAlerts = True
Application.Quit
End Sub

--
Amicalement
Michel . P

.



Avatar
Michel
Le 04/06/2004, Patrick a supposé :
Bonjour,

Dans la ligne où tu fais la sauvegarde, il faut écrire
le nom complet du fichier, avec le chemin, Comme cela :

ActiveWorkbook.SaveAs FileName:="serveursauve"
& annee & ...

Comme cela tu es sûr qu'il sera sauvegardé au bon
endroit.

--
Patrick

"Michel" wrote
in message
news:
Bonsoir à toutes et tous
Je suis en train de faire une sauvegarde
automatique de mon classeur quand je quitte
l'application
et j'ai dirigé cette sauvegarde sur D:sauvegarde
quand je quitte, cette dernière s'obstine à aller
dans C:Documents and SettingsmichelMes
documents mais en portant bien le nom automatique
attribué pour la sauvegarde.
En fait la finalité se serait que la sauvegarde
se fasse sur serveur dans: serveursauve, mais
je n'arrive pas à diriger non plus la commande
vers ce répertoire.
Où ai je fait l'erreur....? merci de me le dire.

voici une copie du vba créé. (dont le mérite
revient à vos conseils avisés), mais c'est pas
mal pour un début ;-)

Private Sub Workbook_BeforeClose(Cancel As
Boolean)
Application.ScreenUpdating = False
Call ferme ' mot de passe attribué en auto
Sheets("systmo").Activate ' active la feuille et
format sauvegarde du fichier
annee = Format(Year(Range("a2")), "00")
mois = Format(Month(Range("a2")), "00")
jour = Format(Day(Range("a2")), "00")
heur = Format(Hour(Range("B2")), "00")
minut = Format(Minute(Range("B2")), "00")
sec = Format(Second(Range("B2")), "00")
Application.DisplayAlerts = False
ChDir "D:sauvegarde" ' (je voudrai
serveursauve à la place)
ActiveWorkbook.SaveAs FileName:=annee & mois &
jour & "_" & heur & minut & sec & "_" &
Range("c2") & ".sav"
Application.DisplayAlerts = True
Application.Quit
End Sub

--
Amicalement
Michel . P



Désolé, marche pas...??
merci tout de même

--
Amicalement
Michel . P


Avatar
Michel
Starwing a formulé la demande :
Bonjour

bla bla bla ....Range("c2") & ".sav" ?????

bla bla bla ....Range("c2") & ".save"

Starwing

-----Message d'origine-----
Bonsoir à toutes et tous
Je suis en train de faire une sauvegarde
automatique de mon classeur quand je quitte
l'application
et j'ai dirigé cette sauvegarde sur D:sauvegarde
quand je quitte, cette dernière s'obstine à aller
dans C:Documents and SettingsmichelMes
documents mais en portant bien le nom automatique
attribué pour la sauvegarde.
En fait la finalité se serait que la sauvegarde
se fasse sur serveur dans: serveursauve, mais
je n'arrive pas à diriger non plus la commande
vers ce répertoire.
Où ai je fait l'erreur....? merci de me le dire.

voici une copie du vba créé. (dont le mérite
revient à vos conseils avisés), mais c'est pas
mal pour un début ;-)

Private Sub Workbook_BeforeClose(Cancel As
Boolean)
Application.ScreenUpdating = False
Call ferme ' mot de passe attribué en auto
Sheets("systmo").Activate ' active la feuille et
format sauvegarde du fichier
annee = Format(Year(Range("a2")), "00")
mois = Format(Month(Range("a2")), "00")
jour = Format(Day(Range("a2")), "00")
heur = Format(Hour(Range("B2")), "00")
minut = Format(Minute(Range("B2")), "00")
sec = Format(Second(Range("B2")), "00")
Application.DisplayAlerts = False
ChDir "D:sauvegarde" ' (je voudrai
serveursauve à la place)
ActiveWorkbook.SaveAs FileName:=annee & mois &
jour & "_" & heur & minut & sec & "_" &
Range("c2") & ".sav"
Application.DisplayAlerts = True
Application.Quit
End Sub

--
Amicalement
Michel . P

.
Bonsoir Starwing


bla bla bla ....Range("c2") & ".sav" où sav est
l'extension de mon fichier de sauvegarde à la
place de xls. et range("C2") récupére le nom de
l'utilisateur.

--
Amicalement
Michel . P


Avatar
FxM
Bonsoir,

Essaie avec un chdrive "D" avant le chdir(...)

@+
FxM



Bonsoir à toutes et tous
Je suis en train de faire une sauvegarde automatique de mon classeur
quand je quitte l'application
et j'ai dirigé cette sauvegarde sur D:sauvegarde quand je quitte, cette
dernière s'obstine à aller
dans C:Documents and SettingsmichelMes documents mais en portant bien
le nom automatique
attribué pour la sauvegarde.
En fait la finalité se serait que la sauvegarde se fasse sur serveur
dans: serveursauve, mais je n'arrive pas à diriger non plus la
commande vers ce répertoire.
Où ai je fait l'erreur....? merci de me le dire.

voici une copie du vba créé. (dont le mérite revient à vos conseils
avisés), mais c'est pas mal pour un début ;-)

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Call ferme ' mot de passe attribué en auto
Sheets("systmo").Activate ' active la feuille et format sauvegarde du
fichier
annee = Format(Year(Range("a2")), "00")
mois = Format(Month(Range("a2")), "00")
jour = Format(Day(Range("a2")), "00")
heur = Format(Hour(Range("B2")), "00")
minut = Format(Minute(Range("B2")), "00")
sec = Format(Second(Range("B2")), "00")
Application.DisplayAlerts = False
ChDir "D:sauvegarde" ' (je voudrai serveursauve à la
place)
ActiveWorkbook.SaveAs FileName:=annee & mois & jour & "_" & heur & minut
& sec & "_" & Range("c2") & ".sav"
Application.DisplayAlerts = True
Application.Quit
End Sub



Avatar
michdenis
Bonjour Michel,

Un truc que je n'ai jamais essayé faute d'avoir un environnement propice...

Populariser ici même par Frédéric Sigonnneau


'Dans le haut d'un module standard , déclaration de l'api

Private Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long

'--------------------------
Sub ChDirNet(szPath As String)
'collectif, d'après Laurent Longre, mpep
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError + 1, "Error setting path."
End Sub
'--------------------------


'Example of usage
'--------------------------
Sub GetFile()
On Error GoTo ErrHandler

' le début de ta procédure



'Pour modifier le répertoire racine sur un réseau
ChDirNet "serveursauve"
'Sauvegarde
ActiveWorkbook.SaveAs FileName:=annee & mois & jour & "_" & heur & minut & sec & "_" & Range("c2") & ".sav"

'le reste de ta macro

Exit Sub
ErrHandler:
MsgBox "Couldn't set path"
End Sub
'--------------------------------



Salutations!



"Michel" a écrit dans le message de news:
Bonsoir à toutes et tous
Je suis en train de faire une sauvegarde
automatique de mon classeur quand je quitte
l'application
et j'ai dirigé cette sauvegarde sur D:sauvegarde
quand je quitte, cette dernière s'obstine à aller
dans C:Documents and SettingsmichelMes
documents mais en portant bien le nom automatique
attribué pour la sauvegarde.
En fait la finalité se serait que la sauvegarde
se fasse sur serveur dans: serveursauve, mais
je n'arrive pas à diriger non plus la commande
vers ce répertoire.
Où ai je fait l'erreur....? merci de me le dire.

voici une copie du vba créé. (dont le mérite
revient à vos conseils avisés), mais c'est pas
mal pour un début ;-)

Private Sub Workbook_BeforeClose(Cancel As
Boolean)
Application.ScreenUpdating = False
Call ferme ' mot de passe attribué en auto
Sheets("systmo").Activate ' active la feuille et
format sauvegarde du fichier
annee = Format(Year(Range("a2")), "00")
mois = Format(Month(Range("a2")), "00")
jour = Format(Day(Range("a2")), "00")
heur = Format(Hour(Range("B2")), "00")
minut = Format(Minute(Range("B2")), "00")
sec = Format(Second(Range("B2")), "00")
Application.DisplayAlerts = False
ChDir "D:sauvegarde" ' (je voudrai
serveursauve à la place)
ActiveWorkbook.SaveAs FileName:=annee & mois &
jour & "_" & heur & minut & sec & "_" &
Range("c2") & ".sav"
Application.DisplayAlerts = True
Application.Quit
End Sub

--
Amicalement
Michel . P
Avatar
Michel
Bonsoir,

Essaie avec un chdrive "D" avant le chdir(...)

@+
FxM


Grand Merci à tous
le Chdrive "D" de FxM fonctionne à merveille et
cela me convient parfaitement.
pour ce qui est de la réponse de Michdenis, je
l'a garde sous le coude pour la tester
calmement pas à pas (j'ai pas tout compris)

bon week end à tous.

--
Amicalement
Michel . P