Enregistrer un pdf dans un dossier spécifique par macro

JR.31

XLDnaute Occasionnel
Re bonjour a toutes et tous et merci pour toute votre aide.

Après quelques recherche et modifications sur cette macro, je calle sur le fait d'insérer une ligne de commande qui me ferais enregistrer mon PDF dans un dossier spécifique dont voici le chemin:

C:\Users\J\Desktop\Professionnel\Jacques Pro\SOBRAQUES\TABLEURS SOBRAQUES 2015\PDF Interventions Béziers

Et voici la macro actuelle:


Sub SendWithAtt()
' Nécessite la référence : Microsoft Outlook 1x Object Library
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim CurFile As String
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
' "C:\Users\Thierry\AppData\Local\Temp\MaFeuille.pdf "
CurFile = ThisWorkbook.Path & "\" & Range("N10").Value & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
With olMail
.To = "nomprénom@domainel.fr;nom.prénom@domaine.com"
.CC = ""
.Subject = "Demande d'Intervention SOBRAQUES BEZIERS"
.Body = "Vous trouverez ci-joint notre demande d'Intervention"
.Attachments.Add CurFile
'.Attachments.Add "c:\My Documents\book.doc"
.Display '.Send
End With
MsgBox "Merci de vérifier que le message apparait dans -messages envoyés- dans votre messagerie OUTLOOK."

' Effacer les variables objets
Set olMail = Nothing
Set olApp = Nothing
End Sub

Merci encore de votre aide.

JR.31
 

camarchepas

XLDnaute Barbatruc
Re : Enregistrer un pdf dans un dossier spécifique par macro

Bonjour ,

Pour te faire avancer un peu :

sous windows , le dossier windows est un dossier spécial .

il faut utiliser une manière indirecte pour y accéder :

Dim MesDocs As String
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
MesDocs = WshShell.SpecialFolders("MyDocuments")

Dans MesDocs, le vrai chemin à utiliser au lieu de c:\mesdocuments
 

camarchepas

XLDnaute Barbatruc
Re : Enregistrer un pdf dans un dossier spécifique par macro

Comme ceci peut être

j'ai ajouté un msgbox , au cas ou cela ne fonctionnerait pas , il faudrait me dire ce qu'elle contenait

Code:
Sub SendWithAtt()
' Nécessite la référence : Microsoft Outlook 1x Object Library
'Dim olApp As Outlook.Application
'Dim olMail As MailItem
Dim CurFile As String
Dim MesDocs As String
Dim WshShell As Object
'Set olApp = New Outlook.Application
'Set olMail = olApp.CreateItem(olMailItem)
Set WshShell = CreateObject("WScript.Shell")
MesDocs = WshShell.SpecialFolders("MyDocuments")
CurFile = MesDocs & "\Professionnel\Jacques Pro\SOBRAQUES\TABLEURS SOBRAQUES 2015\PDF Interventions Béziers\"

CurFile = CurFile & Range("N10").Value & ".pdf"
msgbox curfile
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
With olMail
.To = "nomprénom@domainel.fr;nom.prénom@domaine.com"
.CC = ""
.Subject = "Demande d'Intervention SOBRAQUES BEZIERS"
.Body = "Vous trouverez ci-joint notre demande d'Intervention"
.Attachments.Add CurFile
'.Attachments.Add "c:\My Documents\book.doc"
.Display '.Send
End With
MsgBox "Merci de vérifier que le message apparait dans -messages envoyés- dans votre messagerie OUTLOOK."

' Effacer les variables objets
Set olMail = Nothing
Set olApp = Nothing
End Sub
 

JR.31

XLDnaute Occasionnel
Re : Enregistrer un pdf dans un dossier spécifique par macro

Merci, voici le message BOX:

"\Professionnel\Jacques Pro\SOBRAQUES\TABLEURS SOBRAQUES 2015\PDF Interventions Béziers\" (plus le nom du mon fichier).

Ca debogue également a auteur de:

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

Je suis un peu perdu là.
 

Staple1600

XLDnaute Barbatruc
Re : Enregistrer un pdf dans un dossier spécifique par macro

Re


JR.31
Bien tu ignores mon précédent message :rolleyes:, je tente cette question
Qu'affiche ce MsgBox ?
Code:
Sub a()
Set WshShell = CreateObject("WScript.Shell")
MesDocs = WshShell.SpecialFolders("MyDocuments")
MsgBox MesDocs
End Sub

camarchepas (salut ;) )
Apprement on vise le Bureau de l'user J, non ? et pas Mes Documents
C:\Users\J\Desktop
 
Dernière édition:

JR.31

XLDnaute Occasionnel
Re : Enregistrer un pdf dans un dossier spécifique par macro

Merci, voici le message BOX:

"\Professionnel\Jacques Pro\SOBRAQUES\TABLEURS SOBRAQUES 2015\PDF Interventions Béziers\" (plus le nom du mon fichier).

Ca debogue également a auteur de:

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

Je suis un peu perdu là.
 

Staple1600

XLDnaute Barbatruc
Re : Enregistrer un pdf dans un dossier spécifique par macro

Re

Tu n'as pas testé la macro a, non ?
(voir précédent message)

Si tu veux enregistrer dans le bureau de l'utilisateur actif, il faut alors utiliser
Code:
Sub b()
Dim WshShell, BureauCurrentUser$
Set WshShell = CreateObject("WScript.Shell")
BureauCurrentUser = WshShell.SpecialFolders("Desktop")
MsgBox BureauCurrentUser
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Enregistrer un pdf dans un dossier spécifique par macro

Suite


Donc fais ces modifs en début de code
Code:
Sub SendWithAtt()
' Nécessite la référence : Microsoft Outlook 1x Object Library
Dim WshShell, CurFile$, xBureau$
Set WshShell = CreateObject("WScript.Shell")
xBureau = WshShell.SpecialFolders("Desktop")
CurFile = xBureau & "\Professionnel\Jacques Pro\SOBRAQUES\TABLEURS SOBRAQUES 2015\PDF Interventions Béziers\"
'garder le reste du code identique
End sub
 

camarchepas

XLDnaute Barbatruc
Re : Enregistrer un pdf dans un dossier spécifique par macro

Bonsoir

@ Bonsoir Jean Marie, oui j'ai visé mes documents ..

tellement plus simple de créer un répertoire de travail dédié hors windows comme c:\tache par exemple , mais bon ,

Bon , sérieusement que vois-tu dans mesdocs M. JR ?

Non , les miens sont pas partagé dans les tiens en fait, enfin dans ceux concernés.
 

JR.31

XLDnaute Occasionnel
Re : Enregistrer un pdf dans un dossier spécifique par macro

Bonjour,
Dans mesdocs il n'y a rien.
Je retrouve le PDF dans le dossier "Tableur SOBRAQUES 2015". Il faudrais qu'il soit dans le dossier "PDF Intervention BEZIERS".

La modif de staple1600 beugue a "With olMail". Je l'ai peut être mal placé mais je crois que j'ai suivi les instructions de staple1600.

Encore merci pour votre précieuse aide.

JR.31
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 394
Membres
103 537
dernier inscrit
alisafred974