Code VBA avec fonction date time

Résolu
Bonjour

je voudrais modifier la macro ci dessous qui me permet une sauvegarde de mon fichier excel quand je quitte.

a la place d’intégrer dans le nom de fichier la date je souhaite avoir la date, l’heure et minutes qui compose le nom de fichier sauvegarder.

merci d'avance

Private Sub Workbook_BeforeClose(Cancel As Boolean)


    'Déclaration des variables
    Dim NomDossier As String
    Dim NomFichier As String
    
    'Affectation des variables
    NomDossier = "F:\"
    '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) & "_" & "Formation Budjet Maison 2020.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

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour

    NomFichier = Now & "_" & "Formation Budget Maison 2020.xlsm"
    1. bonjour et merci de m'aider

      j'ai fait la modif et j'ai le massage d'erreur 1004 il me dit de vérifier le nom du classeur il est peut-être inexistant

      avec ta modif il se présente de la façon suivante 23/03/2020 17:22:00_Formation Budget maison 2020.

      je voudrait que la sauvegarde se fasse de la façon suivante: Formation Budget maison plus ( la date jj/mm/aaaa , et l'heure)

      merci d'avance
      1. Contributeur
        bonjour,

        oups :-/
        effectivement, excel refuse les ":" et les "/" dans le nom d'un fichier

        Je regarde dans la journée
        1. bonjour,

          merci pour ton retour.
          comme tu l'a compris je ne suis pas tres doué en macro j'ai essayé de faire se que tu m'as dit sens succès.

          tu trouveras ci dessous ma macro sa te parlera certainement mieux
          si tu peut me la modifier c'est encore mieux merci d'avance pour ton aide

          Sub Sauvegarde()
          '
          ' Sauvegarde Macro
          '

          '
          ActiveWorkbook.Save
          End Sub

          Private Sub Workbook_BeforeClose(Cancel As Boolean)

          'Déclaration des variables
          Dim NomDossier As String
          Dim NomFichier As String

          'Affectation des variables
          NomDossier = "f:\"
          '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) & "_" & "Budjet Maison 2020.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
          1. Contributeur
            Bonjour,

            je regarde dans la journée confidemment oblige
            1. Bonjour a vous deux

              Avec format marche bien aussi

               NomFichier = Format(Now, "dd-mm-yyyy hh\hmm\mss\s") & "_" & "Formation Budjet Maison 2020.xlsm"