Sauvegarde d'un tableau en Vba
Bonjour à tous,
une fois de plus je fais appelle à vos connaissances.
Je dispose d'une base de données dans un fichier de travail. Il m'arrive de la modifier. A chaque fois que je fais des modifications, je tiens à faire une sauvegarde sur un fichier externe.
Lorsque je fais cette sauvegarde, le fichier de travail est indisponible pendant un certain temps mais ce temps est à mon goût trop long. Voici, le code qui me permet de faire cette sauvegarde.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Sub Exporter()
' Neutralisation de l'affichage et des alertes
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Ouverture du fichier de sauvegarde
Workbooks.Open Filename:= _
"C:\Sauvegarde.xlsm"
'Activation de la feuille
Sheets("DONNEES").Activate
'Selection et effacement du tableau de sauvegarde
With Sheets("DONNEES").ListObjects("Tableau3")
If .ListRows.Count > 0 Then .DataBodyRange.Delete
End With
Range("A2").Select
'Activation du Gestionnaire
Windows("Gestionnaire.xlsm").Activate
'Selection et copie du tableau à sauvegarder
Application.Goto Reference:="Tab_Donnees"
Selection.Copy
'Activation de la sauvegarde
Windows("Sauvegarde.xlsm").Activate
'Collage du tableau à sauvegarder
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A2").Select
'Sauvegarde du fichier
ActiveWorkbook.Save
ActiveWindow.Close
'Retour sur le fichier de travail
Windows("Gestionnaire.xlsm").Activate
F_Donnees.Activate
Application.CutCopyMode = False
F_Donnees.[A2].Select
F_Travail.Activate
'Activation de l'affichage et des alertes
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub |
Est ce que ce code pourrait être fait différemment? Auriez-vous une idée pour que cela soit fait plus... "rapidement"?
Merci d'avance pour vos réponses.
Bonne journée.