Autres [résolu]Ajouter une date dans une macro

sergiofox

XLDnaute Nouveau
Bonjour à tous,
Pour envoyer par mail la feuille de résultat en format pdf via un bouton j'ai enregistre une macro dans développeur :
Sub SavePDF()
'
' SavePDF Macro
'

'
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\le nom du fichier de sauvegarde.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub
Je souhaiterais rajouter la date du jour à l'enregistrement , mais je n'y arrive pas :(
Pourriez-vous m'aider ? merci d'avance
 

Staple1600

XLDnaute Barbatruc
Re

Si la réponse est oui à ma précédente question alors ceci devrait fonctionner
VB:
Sub SavePDF()
Dim strPath$, Fichier$
strPath = ThisWorkbook.Path & "\" ' à adapter
Fichier = Format(Now, "ddmmyy_hhmmss") & ".pdf" ' format à adapter ddmmyy pour avoir juste la date
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPath & Fichier
End Sub
 

sergiofox

XLDnaute Nouveau
Bonjour le fil, sergiofox

sergiofox
Ajouter la date, oui mais où?
Dans le nom du fichier ?
Bonjour staple1600, oui je voudrais ajouter la date du jour après
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\le chemin du dossier de sauvegarde de mon pdf
avec la date du jour.pdf" _

J'ai testé votre modèle mais il me donne une erreur

Sans titre-1.jpgerreur macro.jpg
 

sergiofox

XLDnaute Nouveau
la commande actuelle est celle-ci
VB:
Sub SavePDF()
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\marie-rose\Downloads\Sauvegarde feuilles de match\BLANC-RY VETERANS 8.pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Ce n'est pas mon code mais votre code (je parle de la ligne strPath adaptée bizarremnt)
str pour String et Path pour chemin
Donc votre adaptation n'est pas bonne :rolleyes:
Cette ligne veut dire
strPath = ThisWorkbook.Path & "\"
Le chemin vers le dossier d'export du PDF correspond au chemin du classeur actif (celui qui contient la macro)
Je vous laisse faire adaptation nécessaire puisque je ne peux pas faire récupérer le code VBA sur une copie d'écran...
 

patricktoulon

XLDnaute Accro
bonjour le fils
VB:
Sub SavePDF()
Dim chemin$,fichier$
chemin="C:\Users\marie-rose\Downloads\Sauvegarde feuilles de match\"
Fichier =" BLANC-RY VETERANS 8 " &" Format(Now, "ddmmyy_hhmmss") & ".pdf" ' format à adapter ddmmyy pour avoir juste la date

  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & fichier _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True

End Sub
 

Staple1600

XLDnaute Barbatruc
Bonjour à toi aussi patricktoulon

patricktoulon
Quitte à reprendre un bout du code que j'ai posté
Pourquoi y rajouter ce que j'avais enlevé ? :rolleyes:


[aparté]
La synergie entre XLdiens, ce n'est plus ce que c'était...:rolleyes:
Tout comme l'émulation d'ailleurs...
[/aparté]
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

sergiofox
Un moyen d'éviter les erreurs d’adaptation, c'est d'utiliser une MsgBox
En faisant ce petit test, tu aurais vu tout de suite la .ouille dans le potage ;)
VB:
Sub test()
Dim strPath
strPath = ThisWorkbook.Path & "\"
MsgBox strPath
strPath = ThisWorkbook.Path & "\" & "C:\Users\marie-rose\Downloads\Sauvegarde feuilles de match\BLANC-RY VETERANS 8.pdf"
MsgBox strPath
End Sub
 

sergiofox

XLDnaute Nouveau
Oups, quand on n'est novice c'est pas toujours évident de comprendre ce qui est certainement très simple pour vous :oops:, je crois que je m'exprime très mal et bien évidement ce n'est pas facile pour vous de m'aider, je vais essayé d'être plus clair; sur ma feuille ouverte j'ai créer une macro manuellement avec "enregistrer une macro" enregistrer sous; j'ai choisi le chemin de dossier dans lequel je voulais sauvegarder le pdf avec son nom; après enregistrement il ouvre le pdf. pour visionner et l'envoyer voici le code actuel:
VB:
Sub SavePDF()
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\marie-rose\Downloads\Sauvegarde feuilles de match\BLANC-RY VETERANS 8.pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
End Sub
Dans ce code je souhaiterais juste ajouter la date du jour et qu'il s'enregistre en BLANC-RY VETERANS 8 Date du jour .pdf

Vos codes sont certainement les bons, mais comme je ne sais pas les interpréter ni placer certainement les infos du dossier de sauvegarde et ou du nom de fichier au bon endroit, je suis perdu.
 

patricktoulon

XLDnaute Accro
re
staple j'ai rien rajouter du tout je separe le chemin du non du fichier (toujours )
@sergiofox ma macro fait exactement ce que tu veux
et je vois pas ici le besoins d'utiliser le thisworkbook.path puisque le chemin est sensé être fixe amoins que le fichier reste dans les downloads ce qui me parait peu probable
 

patricktoulon

XLDnaute Accro
re
oupss!! :oops: un guilemet karienafoutla
VB:
Sub SavePDF()
Dim chemin$, fichier$
chemin = "C:\Users\marie-rose\Downloads\Sauvegarde feuilles de match\"
fichier = " BLANC-RY VETERANS 8 " & Format(Now, "ddmmyy_hhmmss") & ".pdf" ' format à adapter ddmmyy pour avoir juste la date

  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & fichier _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True

End Sub
 

Staple1600

XLDnaute Barbatruc
Re

patricktoulon
ma prose
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPath & Fichier
ta prose
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & fichier _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True

C'est ce que j'appelle rajouter ;)

staple j'ai rien rajouter du tout je separe le chemin du non du fichier (toujours )
Moi itou, non ?
cf code VBA du message#3

=>sergiofox
Depuis le message#3, tu as la syntaxe pour formater la date du jour dans le nom du fichier
Et nous en sommes déjà au message#14 ;)
 
Dernière édition:

patricktoulon

XLDnaute Accro
re
si tu veux j'utilise pas le même nom de variable
mais thisworkbook.path non non non non!!!!! ca t'en sais rien , laisse le demandeur faire a sa guise en fonction de son besoins surtout qu'il comprends pas forcement ce que cet expression veut dire et encore moins la manipuler ou en décortiquer le texte
il a stipulé un chemin en dur qui est sensé etre fixe , on le laisse en dur
rien empeche par la suite d'adapter la ligne chemin ou strpath
 

Staple1600

XLDnaute Barbatruc
Re

patricktoulon
Problème de lunettes? ;)
1) Je parlais du fait que j'avais supprimé ce dont on peut se passer dans la syntaxe d'export PDF
Et que tu as donc rajouté (alors qu'on peut s'en passer)

2) Ne pas comprendre est une chose.
Mais rien n’empêche d'être curieux surtout avec nos navigateurs modernes ;)
(Sélection du mot qui pose question clic-droit Rechercher avec le moteur par défaut... et voilou)
Et si j'utilise ThisWorkBook.Path c'est simplement pour éviter les problèmes de confidentialité (RGPD oblige)
Car ThisWorkBook.Path & "\" fonctionnera à tous les coups (sur un classeur enregistré).
Et c'est ce qu'on demande à un code VBA de test
Bref, le principal n'est pas là, sans parler du Path, la syntaxe pour avoir la date dans le nom de fichier est connu depuis belle lurette.
 

patricktoulon

XLDnaute Accro
re
@Staple1600 je n'avais pas compris que tu parlais des paramètres d'export pour les rajouts
soit plus clair la prochaine fois ;)
et thisworkbook.path si le fichier est enregistré oui mais faut il encore qu'il soit au bon endroit ;)
et vu le chemin +nom suffixé par une date ca m'étonnerait que se soit le cas
qui aurait l'idée d'enregistrer son app dans les downloads? pas moi en tout cas ;)
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas