Envoyer excel en pdf via outlook vba
gnioler
Messages postés
88
Date d'inscription
Statut
Membre
Dernière intervention
-
Nore -
Nore -
Bonjour,
j'ai fait plusieurs essaie de tous ce que j'ai trouvé sur le net
celle qui me convient est lla suivantes sauf qu'il me manque juste les 3 lignes complementaire pour inserer automatiquement le sujet et le corp du message
Sub EnvoiEmail()
Dim HyperLien As String
Dim pj As Variant
Sheets("Feuil1").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & "\" & "Temporaire.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
pj = ActiveWorkbook.Path & "\" & "Temporaire.PDF"
HyperLien = "mailto:" & Cells(1, 1).Value
ActiveWorkbook.FollowHyperlink HyperLien
Client = 6
End Sub
en fait j'exporte en pdf mon excel en fichier temporaire
je le nomme
je mets automatiquement le mail du destinataire qui est dans la cellule A1
j'ouvre le mail par outlook
et c'est moi qui clique sur le bouton envoyer car je veut controler avant que ca parte par contre
il me manque juste les 3 lignes complementaire pour inserer automatiquement le sujet du mail qui se trouve dans la cellule A2 et le corp du message qui se trouve dans la cellule A3
et inserer le pdf temporaire qui s'apelle pj
merci d'avance pour votre aide
j'ai fait plusieurs essaie de tous ce que j'ai trouvé sur le net
celle qui me convient est lla suivantes sauf qu'il me manque juste les 3 lignes complementaire pour inserer automatiquement le sujet et le corp du message
Sub EnvoiEmail()
Dim HyperLien As String
Dim pj As Variant
Sheets("Feuil1").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & "\" & "Temporaire.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
pj = ActiveWorkbook.Path & "\" & "Temporaire.PDF"
HyperLien = "mailto:" & Cells(1, 1).Value
ActiveWorkbook.FollowHyperlink HyperLien
Client = 6
End Sub
en fait j'exporte en pdf mon excel en fichier temporaire
je le nomme
je mets automatiquement le mail du destinataire qui est dans la cellule A1
j'ouvre le mail par outlook
et c'est moi qui clique sur le bouton envoyer car je veut controler avant que ca parte par contre
il me manque juste les 3 lignes complementaire pour inserer automatiquement le sujet du mail qui se trouve dans la cellule A2 et le corp du message qui se trouve dans la cellule A3
et inserer le pdf temporaire qui s'apelle pj
merci d'avance pour votre aide
A voir également:
- Vba créer fichier pdf + envoyer par mail avec outlook
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Fichier bin - Guide
- Fichier epub - Guide
- Creer un fichier .bat - Guide
- Fichier rar - Guide
35 réponses
J'ai aussi dis que si il y à trois boutons il y a un tab en trop, de ce fait tu reviens au premier bouton.
Essaye avec 2 Tab, normalement ça devrais aller même s'il y à un delais.
Et si vraiment ça va pas essaye avec une tempo de 2 secondes.
Essaye avec 2 Tab, normalement ça devrais aller même s'il y à un delais.
SendKeys "{TAB} {TAB}" SendKeys "^{ENTER}"
Et si vraiment ça va pas essaye avec une tempo de 2 secondes.
Start = Timer + 2 ' pour 2 secondes SendKeys "{TAB} {TAB}" SendKeys "^{ENTER}" While Timer < Start DoEvents Wend
bonjour
et merci encore une fois
pour la tabulation j 'ai vérifié il en faut bien 3 car l'icone microsoft outlook qui s'ouvre contient 3 bouton et 1 case a coché qui sert a rien et pour arriver au bon bouton j'ai essayer avec le clavier il faut 3 tab pour la tempo j'essayerai plus tard
et merci encore une fois
pour la tabulation j 'ai vérifié il en faut bien 3 car l'icone microsoft outlook qui s'ouvre contient 3 bouton et 1 case a coché qui sert a rien et pour arriver au bon bouton j'ai essayer avec le clavier il faut 3 tab pour la tempo j'essayerai plus tard
petit résumé apres plusieurs essaye de tempo avec et sans en le mettant a different endroit
en fait lorsque le prog arrive a la ligne
.HTMLBody il génère l icone mais bloque tous le programe ainsi que excel et outlook impossible d'avancer a la ligne suivante du programe tout est bloqué tant que l'on a pas cliqué sur accepter
et si on mets le bout de programe juste avant ca sert a rien
j'ai aussi essayé avec application.displayalert false
ca ne marche pas non plus
en fait l ouverture du message de securite outlook stope tout
comment peut t on faire pour simuler 3 tab et entrer???????????
je suis a cour d'idée
en fait lorsque le prog arrive a la ligne
.HTMLBody il génère l icone mais bloque tous le programe ainsi que excel et outlook impossible d'avancer a la ligne suivante du programe tout est bloqué tant que l'on a pas cliqué sur accepter
et si on mets le bout de programe juste avant ca sert a rien
j'ai aussi essayé avec application.displayalert false
ca ne marche pas non plus
en fait l ouverture du message de securite outlook stope tout
comment peut t on faire pour simuler 3 tab et entrer???????????
je suis a cour d'idée
Explique en détail comment ça se déroule quand tu dis "ça marche" ??
Apparemment ça marchait pas ??
quel est le libellé des 3 boutons ?
Ennuyant, j'ai Outlook 2000 mais y va pas sur Vista de ce fait je sais pas tester de mon côté.
Apparemment ça marchait pas ??
quel est le libellé des 3 boutons ?
Ennuyant, j'ai Outlook 2000 mais y va pas sur Vista de ce fait je sais pas tester de mon côté.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour je vais essayer d'etre le plus precis possible
pour résumé l'action du click sur l'icone accepter ne marche pas
par contre tous le reste de la macro marche tres bien, il me faut juste la ligne de prog qui ira cliquer sur l'icone eccepter
voici la macro avec les commentaires
Sub PDFMAIL()
'
Dim ObjOutlook As New Outlook.Application
Dim oBjMail
Dim pj As String
Dim Corps As String
Dim corp2 As String
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"S:\DEVIS \EN PDF\" & [E10] & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False _
pj = "S:\DEVIS\EN PDF\" & [E10] & ".pdf"
Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)
If pj = "Faux" Then Exit Sub
If VarType(pj) = vbBoolean Then Exit Sub
corp2 = "Bonjour, " & "<br><br>" _
& "vous trouverez ci joint l'offre de prix " & "<br>" _
& "je reste à votre disposition pour tous renseignement complémentaire " & "<br>" _
Corps = "<DIV align=left><FONT Size = 4> " & corp2 & " </FONT></DIV>"
With oBjMail
.To = Cells(21, 5).Value
.CC = "essai@wanadoo.fr"
.Subject = "offre de prix "
.Attachments.Add pj
.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute
'jusque là tous va bien
.HTMLBody = Corps & oBjMail.HTMLBody
'juste apres avoir exécuté la lgne ci dessus une icone microsoft outlook s'ouvre
'bloque tous les programes excel et outlook ainsi que la macro et attend que
'l'on clique sur un des trois choix
' accepter refuser aide "une case a cocher qui sert a rien"
' et uniquement lorsque l'on clique sur 1 des 3 choix la macro repart
.Display
End With
Kill "S:\DEVIS\EN PDF\" & [E10] & ".pdf"
oBjMail.Display
End Sub
pour résumé l'action du click sur l'icone accepter ne marche pas
par contre tous le reste de la macro marche tres bien, il me faut juste la ligne de prog qui ira cliquer sur l'icone eccepter
voici la macro avec les commentaires
Sub PDFMAIL()
'
Dim ObjOutlook As New Outlook.Application
Dim oBjMail
Dim pj As String
Dim Corps As String
Dim corp2 As String
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"S:\DEVIS \EN PDF\" & [E10] & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False _
pj = "S:\DEVIS\EN PDF\" & [E10] & ".pdf"
Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)
If pj = "Faux" Then Exit Sub
If VarType(pj) = vbBoolean Then Exit Sub
corp2 = "Bonjour, " & "<br><br>" _
& "vous trouverez ci joint l'offre de prix " & "<br>" _
& "je reste à votre disposition pour tous renseignement complémentaire " & "<br>" _
Corps = "<DIV align=left><FONT Size = 4> " & corp2 & " </FONT></DIV>"
With oBjMail
.To = Cells(21, 5).Value
.CC = "essai@wanadoo.fr"
.Subject = "offre de prix "
.Attachments.Add pj
.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute
'jusque là tous va bien
.HTMLBody = Corps & oBjMail.HTMLBody
'juste apres avoir exécuté la lgne ci dessus une icone microsoft outlook s'ouvre
'bloque tous les programes excel et outlook ainsi que la macro et attend que
'l'on clique sur un des trois choix
' accepter refuser aide "une case a cocher qui sert a rien"
' et uniquement lorsque l'on clique sur 1 des 3 choix la macro repart
.Display
End With
Kill "S:\DEVIS\EN PDF\" & [E10] & ".pdf"
oBjMail.Display
End Sub
1°)Tu n'a pas répondu à ma question !! relis la convenablement Stp
2°)Faut sûrement pas de tab puisque le premier bouton est.. accepter
2°)Faut sûrement pas de tab puisque le premier bouton est.. accepter
1) désolé si j'ai pas tout a fait répondu a ta question mais je suis débutant la dedans et defois je ne comprend pas tout.
si je reprend precedement
- j'ai essayer d'expliqué en detail la procedure, et le probleme
- en conclusion les differentes procedure essayé (la simulation du click) ne marche pas
2) par contre pour les tab je pense qu'il en faut 3 car quand l'icone s'ouvre par default on est sur refuser et si j'appuie sur 3 fois tab je tombe sur accepter
dit moi si j'ai repondu a ta demande
merci d'avance et désolé
si je reprend precedement
- j'ai essayer d'expliqué en detail la procedure, et le probleme
- en conclusion les differentes procedure essayé (la simulation du click) ne marche pas
2) par contre pour les tab je pense qu'il en faut 3 car quand l'icone s'ouvre par default on est sur refuser et si j'appuie sur 3 fois tab je tombe sur accepter
dit moi si j'ai repondu a ta demande
merci d'avance et désolé
Bonsoir,
Savez vous comment envoyer une feuille excel 2007 par Outlook.
Une feuille seulement (pas le classeur entier)
Savez vous comment envoyer une feuille excel 2007 par Outlook.
Une feuille seulement (pas le classeur entier)
VAL95100 >> Au début de la macro pour envoyer par Mail il faut..
Ouvrir un nouveau classeur.
Copier la page que tu veux envoyer dans ce nouveau classeur
Eventuellement supprimer les autre feuilles.
Et envoyer le nouveau classeur.
gnioler >> Je suis à cour d'idée sauf.. A la place de faire la macro dans Excel faire la macro dans Oulook,
Excel ne posant pas ce genre de problème.
Mais comme dit plus haut je ne peu pas t'aider pour le VBA d'outlook.
Ouvrir un nouveau classeur.
Copier la page que tu veux envoyer dans ce nouveau classeur
Eventuellement supprimer les autre feuilles.
Et envoyer le nouveau classeur.
gnioler >> Je suis à cour d'idée sauf.. A la place de faire la macro dans Excel faire la macro dans Oulook,
Excel ne posant pas ce genre de problème.
Mais comme dit plus haut je ne peu pas t'aider pour le VBA d'outlook.
Il est inutile de multiplier les demandes identiques et même fortement déconseillé,
deux le 08 janvier dont une mise en statut résolu
une nouvelle le 13 et plusieurs autres demandes en doublons,
regarde la pièce jointe voir si ça ressemble à ce que tu cherches
https://www.cjoint.com/?BAulEzPKIZZ
deux le 08 janvier dont une mise en statut résolu
une nouvelle le 13 et plusieurs autres demandes en doublons,
regarde la pièce jointe voir si ça ressemble à ce que tu cherches
https://www.cjoint.com/?BAulEzPKIZZ
Re,
La signature n'est pas un problème majeur, en ajoutant un item sa devrait le faire, par contre le réseau c'est une autre paire de manche et il y a fort à craindre qu'outlook soit installé sur un serveur et donc partagé ce qui complique la tache. L'envoi en CDO serait la solution que j'ai d'ailleurs proposée dans l'autre discussion.
De plus si l'entreprise en en réseau, il doit y avoir un responsable réseau qui connait la configuration de l'installation, il ne faudrait pas destabiliser le réseau.
Je regarde de mon côté mais pour l'instant je ne vois pas trop de possibilités.
Cordialement
Mike-31
La signature n'est pas un problème majeur, en ajoutant un item sa devrait le faire, par contre le réseau c'est une autre paire de manche et il y a fort à craindre qu'outlook soit installé sur un serveur et donc partagé ce qui complique la tache. L'envoi en CDO serait la solution que j'ai d'ailleurs proposée dans l'autre discussion.
De plus si l'entreprise en en réseau, il doit y avoir un responsable réseau qui connait la configuration de l'installation, il ne faudrait pas destabiliser le réseau.
Je regarde de mon côté mais pour l'instant je ne vois pas trop de possibilités.
Cordialement
Mike-31
bonjour et merci a tous pour votre aides fort sympathique et désolé pour l'attente mais plus d'internet pendant 4 jours
mike 31 désolé mais j'avais fait 2 demande car je ne savais pas dans quel forum il falait la mettre, hors ne sachant pas comment le suprimer je l'ai marqué comme résolu
au fait mike 31 c 'est moi le demandeur, je pense que VAL95100 est là pour donner un coup de main a lermitte 222
j'ai essayé l'exemple que tu m'a mis en lien et ca a l'air de marcher par contre je vais le compiler dans ma feuille et je vous tient tous au courant
merci d'avance
mike 31 désolé mais j'avais fait 2 demande car je ne savais pas dans quel forum il falait la mettre, hors ne sachant pas comment le suprimer je l'ai marqué comme résolu
au fait mike 31 c 'est moi le demandeur, je pense que VAL95100 est là pour donner un coup de main a lermitte 222
j'ai essayé l'exemple que tu m'a mis en lien et ca a l'air de marcher par contre je vais le compiler dans ma feuille et je vous tient tous au courant
merci d'avance
rebonjour mike31
j'ai deja essayé cette macro que j'avais trouvé sur le net mais je n'était pas arrivé a la mettre en forme comme je le voulais donc j'avais abandonné
elle marche tres bien car elle ne génère pas de message d'erreur par contre
j'ai un petit souci je voudrait savoir comment je fait pour mettre le signature automatique qui est enregistré quand je rédige un nouvel email
car ca va servir a 7 personnes differentes avec chacune leur signature auto enregistré dans leur outlook
j'ai deja essayé cette macro que j'avais trouvé sur le net mais je n'était pas arrivé a la mettre en forme comme je le voulais donc j'avais abandonné
elle marche tres bien car elle ne génère pas de message d'erreur par contre
j'ai un petit souci je voudrait savoir comment je fait pour mettre le signature automatique qui est enregistré quand je rédige un nouvel email
car ca va servir a 7 personnes differentes avec chacune leur signature auto enregistré dans leur outlook