Sauvegarde auto excel 2007

Fermé
tinobambino Messages postés 39 Date d'inscription dimanche 31 juillet 2016 Statut Membre Dernière intervention 11 juin 2017 - Modifié le 2 mai 2017 à 00:19
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 3 mai 2017 à 01:56
Bonjour,

Je souhaite que mon tableur excel se sauvegarde automatiquement toutes les x minutes.
J'ai bien trouvé une option sous excel avec "enregistrer les infos de récup auto toutes les x minutes", mais en dessous j'ai 2 destinations différentes (quelle différence entre les 2?)




J'ai beau modif les destinations, je n'ai pas l'impression que les sauvegardes auto se font, je pense en fait que ce système ne fonctionne QUE s'il y a plantage.
Or moi, je souhaiterais simplement que mon tableur se save toutes les x minutes dans un répertoire souhaité, sans que je n'ai rien à faire, y compris sans plantage.
Est-ce possible? avec des macros éventuellement (j'y connais pas grand chose), les macros peuvent-elles ralentir l'ordi?

Merci pour vos réponses.

A voir également:

4 réponses

The_boss_68 Messages postés 926 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 30 avril 2024 175
2 mai 2017 à 13:07
Bonjour,

tu peux essayer ceux-ci par Alt + F11
code à mettre dans thisworkbook
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.OnTime Now + TimeValue("00:00:30"), "EnregistrerFichier"
End Sub

puis dans un module
code à mettre
Sub EnregistrerFichier()
ActiveWorkbook.Save
End Sub


Slts
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 216
2 mai 2017 à 20:12
Bonjour,

je compléterais la réponse avec dans ThisWorkbook :
Dim t_sav As Date
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnTime t_sav, "EnregistrerFichier", , False
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    t_sav = Now + TimeValue("00:00:30")
    Application.OnTime t_sav, "EnregistrerFichier"
End Sub

pour éviter que le fichier ne se rouvre pour faire l'enregistrement s'il a été fermé.
eric
0
tinobambino Messages postés 39 Date d'inscription dimanche 31 juillet 2016 Statut Membre Dernière intervention 11 juin 2017
2 mai 2017 à 17:30
Salut the boss, merci pour ta réponse...
Je n'y connais vraiment rien aux macros, et j'ai peur de faire des conneries.
Pourrais-tu préciser un peu comment ça fonctionne stp?
0
Raymond PENTIER Messages postés 58414 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 8 mai 2024 17 103
Modifié le 2 mai 2017 à 17:49
Il n'y a que la solution par macro.
C'est donc le moment pour toi de faire une initiation à VBA.
Il y a pour cela une multitude de liens (tutos, forums, faq ...) sur Internet.
En attendant (car ça risque d'être long), tu poses un sablier près de ton ordi et tu sauvegardes chaque fois que les 3 minutes sont passées ...
C'est bien, la retraite ! Surtout aux Antilles ... :-) 
Raymond (INSA, AFPA, CF/R)
0
tinobambino Messages postés 39 Date d'inscription dimanche 31 juillet 2016 Statut Membre Dernière intervention 11 juin 2017
2 mai 2017 à 19:16
Génial, tu m'aides beaucoup, merci Raymond!
0
The_boss_68 Messages postés 926 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 30 avril 2024 175
2 mai 2017 à 21:04
Re tinobambino

Met un fichier anonymisé à la disposition des contributeurs pour la mise en place du code proposé par eriiic, qui de mon avis est plus logique que celui que je t'ai proposé

Slts
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 216
3 mai 2017 à 01:56
La logique est la même, juste ajout du Sub Workbook_BeforeClose :-)
Ne pas oublier de mettre aussi Sub EnregistrerFichier() de the_boss
0