VBA Nommer en automatique un fichier PDF exporté

michel90

XLDnaute Nouveau
Bonjour à vous,
actuellement j'ai un programme qui marche parfaitement.
Dans mon programme j'ai une ligne de code qui permet de prendre un PowerPoint ouvert, le transformer en PDF et l'exporter vers un dossier.

cette commande permet aussi de nommer le PDF comme suit:
date actuelle_Situation des relais.pdf

Cependant je souhaite l'améliorer comme suit:

lorsque ce fichier se fait exporté le vendredi. ben il devient comme ça
date actuelle_Situation des relais du weekend.PDF
Je vous remercie d'avance.

ci dessous la ligne du code qui permet d'exporter le PDF
VB:
presppt.ExportAsFixedFormat presppt.Path & "\sortie\carte\" & Format(Date, "dd mm yyyy") & "_" & "Situation Relais" & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentPrint
 

sousou

XLDnaute Barbatruc
Bonjour
Tu peux faire quelquechose comme ceci:
If weekday(date)=6 then k1="actuelle_Situation des relais du weekend" else k1="actuelle_Situation des relais du weekend"
presppt.ExportAsFixedFormat presppt.Path & "\sortie\carte\" & Format(Date, "dd mm yyyy") & "_" & k1 & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentPrint
 

michel90

XLDnaute Nouveau
Bonjour
Tu peux faire quelquechose comme ceci:
If weekday(date)=6 then k1="actuelle_Situation des relais du weekend" else k1="actuelle_Situation des relais du weekend"
presppt.ExportAsFixedFormat presppt.Path & "\sortie\carte\" & Format(Date, "dd mm yyyy") & "_" & k1 & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentPrint
Bonjour,
D'abord merci pour la réponse! mais je comprend pas pourquoi le "Else" et le même que celui de "if". en plus la semaine commence le lundi donc le vendredi c'est 5 et pas 6. me suis-je trompé ?
 

michel90

XLDnaute Nouveau
je viens de tester en mettant 3 comme le mercredi mais ça ne marche pas, j'obtiens le 22 02 2017_situation relais.pdf
voici le code que j'ai écrit dans un module du PowerPoint:

VB:
Sub pdf()

' cette macro convertie le PPt en pdf et l'exporte dans le dossier sortie/carte.
If Weekday(Date) = 3 Then
     k1 = "actuelle_Situation des relais du weekend"
Else
k1 = "actuelle_Situation des relais du weekend"
End If
ActivePresentation.ExportAsFixedFormat ActivePresentation.Path & "\sortie\carte\" & Format(Date, "dd mm yyyy") & "_" & "Situation Relais" & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentPrint

End Sub
 

michel90

XLDnaute Nouveau
j'ai pu avancer dans la macro,
j'ai mis en place une macro mais qui fonctionne a moitie
dans ce cette macro j'ai deux condition.
si mon jour de la semaine est Mercredi ben tu m'affiche Situation relais du weekend
Sinon tu m'affiche situation relais .pdf
Jusqu’à là ça marche bien
Mais comme je voulais confirmer, j'ai changer Mercredi par Mardi, ben il m'affiche Situation relais du weekend. alors qu'on
peux tu stp regarder mon code et le corrigé. Merci d'avance

VB:
Sub pdf()
Dim myWeekday
' cette macro convertie le PPt en pdf et l'exporte dans le dossier carte.

If myWeekday = Wednesday Then
ActivePresentation.ExportAsFixedFormat ActivePresentation.Path & "\sortie\carte\" & Format(Date, "dd mm yyyy") & "_" & "Situation Relais du weekend" & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentPrint
     
Else
ActivePresentation.ExportAsFixedFormat ActivePresentation.Path & "\sortie\carte\" & Format(Date, "dd mm yyyy") & "_" & "Situation Relais" & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentPrint
     
End If
End Sub
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Michel.

Après la déclaration de la variable, il faut que tu ajoute myWeekday = Tuesday, si tu veux que ce soit mardi.
Ensuite If myWeekday = Tuesday Then

Si la macro est dans un module, tout en haut de celu-ci tu peux mettre ta variable comme ceci
Public Const myWeekday As Date = Tuesday
 
Dernière édition:

michel90

XLDnaute Nouveau
Bonjour Michel.

Après la déclaration de la variable, il faut que tu ajoute myWeekday = Tuesday, si tu veux que ce soit mardi.
Ensuite If myWeekday = Tuesday Then

Si la macro est dans un module, tout en haut de celu-ci tu peux mettre ta variable comme ceci
Public Const myWeekday As Date = Tuesday

Bonjour Lone-Wolf
J'ai fais comme tu me l'a indiquer mais rien ne change appart que Public Const myWeekday As Date = Tuesday génère une erreur.
Sinon moi le but de cette macro c'est que l’exportation de PDF se fait tous les jours. je veux que lorsque c'est vendredi il nomme le PDF
date-actuelle_Situation relais du weekend.pdf
Sinon
date-actuelle-Situation relais.pdf

donc dans mon exemple comme on est encore mercredi j'ai mis Mercredi a la place de vendredi pour faire les TEST.
 

Lone-wolf

XLDnaute Barbatruc
Re

Si tu as lu mon précédent message, il y avait deux exemples. Mais avec une erreur.

VB:
Sub test()
Dim myWeekday As Date, Wkday As Date
Wkday = Weekday(Date)
myWeekday = vbFreeday

If Wkday = myWeekday Then
xxxxx
Else
yyyyy
End If
End Sub
 
Dernière édition:

michel90

XLDnaute Nouveau
Re

Si tu as lu mon précédent message, il y avait deux exemples. Mais avec une erreur.

VB:
Sub test()
Dim myWeekday As Date, Wkday As Date
Wkday = Weekday(Date)
myWeekday = vbFreeday

If Wkday = myWeekday Then
xxxxx
Else
yyyyy
End If
End Sub

Bonjour,
Effectivement là ça l'air de fonctionner sans erreur avec ce nouveau code. C'est super je te remercie :)
Encore un grand Merci :)
 

Statistiques des forums

Discussions
312 175
Messages
2 085 953
Membres
103 059
dernier inscrit
gib17