VBA Excel - Comment réaliser une copie de Sauvegarde automatique de votre Classeur
HTML-код
- Опубликовано: 1 фев 2025
- ********************************************************************
Afin d'accéder à certains fichiers sources, veuillez cliquer sur le lien Ci-dessous :
learnaccess.kn...
********************************************************************
Bonjour,
Cette vidéo pour vous montrer comment réaliser une sauvegarde automatique d'un classeur dans un dossier spécifique.
*****************************************************************
'Procédure permettant de réaliser un fichier de sauvegarde
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Déclaration des variables
Dim NomDossier As String
Dim NomFichier As String
'Affectation des variables
NomDossier = "D:\Mes Documents\"
'Désactiver les messages d'alertes
Application.DisplayAlerts = False
'On créé le nom du fichier de sauvegarde (Date + Nom)
NomFichier = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & "SuiviAbsence.xlsm"
'On sauvegarde le fichier de backup
ActiveWorkbook.SaveCopyAs NomDossier & NomFichier
'On affiche un message de confirmation
MsgBox "Votre fichier de sauvegarde intitulé : " & NomFichier & vbNewLine & _
"dans le dossier suivant : " & NomDossier, vbOKOnly + vbInformation, "CONFIRMATION"
'On quitte Excel
'Application.Quit
End Sub
*****************************************************************
================================================
Consulter ma Boutique en ligne :
learnaccess.kn...
================================================
Bon visionnage.
******************************************************
Mon catalogue des produits :
learnaccess.kn...
Accompagnement personnel et professionnel :
www.evolussenc...
****************************************************** *********************************************************************************************************
Utiliser mon lien de parrainage pour acheter un produit Tesla et obtenir des crédits gratuits :
kilomètres gratuits en Superchargeur
des vêtements et accessoires.
ts.la/jeanpaul...
*************************************************************************************************************
Merci d'avoir pris le temps de faire cette vidéo, vos explications sont limpides et répondent exactement à mon besoin. Vraiment Top
Toujours très instructif, bien pour sauvegarder sur une clé USB à la demande.
Bonjour,
Un grand merci pour tous ces tutos qui sont vraiment très intéressants et vos explications très claires.
Bonjour Paul je viens de visionner ton tuto, les explications sont super claires merci pour cette formation
Bravo Jean Paul, vous etes toujours aussi pédagogue. C'est un plaisir d'apprendre le VBA avec vous. Continuez c'est super.
très intéressent !!! L'année commence avec de très belles vidéos! merci pour tous!
Merci,
Je suis sur Excel 2010 et pas de possibilité de passer sur Access.
je continue a travailler et me former avec les tutoriels de ta chaine.
cordialement
Bonjour Jean Paul,
Super Tuto encore une fois merci pour la clarté des explications.
Au passage bonne et heureuse année 2018 et encore plus de tutos de votre part.
Merci de voir les liens pour avoir accès au fichiers sources, j'ai constaté depuis un certain temps que vos liens renvoient systématiquement à l'accueil de votre boutique et non sur le fichier en question lui-même.
Bonjour et bonne année a vous. J'ai découvert votre chaîne par hasard puisque j'avais besoin dans le cadre de mon cours de VBA de savoir créer un petit agenda widget. Et je vous remercie votre chaîne est super bien faite un grand merci à vous. Organisée vous des cours formations ou autres ? Livres,etc... ? Tout est castré dans vos chaînes et très propre. Continuez comme ça. BRAVO !!!
Merci pour avoir fait de moi un developpeur respecté dans mon entreprise parti de rien
Bonne année 2018 et merci pour ce contenu toujours clair et expliqué en détail. Très utile.
merci
toujours aussi clair. Bonne continuation
Super..........merci de cette réalisation
Merci Jean Paul pour ce Code
merci beaucoup
merci c'est très clair
Bonjour,c est très éducatif ...merci bien....sauf qu on ne peut sauvegarder le fichier 2 fois le même jour, il faut ajouter "now" au lieu la date du jour.
Merci pour la réponse,
En deux mots, mon projet est de réaliser une base de données RH qui doit être partagées par plusieurs personnes.
La base se trouve sur le réseau et chaque traitant doit pouvoir extraire les données qui porte son nom, sur un autre classeur. De la y a porter des modifications, les résultats de l'extraction servent à des TDB mis à jour avec des TCD. (%-rang ......) et retour sur dans la source.
Les données sont saisies par des formulaires (VBA) ce qui complique le partage de la source sous Excel. La base doit recevoir entre 10 et 15 milles ligne.
merci pour votre investissement.
cordialement
Bonsoir Ines,
Pas simple ce que vous souhaitez faire
Pour moi, le VBA peut être une solution, mais soit il faut passer sur :
- Access (Base de données)
- PowerQuery (BI Microsoft)
Super JP
Bonjour,
Un grand merci pour tous ces tutos qui sont vraiment très intéressants et vos explications très claires. Pourriez-vous me dire la procédure pour faire apparaître la date comme sur le tableau de bord de cette vidéo svp ? J'ai réussi suite au visionnage de la vidéo "Comment créer un mini agenda sous la forme d'un Widget" mais cela me fait inscrire la date " de base " dans une cellule et cela ne fait pas très joli sur mon tableau de bord sauf si, bien sur, je mets la police de la même couleur que le fond. Existe-t-il un code VBA pour cela ? A insérer dans le workbook ou sur la feuille qui m’intéresse ?
En vous remerciant,
POur insérer votre date :
vous taper la formule suivante dans une cellule :
="Nous sommes aujourd'hui le " & texte(aujourdhui(), "jjjj jj mmmm aaaa")
voilà
Learnaccess Un grand merci à vous. Bon WE.
Bonjour,
J'ai voulu adapter cet exemple, en rajoutant un numéro généré par une InputBox; mais impossible de récupérer le chiffre enregistré!
pourriez vous faire un exemple avec cette variante.
Je génère bien un chiffre qui s'inscrit bien dans la cellule choisi; Que ce soit avec l'adresse de la cellule ou son nom; rien ne marche?
Merci d'avance
merci beaucoup :)
Salut Jean-Paul et une merveilleuse année 2018 à vous et votre famille. Juste une petite question, que doit on ajouter à votre code pour que chaque sauvegarde soit incrémenté d'un chiffre, car votre code donne le nom du fichier et la date du jour, mais si j'ouvre plusieurs fois par jour mon fichier pour lui ajouter des données, à chaque fermeture il me demande si je veux écraser (modifier) mon Backup existant vu que je suis toujours sur la même date.
En fait, il me vient une seconde question au sujet de la date. Pour l'instant la date s'écrit le 1-8-2018 j'aimerais qu'il s'écrive au format dd,mm,yyyy donc 08-01-2018. Pardonnez-moi si mes questions vous semblent stupides, mais comme beaucoup, je débute en VBA, donc si vous pouviez m'éclairer sur ces points, ce serait fortement apprécié. Quoiqu'il en soit, c'est un excellent tuto, comme tous les autres. Mille merci de partager vos connaissances avec nous.
bonjour je ne trouve pas la solution merci quand meme .
bonne fin de journée
quand je fait un copier colé de votre modele ca fonction et une fois que j'ajoute now ca fonctionne plu
bonjour,
encore merci pour les tutoriels,
une question:
je cherche a partir d'une base de données sur un classeur A, y extraire des données (exemple 10 lignes sur les 100 lignes de la base) dans un classeur B, y faire des mises a jour et renvoyer, les 10 lignes dans la source A avec les mise a jours.
encore merci
Cela est possible, mais le code sera long et compliqué car dès que l'on manipule des classeurs, il faudra les ouvrir à chaque utilisation.
Le plus simple aurait été de tout mettre dans un seul.
Bonjour Jean Paul, voilà je voudrais savoir si c'est possible de faire des enregistrements de dossier est garder les encient dossier que on enregistre durant la journée sur le même dossier
Si la question est de savoir s’il est possible de sauvegarder régulièrement un classeur dans un dossier (par exemple toutes les heures) en gardant la chaque fois un nouveau classeur.
Oui , c’est possible avec de la macro et du code.
@@Learnaccess oui je recherche sa est aussi pour le format PDF
merci
SVP est ce que vous pouvez mettre le code à disposition ? et merci bien pour la video
Bonjour, votre tutos m'a aidée bcp mais j'ai un petit problème. Le résultat de l'enregistrement n'est pas excel, c'est une sorte de bloc note. Vous pourriez m'aider?
Vérifiez la syntaxe de votre code
Il faut mettre le bon format de fichier
@@Learnaccess Parfait. Merci beaucoup
Ca. Marche mais je peux pas enregistrées plus que 1 par jour
bonjour comment ajouté heures et minutes dans la sauvegardes a la suite de la date
Utilisez la fonction Now() au lieu de Date()
Bonjour,
lorsque je clique sur le bouton créé, il m'affiche une erreur d'éxécution 1004 " désolé....nous ne trouvons pas le chemin du dossier C:\.... peut être déplacé, supprimé?"
pourriez vous m'aider svp?
Vous avez changé le dans le code VBA, le chemin par défaut ?
@@Learnaccess j'avais fais une erreur d'orthographe sur le "Nomfichier". Maintenant cest résolu. Par contre je n'ai pas encore résolu mon objectif de ce bouton. J'aimerais que le nom de mon fichier corresponde à des cellules remplies (nom de la personne qui edit le document et au nom d'un client..) et le sauvegarder en PDF. Je ne sais pas si vous pouvez m'aider ?
@@youssefelbehraoui2803
Bonjour,
Il suffira de sauvegarder le nom de votre cellule dans une variable pour la mettre dans le nom de votre fichier.
@@Learnaccess Bonjour,
Super merci! j'ai réussi à le faire. Je vous cache pas c'est ma première fois et surement pas la bonne méthode que j'utilise. Ci dessous ma macro si elle est correcte:
'Affectation des variables
NomDossier = ThisWorkbook.Path & "\"
'On créé le nom du fichier de sauvegarde (Date + Nom)
NomFichier = Year(Date) & "-" & Month(Date) & "-" & Day(Date) & "_" & Range("B85") & "_" & Range("B88") & "_" & "CommissioningReport"
'Enregistrement au format PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomDossier & NomFichier & ".pdf", quality:=xlQualityStandard, includedocproperties:=False, ignoreprintareas:=True, openafterpublish:=True
'ActiveWorkbook.SaveCopyAs NomDossier & NomFichier
'On affiche un message de confirmation
MsgBox "Votre fichier de sauvegarde intitulé : " & NomFichier & vbNewLine & _
"dans le dossier suivant : " & NomDossier, vbOKOnly + vbInformation, "CONFIRMATION"
'On quitte Excel
Application.Quit
End Sub
j'aurais encore besoin de votre aide si possible svp, en sauvegardant mon fichier en pdf, mon en tête en première page où j'ai ajouter le nom du fichier ne se met pas à jour (il garde le même nom que mon fichier excel macro) mais en sauvegardant en .xlsm l'en tête se met à jour... Une idée?
Et si possible pour finaliser ma macro de faire disparaître mon bouton (Bouton macro auto pour sauvegarder et enregistrer en pdf) lorsque j'enregistre mon document en pdf?
@@youssefelbehraoui2803
quand vous parlez d'ne-tete de première page, vous parlez de quoi ?????
bonjour, comment ajouté l'heure en plus de la date ?
Il faut rajouter ou utiliser la fonction Maintenant() en français ou Now() en anglais
La vous aurez la date et l'heure
'on cree le nom du fichier de sauvegardes dates + nom
NomFichier = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "-" & "congelateur1.xlsm" voila mon vba je voudrai ajouter les heures a cette fontion ?
Pour moi je ferais
Nomfichier = Format(Now(), ‘’dd-mm-yy-hhmmss’´)& ‘´congélateur.xlsm’´
bonjour ca ne fonctionne pas voila ce que j'ai inscrit
'declaration des variables
Dim NomDossier As String
Dim NomFichier As String
'Affectation des variables
NomDossier = "Z:\doccumentsauvegarde\"
'desactive messages d'alertes
Application.DisplayAlerts = False
'on cree le nom du fichier de sauvegardes dates + nom
NomFichier = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "-" & Now() & “-“ & "jol 2021.xlsm"
'on sauvegarde le fichier backup
ActiveWorkbook.SaveCopyAs NomDossier & NomFichier
'on affiche un message de confirmation
MsgBox "Votre Fichier de sauvegarde intitule : " & NomFichier & vbNewLine & _
" dans le dossier suivant : " & NomDossier, vbOKOnly + vbInformation, "CONFIRMATION"
'on quite excell
Application.Quit
Vérifiez votre syntaxe et la correspondance avec votre nom de fichier.
Pour le contrôle - afficher vos variables dans une msgbox afin de voir son contenu