Envoi feuil par mail ....... mais avec corps de message sans CDO

Résolu
Dasaquit - 15 janv. 2013 à 09:53
 Dasaquit - 16 janv. 2013 à 14:41
Bonjour,

Ce petit bout de code placé au milieu d'une grande macro fonctionnait très bien au boulot avant modif. en utilisant Outlook 2003 (XP pack2).
Le mail part, le sujet est bien présent, la feuille également, et pour rendre cet envoi plus convivial, j'ai voulu rajouter un texte.
J'ai donc placé quelques lignes supplémentaires, que j'ai coloré en rouge ci-dessous en passant que cela fonctionnerait ................ en vain
Est ce qu'une personne charitable aurait une idée, sans CDO ni autre, juste en modifiant ces quelques lignes s'il vous plait ?
Deuxième question : Puis-je supprimer "AccuséReception" ? à quoi sert-il ici ? je ne reçois en effet jamais de confirmation de lecture !
Merci par avance.

@ toute.....



Sub Macro1()

Dim Destinataires(2) As String
Dim Sujet As String
Dim Body As String
Destinataires(1) = "besoin-d-aide@orange.fr"
Destinataires(2) = "re-besoin-d-aide@orange.fr"


Sujet = "Programme de Fabrication"

Body = "Bonjour," & vbCrLf & vbCrLf & _
"Bla bla bla" & vbCrLf & vbCrLf & _
"Cordialement"

Application.ScreenUpdating = False
ThisWorkbook.Sheets("Feuil1").Copy
ActiveWorkbook.SendMail Destinataires, Sujet, Body, AccuseReception
ActiveWorkbook.Close False
Application.ScreenUpdating = True

End Sub
A voir également:

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
16 janv. 2013 à 13:36
Bonjour,

1 - Il serait bien d'utiliser les balises de "code" lorsque vous en placez dans vos posts. ( 3eme icone en partant de la droite)

2 - Avant de poser une question, il aurait été judicieux de regarder l'aide...

3 - En general il ne suffit pas d'ajouter des arguments "au pif" pour que ça fonctionne.

Bref.. pour répondre à votre question ...ce n'est pas possible.

D'après l'aide EXCEL :

Syntaxe
expression.SendMail(Destinataires, Objet, AccuséRéception)


Paramètres
Nom Obligatoire/Facultatif Type de données Description
Destinataires Obligatoire Variante Spécifie le nom du destinataire sous la forme de texte ou, s'il y a plusieurs destinataires, d'un tableau de chaînes de caractères. Vous devez spécifier au moins un destinataire et tous les autres sont ajoutés dans la liste « À ».
Objet Facultatif Variante Spécifie l'objet sujet du message. Si vous ne spécifiez pas cet argument, le nom du document est utilisé.
AccuséRéception Facultatif Variante Affectez à cet argument la valeur True pour exiger un accusé de réception et la valeur False dans le cas contraire. La valeur par défaut est False.



Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
3
Bonjour Jordane,

Un grand merci pour ces quelques précisions, c'est très sympa d'avoir pris le temps de me répondre même si ma requête est impossible à réaliser

Je remets à dispo le code dont je me sert au boulot au millieu d'une macro ; entre les balises de code si cela peut être utile à quelqu'un !........ bref un petit amateur novice comme moi cherchant simplement à se faciliter la vie de tous les jours.

J'ai installé un petit logiciel bien connu ClickYes afin de valider le "oui" de la sécurité Outlook, bien pratique !

Je vais donc essayer de contourner cet obstacle avec un autre code

Encore merci, et désolé pour l'amateurisme

David


Sub Macro1() 

Dim Destinataires(4) As String 
Dim Sujet As String 

Destinataires(1) = "besoin-d-aide@orange.fr" 
Destinataires(2) = "re-besoin-d-aide@orange.fr"
Destinataires(3) = "re-re-besoin-d-aide@orange.fr" 
Destinataires(4) = "re-re-re-besoin-d-aide@orange.fr" 
 

Sujet = "Programme de Fabrication" 

Application.ScreenUpdating = False 
 ThisWorkbook.Sheets("Feuil1").Copy 
 ActiveWorkbook.SendMail Destinataires, Sujet, AccuseReception=False 
 ActiveWorkbook.Close False 
Application.ScreenUpdating = True 

Destinataires(1) = "pas-possible-dsl@orange.fr" 
Destinataires(2) = "re-pas-possible-dsl@orange.fr"
Destinataires(3) = "re-re-pas-possible-dsl@orange.fr" 
Destinataires(4) = "re-re-re-pas-possible-dsl@orange.fr" 
 

Sujet = "Maître de zone" 

Application.ScreenUpdating = False 
 ThisWorkbook.Sheets("Feuil2").Copy 
 ActiveWorkbook.SendMail Destinataires, Sujet, AccuseReception=False 
 ActiveWorkbook.Close False 
Application.ScreenUpdating = True 

MsgBOX "A bientôt", , "MERCI"
    
ActiveWorkbook.Close False

End Sub
0
Rejoignez-nous