Creation macro "enregistrer sous" avec nom fichier + date

Résolu
isakissss Messages postés 2 Statut Membre -  
 Vikled -
Bonjour,

Je souhaite créer un document excel qui sera mis à disposition de plusieurs personnes. Le contenu de ce document sera modifié tous les jours mais je souhaite garder une copie de toutes les modifications sous un autre document contenant "nom fichier + date" , sans pour autant modifier mon document original.

Est-ce possible d'empêcher de sauvegarder les modifications (et donc de garder mon fichier original "vierge") mais plutôt de laisser uniquement en option "enregistrer sous" tout en y insérant automatiquement la date de la modification du fichier dans le titre du nouveau document enregistré ?

Je me demande s'il est possible d'intégrer un bouton dans la feuille de calcul même (= macro ???) pour faciliter cette option mais j'avoue être complètement dépassée^^

Merci d'avance pour votre aide

3 réponses

  1. isakissss Messages postés 2 Statut Membre 1
     
    Merci pour ta réponse ;-)

    Je n'y suis malheureusement pas arrivée avec ton fichier.. oui oui, je découvre à peine la fonction macro ^^

    A force d'y chipoter et de m'être inspirée de tes conseils et d'autres codes sur le net, j'ai fini par bidouiller une macro que j'ai associé à un bouton de commande.
    Cette macro me permet d'enregistrer le nouveau fichier sous un format PDF ainsi que de l'imprimer et de fermer le document (ce qui empêche toute modification de mon document original)

    voici le code, pour ceux que ca intéresse

    Sub EnregistrerEtImprimer()
    '
    ' EnregistrerEtImprimer Macro
    '
    Dim Path As String, nom As String
    Path = ActiveWorkbook.Path & "\"
    nom = "Commande" & "_" & Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hh-mm")

    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & "Commande" & "_" & Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hh-mm") & ".pdf"

    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"

    Application.DisplayAlerts = False

    MsgBox ("Le fichier a été enregistré sous : " & Path & nom)

    ActiveWorkbook.Close

    End Sub

    Merci pour ton aide :-)
    1
    1. kamikase Messages postés 2 Statut Membre
       
      bonsoir j ai utilisé ce code mais quand on enregistre en pdf c est tout le classeur qui s'enregistre que faut il ajouter pour avoir que la page active qui s enregistre merci
      0
      1. Vikled > kamikase Messages postés 2 Statut Membre
         
        Bonjour,

        Il faut changer l'expression ActiveWorkbook.ExportAsFixedFormat par ActiveSheet.ExportAsFixedFormat

        Le code deviendrait alors :

        Sub EnregistrerEtImprimer()
        '
        ' EnregistrerEtImprimer Macro
        '
        Dim Path As String, nom As String
        Path = ActiveWorkbook.Path & "\"
        nom = "Commande" & "_" & Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hh-mm")


        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & "Commande" & "_" & Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hh-mm") & ".pdf"

        ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"


        Application.DisplayAlerts = False


        MsgBox ("Le fichier a été enregistré sous : " & Path & nom)

        ActiveWorkbook.Close

        End Sub
        0
  2. Weapon EDGE
     
    Bonjour,

    Voici un fichier qui devrais répondre à tes attentes :

    http://cjoint.com/?0DkoeE03yGu

    Quand t'ouvres le fichier toutes les feuilles sont blanche.

    Saisis des données sur la feuille 1 par exemple et cliques sur enregistrer ou enregistrer sous. Le fichier se copieras automatiquent dans le même répertoire que le fichier d'origine mais avec la date en plus et se fermera aussitot. L'orinigial n'a subit aucune modification.

    Le code se trouve dans "This Workbook". et une partie dans "Module1"
    0
  3. mimi13580 Messages postés 72 Statut Membre
     
    bonjour isakissss,

    je souhaiterai enregistrer un ficher Excel, après avoir rentrer des donner dans un tableau,
    Exemple cellule(D5)= 201400320, je souhaite faire un enregistrement sous mon bureau sous le non de 201400320, si demain je change le numéro de D5= 20150088, je voudrais un enregistrement sous mon bureau sous le nouveau numéro.
    Merci pour ton aide
    0