Microsoft 365 Macro = Enregistrement en PDF avec la valeur d'une cellule

alex.du25

XLDnaute Nouveau
Bonjour,

Je cherche à créer une macro pour enregistrer un fichier excel en pdf avec la valeur d'une cellule (Date).
Actuellement ça fonctionne avec ce code => je souhaite que ce soit la date qui ce trouve dans une cellule car maintenant j'utilise le fichier à cheval sur 2 jours.
VB:
Sub Enregistrement_PDF()
'
' EnregistrerEtImprimer Macro
'
Dim Path As String, nom As String
Path = ActiveWorkbook.Path & "\temp\"
nom = Format(Date, "dd-mm-yyyy")


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


Application.DisplayAlerts = False


MsgBox ("Le fichier a bien été enregistré en PDF.")

Application.Quit


End Sub

Merci d'avance à ceux qui pourront m'aider.
Alexandre
 
Solution
Re

je souhaite que ce soit la date qui ce trouve dans une cellule
Si la date est dans la cellule A1 par exemple
1627836682273.png


Tu auras cela
1627836711852.png


VB:
Sub Enregistrement_PDF()

Dim nom As String
nom = Format([A1], "dd-mm-yyyy")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & nom & ".pdf"
MsgBox ("Le fichier a bien été enregistré en PDF.")

End Sub

*Et je plussoie Job75
Je ne comprends pas l'intérêt de cette discussion.

Car il suffit de remplacer Date par [A1] si la date a été entrée en A1.

*Plus je relis les différents posts et plus je me rends compte que je ne sais pas quelle date l'utilisateur veut vraiment avoir .... 🤔
Apparemment nous sommes 3 (Waykii...

jcf6464

XLDnaute Occasionnel
Bonjour vous tous et le forum,

Regarde là

bonne continuation jcf6464
 

Phil69970

XLDnaute Accro
Bonjour @alex.du25 , @kiki29
Edit Bonjour @jcf6464

Essaye ceci tout simplement :

VB:
Sub Enregistrement_PDF()

Dim nom As String
nom = Format(Date, "dd-mm-yyyy")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & nom & ".pdf"
MsgBox ("Le fichier a bien été enregistré en PDF.")

End Sub

*L'enregistrement du pdf se fera dans le même dossier que le fichier excel.

Tu es sur de toi !
Merci de l'infos mais j'ai déjà essayé mais ça ne fonctionne pas.

1627826453030.png

==> https://www.excel-downloads.com/thr...iste-deja-sous-ce-nom.20051489/#post-20380927
Entre autre réponse....

Merci de ton retour

@Phil69970
 

alex.du25

XLDnaute Nouveau
Bonjour @alex.du25 , @kiki29
Edit Bonjour @jcf6464

Essaye ceci tout simplement :

VB:
Sub Enregistrement_PDF()

Dim nom As String
nom = Format(Date, "dd-mm-yyyy")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & nom & ".pdf"
MsgBox ("Le fichier a bien été enregistré en PDF.")

End Sub

*L'enregistrement du pdf se fera dans le même dossier que le fichier excel.

Tu es sur de toi !


Regarde la pièce jointe 1112348
==> https://www.excel-downloads.com/thr...iste-deja-sous-ce-nom.20051489/#post-20380927
Entre autre réponse....

Merci de ton retour

@Phil69970
Oui j'en sûr, et le code suivant c'est ce que j'utilise.
VB:
Sub Enregistrement_PDF()

Dim nom As String
nom = Format(Date, "dd-mm-yyyy")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & nom & ".pdf"
MsgBox ("Le fichier a bien été enregistré en PDF.")

End Sub

Comme j'ouvre le fichier à 21h et que je fais un enregistrement PDF après minuit ça ne me prend pas la bonne date, c'est pour cela que je souhaiterais que ça prenne la date dans une cellule.

@alex.du25
 

Wayki

XLDnaute Occasionnel
De ce que je comprend tu veux la date du jour non ? Ou une date autre que tu renseignes toi même ?
Si c'est la date à laquelle tu ouvres ton fichier et que tu l'enregistre à chaque fois le lendemain, peut être peux-tu essayer nom-1 tout simplement ?
 

Phil69970

XLDnaute Accro
Re

je souhaite que ce soit la date qui ce trouve dans une cellule
Si la date est dans la cellule A1 par exemple
1627836682273.png


Tu auras cela
1627836711852.png


VB:
Sub Enregistrement_PDF()

Dim nom As String
nom = Format([A1], "dd-mm-yyyy")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & nom & ".pdf"
MsgBox ("Le fichier a bien été enregistré en PDF.")

End Sub

*Et je plussoie Job75
Je ne comprends pas l'intérêt de cette discussion.

Car il suffit de remplacer Date par [A1] si la date a été entrée en A1.

*Plus je relis les différents posts et plus je me rends compte que je ne sais pas quelle date l'utilisateur veut vraiment avoir .... 🤔
Apparemment nous sommes 3 (Waykii, Job et moi) à nous poser les même question.:oops:


@Phil69970
 

Valtrase

XLDnaute Occasionnel
Salut à tous,
Je pense voir ce qu'il veux, il doit avoir une date en A1, mais passer minuit cela change et cela n'est pas bon pour lui. Donc soit faire comme le dis si bien Job75 utiliser Date - 1, ou alors créer une Variable publique DateOuverture et l'initialiser à l'ouverture du classeur DateOuverture = Date, Mais bon....
 

alex.du25

XLDnaute Nouveau
Re


Si la date est dans la cellule A1 par exemple
Regarde la pièce jointe 1112354

Tu auras cela
Regarde la pièce jointe 1112355

VB:
Sub Enregistrement_PDF()

Dim nom As String
nom = Format([A1], "dd-mm-yyyy")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & nom & ".pdf"
MsgBox ("Le fichier a bien été enregistré en PDF.")

End Sub

*Et je plussoie Job75


*Plus je relis les différents posts et plus je me rends compte que je ne sais pas quelle date l'utilisateur veut vraiment avoir .... 🤔
Apparemment nous sommes 3 (Waykii, Job et moi) à nous poser les même question.:oops:


@Phil69970
Salut @Phil69970, merci ta solution me convient parfaitement

@alex.du25
 

Discussions similaires

Réponses
3
Affichages
332

Statistiques des forums

Discussions
290 833
Messages
1 910 790
Membres
176 869
dernier inscrit
veusavoir
Haut Bas