macro pour envoyer un mail depuis excel par outlook

Liloo14

XLDnaute Nouveau
Bonjour,
J'ai la macro suivante pour envoyer un mail depuis excel par outlook.
Sub SendEMail()
Dim NouveauClasseur As Workbook
Dim Destinataire As String
Destinataire = "Mondestinataire@truc.fr"
Dim Objetmessage As String
Objetmessage = "Evénement constaté"

Application.ScreenUpdating = False

ThisWorkbook.Sheets("Evenement").Copy
Set NouveauClasseur = ActiveWorkbook
NouveauClasseur.SaveAs Objetmessage

Dim ol As Object, myItem As Object
Set ol = CreateObject("outlook.application")
Set myItem = ol.CreateItem(olMailItem)
myItem.To = Destinataire
myItem.Subject = Objetmessage
myItem.Body = "Bonjour" & Chr$(13) & Chr$(13) & "Cordialement" & Chr$(13) & Chr$(13) & "G G" & Chr$(13) & Chr$(13) & Range("K22").Value & Chr$(13) & Chr$(13) & Range("K25").Value & Chr$(13) & Chr$(13) & Range("K28").Value & Chr$(13) & Chr$(13) & Range("K31").Value & Chr$(13) & Chr$(13) & Range("K34").Value & Chr$(13) & Chr$(13) & Range("K35").Value & Chr$(13) & Chr$(13) & Range("K40").Value & Chr$(13) & Chr$(13) & Range("K46").Value & Chr$(13) & Chr$(13) & Range("K48").Value
'fichier en cours d'utilisation envoyé en attaché:
myItem.Attachments.Add ActiveWorkbook.FullName
myItem.Send

Set ol = Nothing

Application.DisplayAlerts = False
With NouveauClasseur
.ChangeFileAccess xlReadOnly
Kill .FullName
Application.DisplayAlerts = True
.Close False
End With
End Sub

Je rencontre le probleme classique lors de l'envoie qui provient de la protection dans outlook. Une pop up s'ouvre et après 5 secondes de synchro me demande de cliquer sur OUI pour valider l'envoie.
Néanmoins, je peux me passer d'envoyer le fichier joint puisque j'inclue également les renseignement dans le corps du texte.
Hors, lorsque j'ôte les lignes qui commande de créer et joindre le fichier, mon email ne part plus.
J'ai ôté les lignes en rouge.
Quelqu'un pourrait-il me dire où j'ai fais une erreur svp?
Merci par avance
 

bof

XLDnaute Occasionnel
Re : macro pour envoyer un mail depuis excel par outlook

Bonjour,
C'est la ligne
Code:
myItem.Send
qui permet l'envoi du message....
Mais la suppression de la pièce jointe n'empêchera pas l'apparition du message de demande de confirmation.
A+
 

loiclass

XLDnaute Occasionnel
Re : macro pour envoyer un mail depuis excel par outlook

Bonjour,

Essaye ce code, il te permet d'ouvrir une fenêtre outlook avec des pièces jointes.

Set oOutlook = CreateObject("Outlook.Application")
Set oNewMail = oOutlook.CreateItem(olMailItem)

With oNewMail
.Attachments.Add "C:/" '<-Ici le chemin du fichier
.Recipients.Add "toto@toto.fr" '<-l'adresse du/des destinataires
.Subject = "objet"
.Body = "texte du message"
.display '<-ou .Send si tu veux l'envoyer directement
End With


Il ne te reste plus qu'à l'adapter selon tes besoins.
 

bof

XLDnaute Occasionnel
Re : macro pour envoyer un mail depuis excel par outlook

Perso, je n'ai pas ce problème de demande de confirmation au boulot, cela vient-il d'une option !?
Je pense que c'est plutôt un problème de pare-feu ou d'anti-virus...
J'ai rencontré ce problème plusieurs fois avec des résultats très différents selon les versions et les anti-virus.
J'ai adopté comme solution ClickYes économique et définitif en utilisation non professionnelle.
Pour autant que je me rappelle peu onéreux (une trentaine d'euros) en version pro monoposte.
A+
 

Liloo14

XLDnaute Nouveau
Re : macro pour envoyer un mail depuis excel par outlook

Merci à tous pour vos réponses.
Merci BOF, j'aurais du voir en effet qu'en supprimant cette ligne ça ne pouvait fonctionner. Par contre, si tu me dis que d'ôter le fichier joint ne changera rien ça m'avance, je n'aurai donc pas à essayer de contourner le problème et je gagne du temps. Pour ClikYes j'y ai pensé mais ce n'est pas possible. Interdiction formelle d'installer quoi que ce soit sur nos poste de travail.
Pour BRUNO, moi non plus je n'ai pas ce message sur mon ordi perso. Par contre je l'ai au travail et je pense que c'est du à une protection car le système informatique est géré par un administrateur et avec un réseau intranet, ils protègent beaucoup.
Merci LOICLASS pour le code, je vais l'essayer en l'adaptant.
Si par hazard je trouve une combine je vous tiens au courant.
Bon week-end à tous
 

Liloo14

XLDnaute Nouveau
Re : macro pour envoyer un mail depuis excel par outlook

Une petite question supplémentaire, si quelqu'un a une idée :
La ligne "ThisWorkbook.Sheets("Evenement").Copy" copie le contenu de la feuille ("Evenement"). Au lieu de créer un classeur qui sera envoyé en pièce jointe et de coller dedans, si je veux coller dans le corps du texte du mail, quelqu'un aurait-il une idée pour compléter ma ligne "myItem.Body =???" ?
 

Discussions similaires

Réponses
2
Affichages
236
Réponses
3
Affichages
705

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 172
dernier inscrit
Aurelyan