Enregistrement quotidien en Pdf avec date et heure

Bonjour à tous,

Je vous embête encore mais profite de mes vacances afin de me faciliter la vie plus tard au boulot.

J'avais un fichier de 31 jours pour 31 jours de rapport que j'enregistre systématiquement en Pdf dans 2 répertoires

un en local :

C:\Poles\Sports\Aeroport\Cahier de marche\2024\Sauvegarde

Et un sur un répertoire réseau :

W:\Poles\Sports\Aeroport\Cahier de marche\2024\Sauvegarde

L'idée serait d'avoir un fichier d'un onglet (qui met la date automatiquement à l'ouverture en "F1" ; c'est fait !) de le renseigner pendant toute la journée, puis le soir de l'enregistrer avec date et heure (obligatoire) en Pdf dans ces deux répertoires à l'aide d'un bouton.

Ensuite je ferai un "Private Sub Workbook_BeforeClose(Cancel As Boolean)" dans "ThisWorkBook" à la fermeture pour effacer certaines cellules, enregistrer, et donc repartir sur du "vierge" le lendemain.

Est-ce possible s'il vous plait ?

Un grand merci par avance

Bonjour,

- concernant la remise à zéro avec le "Private Sub Workbook_BeforeClose(Cancel As Boolean)"

Mauvaise idée à mon avis ; si votre journée n'est pas terminée et que le fichier doit être fermé pour une raison ou une autre ; vous perdez toutes la saisie déjà réalisée. ( un bouton comme pour l'enregistrement pdf serait aussi bien pour réinitialiser le fichier )

- Pour l"export en PDF l'enregistreur macro vous donnera une bonne partie du code ( il suffira de remplacer le nom de fichier par la date comme variable ajouté au nom de fichier ) en composant comme ceci

exemple : Mypdf = "Doc-" & Day(Date) & "-" & Month(Date) & "-" & Year(Date)

Bonjour Xmenpl

C'est gentil merci mais j'avais tenté cette façon simple par l'enregistreur de Macro avant de déranger :

Sub Macro1_Enregistrement_Journalier_Pdf()

    ChDir "C:\Poles\Sports\Aeroport\Cahier de marche\2024\Sauvegarde"

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Poles\Sports\Aeroport\Cahier de marche\2024\Sauvegarde\Test de 10-2023(188560).pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False

    Range("A1:B1").Select

End Sub

Mais il me semblait de mémoire que c'était plus compliqué de le faire sur un répertoire extérieur (DD externe, serveur, etc....)

De plus, je ne comprends pas trop ta ligne :

Mypdf = "Doc-" & Day(Date) & "-" & Month(Date) & "-" & Year(Date)

A rajouter où stp ? 

Légalement on me réclame dans l'enregistrement le format (Now, " DDDD D MMMM YYYY à HH:MM") comme dans ma ligne "Workbook_open

Pour le reste je vais réfléflir, mais je lancerai la Macro dès que je serai parti et retrouverai le lendemain un fichier vierge avec Date & Heure de début ;-)

Encore merci 

Bien à toi

  

Voici donc la réponse ;-)

Sub Macro2_Enregistrement_Journalier_Pdf()
Dim Chemin As String
Dim NFichier As String

 Chemin = "C:\Poles\Sports\Aeroport\Cahier de marche\2024\Sauvegarde\"

NFichier = "Cahier journalier AFIS du " & " " & Format(Now, "dd-mmm-yyyy") & " à " & Format(Now, "hh-mm") & ".pdf"

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NFichier, Quality _
        :=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

A savoir si ça fonctionnera sur le serveur de mon boulot avec W: ?!

Merci quand même

Bien à toi

Une autre question simple je suppose pour vous !

Comment remplacer ci-dessous 2024 par la cellule [A1] s'il vous plait ?

 Chemin = "C:\Poles\Sports\Aeroport\Cahier de marche\2024\Sauvegarde\"

Merki

Bonjour,

Les chemins qui commencent par C:\ ou une autre lettre pour un serveur sont correcte pour les écritures VBA.

Donc votre chemin W:\ ........ fonctionnera comme pour celui de C:\ c'est juste que vous aurez 2 fois les lignes d'enregistrement pdf.

Pour la variable "2024" à remplacer par le contenu de la cellule A1

il faut faire comme pour la variable "nom de fichier" :

Chemin = "C:\Poles\Sports\Aeroport\Cahier de marche\" & range("A1").value &"\Sauvegarde\"

NFichier = "Cahier journalier AFIS du " & " " & Format(Now, "dd-mmm-yyyy") & " à " & Format(Now, "hh-mm") & ".pdf

Nota si une autre personnel utilise le fichier il faut que la lettre du serveur soit la même que vous.

Un grand merci Xmenpl,

J'avais pas mal avancé hier, et ai eu donc confirmation Que tout cela fonctionnait ; "Yes"

Pour la lettre du répertoire, je laisse une cellule cachée pour le modifier ;-)

Bonne fin d'aprèm

Bien à vous

Hello,

Si ça peut intéresser quelqu'un qui tâtonne comme moi la ligne avec la possibilité à l'utilisateur de changer de lettre de répertoire sans aller modifier le code ;-)

Chemin = Sheets("CAHIER XXXXXXX").Range("B1048576").Value & "\XXXXX\Sports\XXXXXX\Cahier XXXXXX\" & Sheets("CAHIER XXXXXXX").Range("A1048576").Value & "\Sauvegarde\"

En "A1048576" je mets l'année à chaque ouverture

Voilou !

Bonne soirée et encore merci de m'avoir permis d'avancer @xmenpl

A bientôt

Rechercher des sujets similaires à "enregistrement quotidien pdf date heure"