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 :
- Créer une macro pour sauvegarder le fichier Excel.
- Inclure la gestion des erreurs pour s’assurer que la sauvegarde fonctionne correctement.
- 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 :
- 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).
- 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.
- 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.
- 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.
- 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 :
- Allez dans l’onglet Développeur.
- Cliquez sur Insérer et choisissez un bouton (forme de bouton).
- Dessinez le bouton sur votre feuille.
- Une fois le bouton placé, une fenêtre apparaîtra pour lier la macro. Sélectionnez SauvegarderFichier.
- Cliquez sur OK.
Maintenant, chaque fois que vous cliquez sur ce bouton, la sauvegarde sera effectuée automatiquement avec un nom unique.