OVH Cloud OVH Cloud

Envoi par Email

21 réponses
Avatar
GD_NXT
Bonjour à tous

Dans une macro, j'utilise le code suivant pour envoyer le fichier actif par
Email en tant que fichier joint.



ActiveWorkbook.SendMail Recipients:="NomDestinataire",
Subject:=NomFichier & "Email transfert auto"





Ma difficulté est que je ne sais pas comment faire pour mettre un
destinataire en copie, ni mettre un texte de message!

Merci d'avance pour votre aide.

Cordialement.

GDNxt

1 réponse

1 2 3
Avatar
sabatier
et si vous n'étiez pas revenu de vacances, hein, frédéric, combien de
pauvres bougres errrrrrrrrraient encore dans cette quête de la perfection?
jps (plus de toutes entre l'auvergne et le beaujolais?)

"Frédéric Sigonneau" a écrit dans le message de
news:%
Bonsoir,

Merci de cette vérification et correction du code. Rien n'échappe à votre
oeil

d'aigle :)
Avec envoi du message, ça pourrait se compléter comme ceci :

'===================== > Sub MailOXpress()
Dim dest$, sujet$, texte$

dest = ""
sujet = "Envoyer un mail depuis Xl"
texte = "Envoyé avec Outlook Express depuis Excel"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & dest & _
"?subject=" & sujet & _
"&Body=" & texte, vbMaximizedFocus
DoEvents
SendKeys "%s"
End Sub
'===================== >
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


re papou
je crois que tu n'es plus là et tu regarderas demain mais voici quelle
est


la bonne syntaxe de la proc à FS telle que tu m'en avais donné le
lien...


mais tu seras d'accord avec moi pour dire qu'il y en a ras la casquette
de


passer derrière tous ces MVPs vraiment trop approximatifs et qu'une fois
de


plus, ce sont les petits, les crottés, les sans-grades qui sont obligés
de


mettre les mains dans le cambou.ini...
voici donc le morceau de proc (et de bravoure réunies) comme il aurait



être écrit pour que ce 3 fasse bien son travail de Maximedfocus...

Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & dest & _
"?subject=" & sujet & _
"&Body=" & texte, 3

et fais-moi penser à voler dans les plumes de FS et aussi dans celles
d'un


certain Eric Humeau qui a fait encore pire....
jps

"Papou" a écrit dans le message de
news:

JP
Pour le PS1, je rectifie, il ne s'agissait pas d'un scud mais d'une


histoire

rigolote ;-)
Pour le PS2, sous réserve d'approbation de l'auteur ;-), il semble bien
d'après ce que j'en lis, que l'ensemble des paramètres, y compris le
texte



du mél, doivent être effectivement intégrés en un seule et unique ligne
;



l'explication serait que ce code n'est ni plus ni moins qu'une exécution


du

programme OE msimn.exe au travers d'une commande Exécuter (équivalent de
Démarrer, Exécuter), suivi d'un ensemble de paramètres accéptés par cet
exécutable et précédés par des commutateurs ad-hoc. (un peu à l'instar
du



"fameux" Démarrer Exécuter "C:Program FilesMicrosoft
OfficeOfficeExcel.exe" /Regserver - qui sert à réinitialiser
l'ensemble



des entrées de la base de registre pour Excel - mais bon, là tu connais
!)




Cordialement
Pascal

"jps" a écrit dans le message de
news:%

ach! merdum de merdum...j'étais persuadé que l'adresse écrite par papou
était bidon
désolé GDNxt....tu peux jeter le fichier des anciens combattants 14-18



du

beaujolais
jps
PS1 quant à papou, ça lui a permis de faire d'un scud deux coups, le


félon!

PS2 dis-moi, papou, tant que je te tiens : peux tu me dire pourquoi
dans





la

proc de FS pour OE vers qui tu m'as dirigé si aimablement, le , 3" (tu


vois

où c'est?) qui doit correspondre à une des options focus, pourquoi,
disais-je, celui fait finalement partie du corps de l'émile, et ce,



juste

à

la fin du texte? merci pour lui

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de
news:OVO2%

Bonjour
C'était avec plaisir ;-)


JP (sabatier) : apparemment tu as testé le code avec mon
adresse dedans car j'ai reçu un fichier (j'ai cru que
c'était un spam !!!)


:-))))))))

Cordialement
Pascal

"le_g0eland" a écrit dans le



message

de news:07b301c47aec$8106e600$

Super Papou !!!
ça marche impec

JP (sabatier) : apparemment tu as testé le code avec mon
adresse dedans car j'ai reçu un fichier (j'ai cru que
c'était un spam !!!)

V
le_g0eland


-----Message d'origine-----
modifie comme ça :
Sub AllonsY()
Dim objOutlook As Outlook.Application
Dim Nmessage As Outlook.MailItem
Set objOutlook = New Outlook.Application
Set Nmessage = objOutlook.CreateItem(olMailItem)
With Nmessage
..Subject = "Testons"
..Body = "Salut" & vbLf & _
"C'est le fichier dont je t'ai parlé" _
& vbLf & "A bientôt"
..Attachments.Add (ThisWorkbook.FullName)
..ReadReceiptRequested = True
..Recipients.Add ("")
..Send
End With
Set objOutlook = Nothing
Set Nmessage = Nothing
End Sub

Cordialement
Pascal

"le_g0eland" a


écrit dans le message

de news:076701c47ac7$e4852c70$

Pour les ".." je ne sais pas par quel mystère ils
apparaissent comme ça dans les messages.
Peut être que les espaces " " sont convertis en "." ?

En ne mettant qu'un point, j'ai une erreur au niveau de :
..Subject = "Testons"
variable objet ou variable de bloc with non définie

Je met dessous le code que j'utilise :

-------------------
Sub AllonsY()

Dim objOutlook As Outlook.Application
Dim Nmessage As Outlook.MailItem

Set objOutlook = New Outlook.Application

With Nmessage
.Subject = "Testons"
.Body = "Salut" & vbLf & "C'est le fichier dont je
t'ai parlé" & vbLf & "A bientôt"
.Attachments.Add (ThisWorkbook.FullName)
.ReadReceiptRequested = True
.Recipients.Add ("")
.Send
End With

Set objOutlook = Nothing
Set Nmessage = Nothing

End Sub
-------------------


-----Message d'origine-----
Bonjour
Ben je ne comprend pas vraiment parce que si je regarde


ma premier réponse,

il n'y avait pas d'erreur !
Mais bon pour avancer, il ne faut qu'un seul "." (point)

Cordialement
Pascal

"le_g0eland" a


écrit dans le message

de news:05d601c47ab8$d15b28c0$

Salut Pascal,

J'ai fait un copier/coller de tes lignes de code (ci-
dessous) et toutes les lignes commençant par ".."
apparaissent en rouge.

Il y a des précautions à prendre ou j'ai un bogue ?

V
le g0eland


-----Message d'origine-----
Bonjour
Pas possible avec SendMail, mais par contre avec OLE


c'est possible.

Ajoute une référence à Microsoft Outlook x.0 Object


Library (où x correspond

à ta version)
puis dans un module standard :
Sub AllonsY()
Dim objOutlook As Outlook.Application
Dim Nmessage As Outlook.MailItem
Set objOutlook = New Outlook.Application
With Nmessage
..Subject = "Testons"
..Body = "Salut" & vbLf & "C'est le fichier dont je t'ai


parlé" & vbLf & "A

bientôt"
..Attachments.Add (ThisWorkbook.FullName)
..ReadReceiptRequested = True
..Recipients.Add ("")
..Send
End With
Set objOutlook = Nothing
Set Nmessage = Nothing
End Sub

Cordialement
Pascal


"GD_NXT" a écrit dans le message



de

news:cequnk$pta$

Bonjour à tous

Dans une macro, j'utilise le code suivant pour envoyer



le fichier actif

par

Email en tant que fichier joint.



ActiveWorkbook.SendMail



Recipients:="NomDestinataire",

Subject:=NomFichier & "Email transfert auto"





Ma difficulté est que je ne sais pas comment faire





pour

mettre un

destinataire en copie, ni mettre un texte de message!

Merci d'avance pour votre aide.

Cordialement.

GDNxt





.




.




.






















1 2 3