Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro pdf mail 1 seul onglet

  • Initiateur de la discussion Initiateur de la discussion jeromeN95
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jeromeN95

XLDnaute Impliqué
Bonjour à tous.
J'ai un fichier comprenant plusieur onglet.
Je souhaite crée un bouton sur chaque feuille qui me permet d'envoyer la feuille active par mail (non défini) en en format PDF.
Un bout de code commencer fonctionnant parfaitement mais il m'envoie tout le fichier en .xls...

Je travail avec Outlook.


Code:
Sub PDF_with_outlook() 'Transferer feuille active en PDF         +FT produits ?
Dim OutApp As Object
Dim OutMail As Object
Dim strto As String, strcc As String
Dim strsub As String, strbody As String
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.createitem(0)
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
strto = "jerome.xxx@xxx.com" 'déstinataire         FAX?
strsub = "Etude " 'nom
strbody = "Bonjour" & vbNewLine & vbNewLine & _
"Voici l'étude de " & vbNewLine & vbNewLine & _
"" & vbNewLine & vbNewLine & _
"Cordialement, " & vbNewLine & vbNewLine & _
" " & [RS] 'signature
With OutMail
.To = strto
.CC = strcc
.Subject = strsub
.Body = strbody
.Attachments.Add ActiveWorkbook.FullName
.Display
End With
End Sub
 

Pièces jointes

Dernière édition:
Re : macro pdf mail 1 seul onglet

Bonjour Jerome
pourrais-tu apprendre a mettre les balises autour de tes codes afin de les rendre lisibles
tu retournes dans ton message avec modifier le message tu sélectionnes tout ton code et tu cliques sur

# dans la barre d'outils au dessus du texte a droite
merci pour nos yeux
a+
papou🙂
 
Re : macro pdf mail 1 seul onglet

Re Jerome,
Pourquoi désolé, non on te demande tu le fais, donc tu n'es pas obtu, et en plus regarde ton message comme il est plus beau maintenant
a+
papou🙂
 
Re : macro pdf mail 1 seul onglet

Re Jerome, le forum
si tu n'as pas de réponse je regarderai, mais par conviction , je ne répond jamais a des demandes destinée a créer et envoyer des Emails car on est en permanence inondé par des tas de spam, et je n'aimerais pas qu'une de mes macros vienne me polluer un peu plus
a+
papou🙂

PS: mais si tu n'as pas de réponses je reviendrai
 
Re : macro pdf mail 1 seul onglet

Non, c'est pour un usage pro.
Le commercial et chez son client et lui transmet par mail ou fax son devis.

Par fax la commande est :

Code:
strto = "Fax=" & [FAX] & "@faxagence.net"

ou bien
Code:
"Fax=[FAX]@faxagence.net"
plus general

Merci mais je ne suis pas un polueur.
Regarde mon code.
 
Re : macro pdf mail 1 seul onglet

Re Jérôme,
Bon j'ai du mal à croire que cela peut te faire du pdf je ne vois pas par quel miracle mais c'est pas grave, comme tu a dis que la macro que tu avais fait marche parfaitement mais envoi tout le classeur, voilà donc la modif pour n'envoyer que la feuille active
a+
papou🙂
 

Pièces jointes

Re : macro pdf mail 1 seul onglet

Re Jerome le forum
bon voilà ton fichier avec une macro qui marche, cliques sur le bouton dans une des feuilles
a+
papou🙂
 

Pièces jointes

Dernière édition:
Re : macro pdf mail 1 seul onglet

OKi,
je te remercie beaucoup pour ton aide précieuse mais chez moi il me fait une erreur 1004...
Mais vu le code, je devrais pouvoir le finir seul.
Un grand merci a toi pour ton aide.
Je reviendrai avec l'erreur.
 
Re : macro pdf mail 1 seul onglet

Re Jerome
voilà si tu le fais avec 2007 car là aussi excuses moi de ne pas avoir une boule de cristal qui me le dit !!!!
Et aussi si tu remplissais ton cartouche comme il faut on le saurait.
a+
papou🙂
 

Pièces jointes

Re : macro pdf mail 1 seul onglet

Bonjour, non je suis sous 2003.
Mon cartouche est bien renseigné.
Désoler, j'ai fait une mauvaise manipulation et ce n'est pas ton code qui m'indiquer une erreur.
Ca fonctionne bien mais peut on mettre en PDF STP?
Code:
Sub Envoi() 'envoie pdf feuille active
Dim OutApp As Object
Dim OutMail As Object
Dim strto As String, strcc As String
Dim strsub As String, strbody As String
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.createitem(0)

x = ThisWorkbook.Path
    fichier = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4)
    Nom = x & "\" & fichier & "-" & ActiveSheet.Name & ".xls"
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs (Nom)

strto = "xxx@xxx.com" 'déstinataire
If [F28] = "" Then
strcc = ""
Else
strcc = "Fax=" & Range("F28") & "@faxagence.net" 'déstinataire fax client
End If
strsub = "Etude " & Range("A28") 'nom+etablissement
strbody = "Bonjour" & vbNewLine & vbNewLine & _
"Voici l'étude de " & Range("A28") & vbNewLine & vbNewLine & _
"" & vbNewLine & vbNewLine & _
"Cordialement, " & vbNewLine & vbNewLine & _
" " & GetLoginName 'signature
With OutMail
.To = strto
.CC = strcc
.Subject = strsub
.Body = strbody
.Attachments.Add ActiveWorkbook.FullName 'ici
.Display
End With
ActiveWorkbook.Close 0
    Application.DisplayAlerts = False
    Kill Nom
    Application.DisplayAlerts = True
End Sub

Merci infiniment.
 
Dernière édition:
Re : macro pdf mail 1 seul onglet

bon !
J'ai trouver la solution sur un autre site :
Code:
Sub ToPdf()

Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
NomExcel = ActiveSheet.Name
nompdf = Left(NomExcel, Len(NomExcel)) & " " & [A28] & ".pdf"
With pdfjob
    If .cstart("/NoProcessingAtStartup") = False Then
        MsgBox "Can't initialize PDFCreator.", vbCritical + vbOKOnly, "PrtPDFCreator"
    Exit Sub
    End If
    .cOption("UseAutosave") = 1
    .cOption("UseAutisaveDirectory") = 1
    .cOption("AutosaveDirectory") = ThisWorkbook.Path
    .cOption("AutosaveFilename") = nompdf
    .cOption("AutosaveFormat") = 0
    .cClearCache
End With
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Do Until pdfjob.cCountOfPrintjobs = 1
    DoEvents
Loop
pdfjob.cPrinterStop = False
Do Until pdfjob.cCountOfPrintjobs = 0
    DoEvents
Loop
With pdfjob
    .cDefaultprinter = DefaultPrinter
    .cClearCache
    .cClose
End With
Set pdfjob = Nothing
End Sub

Donc a ce moment là, j'ai un fichier en .pdf qui porte le nom en F28 sur mon bureau.

Par contre j'arrive pas à rattrapé ce fichier sur mon code pour pouvoir le mettre en PJ:
Code:
Sub Envoi() 'envoie pdf feuille active
Dim OutMail As Object
Dim strto As String, strcc As String
Dim strsub As String, strbody As String
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.createitem(0)
strto = "jerome.XXX@xxx.com" 'déstinataire
If [F28] = "" Then
strcc = ""
Else
strcc = "Fax=" & Range("F28") & "@faxagence.net" 'déstinataire fax client
End If
strsub = "Etude " & Range("A28") 'nom+etablissement
strbody = "Bonjour" & " " & Range("B1") & vbNewLine & vbNewLine & _
"Voici l'étude de " & Range("A28") & vbNewLine & vbNewLine & _
"" & vbNewLine & vbNewLine & _
"Cordialement, " & vbNewLine & vbNewLine & _
" " & GetLoginName 'signature
'GetLoginName = Replace(strName, ".", " ")          'BUG objet
With OutMail
.To = strto
.CC = strcc
.Subject = strsub
.Body = strbody
.Attachments.Add "nompdf"
.Display
End With
ActiveWorkbook.Close 0
    Application.DisplayAlerts = False
    Kill Nom
    Application.DisplayAlerts = True
End Sub

Une idée?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
2 K
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
615
Réponses
2
Affichages
1 K
Réponses
6
Affichages
964
Réponses
2
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…