Sauvegarde automatique dossier excel

Fermé
kumpb Messages postés 70 Date d'inscription lundi 19 septembre 2005 Statut Membre Dernière intervention 1 novembre 2016 - 17 août 2009 à 11:37
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 18 août 2009 à 12:20
Bonjour,

J'aimerai sauvegarder automatiquement un classeur excel dans un dossier nommé " sauvegarde" lors de chaque ouverture de ce classeur.

Faut il faire cette commande en vba ou bien avec une macro simple?

merci de vos conseils
A voir également:

9 réponses

Bonjour,

Il faut faire cette macro en vba.

tu la nommes :
sub auto_open ()

ActiveWorkbook.SaveAs Filename:= "C:\Documents and Settings\klm32349\Desktop\WSPG Jeroen\sauvegarde\NOM_MACRO.xls"

end sub
1
kumpb Messages postés 70 Date d'inscription lundi 19 septembre 2005 Statut Membre Dernière intervention 1 novembre 2016
18 août 2009 à 10:47
merci pour ta réponse....

une petite précision........ dois je faire une macro sur une des pages de mon fichier?
quel est le contenu de ce que tu appelles NOM_MACRO.xls?
quelle est la signification de klm32349\Desktop\WSPG Jeroen?

a+
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
18 août 2009 à 10:55
Bonjour,

Il faut ouvrir l'éditeur VB (Ctrl +F11). Ensuite double clique sur "ThisWorkbook" (pavé du haut à gauche). En haut tu cliques sur "(Général)" puis sur "Workbook", tu vas voir apparaitre ça:

Private Sub Workbook_Open()

End Sub


Copie/colle ça entre "Private Sub Workbook_Open()" et "End Sub" :

ThisWorkbook.SaveAs Filename:= "C:\monrepertoire\Sauvegarde.xls" 'Remplace "C:\monrepertoire" par le chemin du répertoire où tu veux faire ta sauvegarde.

Bon courage.

;o)
0
kumpb Messages postés 70 Date d'inscription lundi 19 septembre 2005 Statut Membre Dernière intervention 1 novembre 2016
18 août 2009 à 11:43
Ta solution marche parfaitement......

Pour developper ta solution, pourrais tu me dire comment faire pour que chaque nouvelle sauvegarde ai a son nom la date du jour ( genre fichier17/08/2009 )

merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
18 août 2009 à 11:46
En faisant comme ça :

Private Sub Workbook_Open()

   Application.DisplayAlerts = False   'Désactive les alertes Excel

   ThisWorkbook.SaveAs Filename:= "C:\monrepertoire\Sauvegarde.xls" 'Remplace "C:\monrepertoire" par le chemin du répertoire où tu veux faire ta sauvegarde. 

   Application.DisplayAlerts = True    'Active les alertes Excel
   
End Sub


;o)
0
kumpb Messages postés 70 Date d'inscription lundi 19 septembre 2005 Statut Membre Dernière intervention 1 novembre 2016
18 août 2009 à 11:53
genial...... serai ce abuser de te demander si l'on peut ajouter au nom de fichier la date du jour?
genre fichier17/08/2009.xls
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
18 août 2009 à 12:00
Non c'est pas abusé ^^

Private Sub Workbook_Open()
Dim mDate As String

    mDate = Date

    'les noms de fichier ne peuvent pas contenir de caractères spéciaux
    'On remplace le "/" par rien !!! ex 18/08/2009 devient 18082009
    mDate = Replace(mDate, "/", "")  

   Application.DisplayAlerts = False   'Désactive les alertes Excel

   ThisWorkbook.SaveAs Filename:= "C:\monrepertoire\Sauvegarde" & mDate & ".xls" 

   Application.DisplayAlerts = True    'Active les alertes Excel
   
End Sub


Voili voilou

;o)
0
kumpb Messages postés 70 Date d'inscription lundi 19 septembre 2005 Statut Membre Dernière intervention 1 novembre 2016
18 août 2009 à 12:02
il ne me reste qu'a te remercier pour ta gentillesse et ta disponiblité

a+
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
18 août 2009 à 12:20
De rien,

Bon courage pour la suite

;o)
0