Archiver une situation journalière

Bonjour ! Mon tableau excel est indexé sur une cellule AUJOURDHUI(). Il est donc évolutif et enregistre un changement journalier.
je voudrai conserver automatiquement une situation journalière de ce tableau et l'archiver ...
COMMENT ON FAIT ?
Merci.

20 réponses

  • Votes
  • Date
  • Date décroissante
Résumé de la discussion

Le besoin porte sur la mise en place d'une sauvegarde quotidienne automatique d'un tableau Excel évolutif indexé sur la fonction AUJOURD'HUI, afin d'archiver chaque jour l'état du fichier. Plusieurs proposent d'utiliser une macro qui exporte l'état journalier en PDF nommé Archive_YYYY-MM-DD, ou de créer une copie du fichier avec une datation similaire automatique. Dans l'une des solutions testées, le script archive chaque jour dans le même répertoire et nomme le fichier avec la date, facilitant le retrait et l'organisation. En complément, certaines propositions suggèrent d'enregistrer une feuille figée ou d'utiliser une alternative comme l'enregistrement sous forme d'un nouveau fichier plutôt que d'écraser l'existant, pour éviter la perte de formules.

Bobot (l’IA à votre service)
  1. Contributeur
    Bonjour
    au plus simple:
    clic droit sur l'onglet, créer une copie de la feuille
    sélectionner la feuille complète (curseur dans le petit carré à gauche de la règle des colonnes)
    clic droit / copier / collage spécial "valeurs"
    le tableau ne comprendra plus de formule et sera donc figé
    Ca peut se faire en VBA via un bouton
    crdlmnt

    1. Merci pour la réponse mais malheureusement je ne trouve pas l'onglet ''créer une copie de la feuille'' c'est vraiment dur d'être nul...
  2. Bonjour

    Si tu veux que cela se fasse de façon automatique il faut passer par une macro
    Mais il faut savoir :
    - quelles données enregistrer (une feuille, extraction d'une feuille...),
    - sous quel nom
    - et surtout ce qui va déclencher la macro (l'écriture dans une cellule particulière, la fermeture du classeur ...)

    Pour bâtir une macro il faut ces indications et un exemple de ton fichier que tu postes sur mon-partage.fr, tu fais créer un lien que tu copies et reviens coller ici

    Cdlmnt
    Via

    1. Merci pour ta réponse.
      Le passage au jour suivant peut-il être un phénomène déclenchant pour une Macro ?
      Pour le reste, je vais essayer...
  3. Ton tableau est indexé sur une cellule avec AUJOURDHUI() qui s'actualise donc chaque jour, le passage au jour suivant ne semble pas indiqué pour lancer la macro d'archivage.
    Le mieux c'est quand le tableau du jour a été complété donc soit la macro sera lancée automatiquement lorsqu'on remplit une certaine cellule ou lorsqu'on ferme le classeur soit lancée manuellement à partir d'un bouton sur la feuille comme suggère Vaucluse

    Mais si tu veux de l'aide il faut nous envoyer une copie de ton fichier
    1. Salut Via55. Merci. Donc OK pour t'envoyer une copie du fichier en question.
      Peux tu m'indiquer la marche à suivre STP ?
      1. Contributeur
        En attendant l'ami Via (qui répondra sur VBA surement mieux que moi):
        pour déposer le fichier
        http://mon-partage.fr
        et revenez coller le lien créé sur le site
        et comme vous êtes inscrit si vous préférez lui transmettre en privée:*
        clic sur son pseudo dans un de ses messages et "lui envoyer un message privé"

        crdlmnt
    2. Tu vas sur le site : ttps://mon-partage.fr
      Tu choisis ton fichier puis tu le fais uploader et ensuite tu copies le lien en bleu qui s'affiche et reviens le coller ici
      Dans l'attente
      1. https://mon-partage.fr/f/utRGKOR7/
        Voilà môssieur !
        Faudra me dire quand même comment on fait !!!
        Merci
        1. OK bien reçu
          Mais tu ne dis pas quelles données doivent être conservées
          ni si tu veux un archivage à la fermeture du classeur ou à l’appui sur un bouton
          ni sous quel nom tu veux archiver

          Dans l'attente
          1. Ok pardon.
            Le mot de passe est : neant

            Et oui, le savoir c’est l’immagination d’hier et l’immagination c’est le savoir de demain...
            1. Re

              Avec le bouton ça dysfonctionne pour l'enregistrer en tant que classeur sans macro donc j'ai pris l'option d'archiver avec la raccourci clavier Ctrl+a
              https://mon-partage.fr/f/wBzgFsbd/

              En espérant que cela te conviendra
              1. salut Mr Via. Merci beaucoup pour le coup de main.
                J'ai activé les Macros et fait Ctrl+a.. le message Excel m'indique que la feuille a bien été enregistrée.
                Heuuuuu j'arrive pas à retrouver ma feuille je sais pas où il me l'a mise.(réponse grossière s'abstenir merci)
                T'aurais un tuyau ?
              2. Contributeur
                Bonjour
                en attendant notre ami VIA (salut)
                la macro créé un nouveau fichier (et non pas une feuille) nommé avec la date de l'édition, fichier que vous devez trouver dans le répertoire ou se situe le fichier origine
                Cette solution est meilleure que de coller 365 feuilles dans le fichier
                Crdlmnt
            2. Salut Messieurs Vaucluse et Via.
              OK j,'ai retrouvé mon fichier !
              Bon je viens de faire un test en mettant mon ordinateur à la date de demain et malheureusement, le fichier archivé a actualisé lui aussi comme le fichier source. donc c'est pas tout à fait ça encore.
              Je constate que le fichier archivé contient toutes les formules et reste donc actif.
              Vous disez koi ?
              1. Re

                Ok alors au lieu d'enregistrer un fichier est qu'un enregistrement de la feuille en PDF suffirait ?
                En ce cas remplacer la macro par celle-ci :
                Sub archives()
                chemin = Workbooks(ActiveWorkbook.Name).Path
                derligne = Application.WorksheetFunction.CountA(Range("B:B"))
                ligne = Application.WorksheetFunction.Max(26, derligne)
                
                 Range("C1:V" & ligne).Select
                    ActiveSheet.PageSetup.PrintArea = "$C$1:$V" & ligne
                    nomcomplet = chemin & "\Archive_" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".pdf"
                    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                        nomcomplet, Quality:= _
                        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                        OpenAfterPublish:=True
                
                MsgBox "PDF archivé"
                End Sub

                Cdlmnt
                Via

                1. ok mais j'ai un souci : pas moyen de lui faire avaler la ligne 9 :ArchiveSheet....
                  j'ai essayé à multiples reprises. Rien à faire.
                  Une erreur se serait elle glissée par là ?
              2. Bonjour Via55
                ok je vois que c'est tout à fait ce dont j'ai besoin.
                Activer l'opération par Ctrl+a me convient parfaitement.
                J'ai juste le soucis de lui faire avaler la Macro : il refuse de dépasser la ligne 9 ???
                je réessaye ce matin pour voir et je tiens informé
                En tout cas Merci bien.
                1. Salut Mr Via
                  pardon , mais j'ai fait un copier coller de la macro que tu m'envoies ci dessus en remplacement de celle que tu as installée au départ mais quand je fait Ctrl+a, ca m'affiche le dossier Macro avec la partie "indigeste" teintée en jaune et un message comme quoi ça merde.
                  Curieux...
                  1. Re

                    Envoie moi ton fichier qui bug via le site mon-partage.fr, je regarderai

                    Cdlmnt
                    Via
                    1. https://mon-partage.fr/f/SmxcKQL4/
                      je te renvoie le fichier d'origine. J'arrive pas à faire télécharger l'autre.
                      si tu peux y coller la nouvelle macro ?
                      1. Salut.
                        Le résultat de la deuxième Macro ne convient pas : on archive que le haut de la feuille. les sauts de pages ne sont pas utiles.
                        Si je compare l'archivage qu'on obtient avec la première Macro, le résultat est bon sauf que les saisies s'actualisent.ors, je n'ai besoin d'archiver que les colonnes de A à Q. cette sélection exclue donc la cellule qui contient AUJOURDHUI().
                        Est-ce que ça peut fonctionner ?
                        Merci.
                        1. Salut

                          Pour n'archiver que de A à Q et pour que cela tienne sur une seule page en largeur :
                          https://mon-partage.fr/f/L0NXHcsA/

                          Par contre je ne comprends pas "les saisies s'actualisent", l'enregistrement étant en PDF il ne peut y avoir d'actualisation ?

                          Cdlmnt
                          1. oui, je parle des résultats de ta première Macro.
                            Bon j'essaye avec ce que tu viens de m'envoyer.

                            Merci.