Automatiser les processus de sauvegarde des données, Excel VBA

Le code permet de sauvegarder les données d’un fichier Excel à un emplacement spécifié, avec la possibilité de créer des versions de sauvegarde en utilisant des horodatages pour éviter l’écrasement des fichiers précédents.

Objectifs :

. Sauvegarder le fichier Excel actuel dans un emplacement spécifié.

. Nommer le fichier de sauvegarde avec la date et l’heure actuelles.

. Ajouter une vérification pour s’assurer que le fichier existe déjà et gérer les versions.

Étapes :

  1. Créer une macro pour sauvegarder le fichier Excel.
  2. Inclure la gestion des erreurs pour s’assurer que la sauvegarde fonctionne correctement.
  3. Utiliser des horodatages dans le nom du fichier pour éviter les conflits.

Code VBA :

Sub SauvegarderFichier()
    Dim ws As Worksheet
    Dim cheminSauvegarde As String
    Dim nomFichier As String
    Dim dateHeure As String
    Dim cheminComplet As String
    Dim cheminDossier As String
    Dim extensionFichier As String
    ' Spécifiez ici le chemin du dossier de sauvegarde
    cheminDossier = "C:\Users\NomUtilisateur\Documents\Sauvegardes\"
    ' Vérifiez si le dossier existe, sinon créez-le
    If Dir(cheminDossier, vbDirectory) = "" Then
        MkDir cheminDossier
    End If
    ' Récupérer le nom du fichier actuel sans l'extension
    nomFichier = ThisWorkbook.Name
    extensionFichier = ".xlsx" ' Extension du fichier Excel (à ajuster si nécessaire)
    ' Créer un horodatage unique pour éviter l'écrasement
    dateHeure = Format(Now, "yyyy-mm-dd_hh-mm-ss")
    ' Créer le chemin complet pour la sauvegarde
    cheminComplet = cheminDossier & "Sauvegarde_" & Left(nomFichier, Len(nomFichier) - Len(extensionFichier)) & "_" & dateHeure & extensionFichier
    ' Effectuer la sauvegarde
    On Error GoTo ErreurSauvegarde
    ThisWorkbook.SaveCopyAs cheminComplet
    ' Confirmer la sauvegarde
    MsgBox "Sauvegarde réussie ! Le fichier a été sauvegardé sous : " & vbCrLf & cheminComplet, vbInformation, "Sauvegarde Terminée"
    Exit Sub
ErreurSauvegarde:
    ' En cas d'erreur lors de la sauvegarde
    MsgBox "Une erreur est survenue lors de la sauvegarde. Veuillez vérifier le chemin de destination ou les autorisations.", vbCritical, "Erreur"
End Sub

Explications détaillées :

  1. Déclaration des variables :
    • cheminDossier: Le chemin où vous souhaitez sauvegarder les fichiers. Vous devez spécifier ce dossier sur votre ordinateur (par exemple, « C:\Users\NomUtilisateur\Documents\Sauvegardes »).
    • nomFichier: Le nom du fichier Excel actuel.
    • dateHeure: Le horodatage actuel au format yyyy-mm-dd_hh-mm-ss qui est utilisé pour différencier les versions de sauvegarde.
    • cheminComplet: Le chemin complet du fichier de sauvegarde avec le nom unique incluant la date et l’heure.
    • extensionFichier: L’extension du fichier Excel (généralement .xlsx, mais à ajuster si vous utilisez un autre format comme .xlsm).
  2. Création du dossier de sauvegarde (si nécessaire) :
    • Si le dossier spécifié dans cheminDossier n’existe pas, il sera créé automatiquement grâce à la commande MkDir.
  3. Génération du nom du fichier de sauvegarde :
    • Le nom du fichier de sauvegarde est créé en prenant le nom du fichier original (sans l’extension), puis en ajoutant un horodatage précis, ce qui garantit l’unicité de chaque sauvegarde.
  4. Sauvegarde proprement dite :
    • La méthode SaveCopyAs est utilisée pour créer une copie du fichier Excel actuel sous le nom et l’emplacement spécifiés dans cheminComplet.
    • Si la sauvegarde est réussie, une boîte de message s’affiche pour informer l’utilisateur que la sauvegarde a été effectuée avec succès.
  5. Gestion des erreurs :
    • Si une erreur survient lors de la sauvegarde (par exemple, si le dossier de destination est inaccessible), un message d’erreur est affiché pour en informer l’utilisateur.

Conseils pour personnaliser et améliorer :

  • Planification automatique : Vous pouvez lier cette macro à un événement spécifique dans Excel, comme un bouton ou un intervalle de temps via le planificateur Windows ou VBA, pour automatiser la sauvegarde à des moments réguliers.
  • Sauvegarde dans le cloud : Si vous utilisez un service de stockage cloud comme OneDrive ou Google Drive, vous pouvez modifier cheminDossier pour enregistrer directement dans le cloud.
  • Gestion des erreurs avancée : Vous pouvez ajouter plus de gestion d’erreurs pour vérifier l’intégrité du fichier ou la disponibilité du disque.

Automatisation de la sauvegarde via un bouton :

Si vous souhaitez que la sauvegarde soit effectuée en un clic, vous pouvez ajouter un bouton dans votre feuille Excel et lier ce bouton à la macro. Voici comment faire :

  1. Allez dans l’onglet Développeur.
  2. Cliquez sur Insérer et choisissez un bouton (forme de bouton).
  3. Dessinez le bouton sur votre feuille.
  4. Une fois le bouton placé, une fenêtre apparaîtra pour lier la macro. Sélectionnez SauvegarderFichier.
  5. Cliquez sur OK.

Maintenant, chaque fois que vous cliquez sur ce bouton, la sauvegarde sera effectuée automatiquement avec un nom unique.

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x