Code pour envoi mail outlook via Excel
Salut à tous
J'ai un code qui normalement devrait me permettre d'envoyé la feuille active par mail.
C'est un code que j'ai copié dans le forum et essayé d'adapter à mon cas.
Mais quand j'exécute le code, le message suivant apparait : DEPASSEMENT DE CAPACITE.
N.B:j'ai bien coché Microsoft Outlook Object Library.
Je sais pas pourquoi ca marche pas.
Quelqu'un peut-il m'aider? J'utilise office 2007 donc outlook pour ma messagerie.
Je n'arrive pas à joindre le fichier mais voici le code que j'ai collé dans thisworkbook de mon fichier.
Sub SendMail_Outlook()
'Macro adaptée par Dan pour Yvouille - XL pratique le 06/05/10
'http://forum.excel-pratique.com/excel/insertion-automatique-d-adresses-electroniques-t16935.html
'ATTENTION : sous Outils/Référence, "Microsoft Outlook Object Library" doit être marqué
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim nblig As Long
Dim i As Integer
Dim MailAd As String, MailAd1 As String
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
nblig = ActiveSheet.Rows.Count
For i = Range("B" & nblig).End(xlUp).Row To 2 Step -1
MailAd = Range("B" & i) & ";"
MailAd1 = MailAd & MailAd1
Next i
With olmail
.To = "benzo01@hotmail.com"
'.CC = "" ''''''''''''''''''''''''''pour le cas des copies du message à une autre liste
.Subject = "ESSAI BOOM PLUS"
.Body = "Le texte peut également être préparé ici"
.Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
.Display
End With
End Sub
Bonjour,
J'ai épuré ton code et avec relation tardive. Chez moi ça fonctionne (Excel 2007) :
Sub SendMail_Outlook()
Dim OL As Object
Dim OLmail As Object
Set OL = CreateObject("Outlook.Application")
Set OLmail = OL.CreateItem(0)
With OLmail
.To = "benzo01@hotmail.com"
.Subject = "ESSAI BOOM PLUS"
.Body = "Le texte peut également être préparé ici"
.Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
.Display
End With
End Sub
Hervé.
et avec la liste des destinataires en B2:Bx :
Sub SendMail_Outlook()
Dim OL As Object
Dim OLmail As Object
Dim Dest As String
Dim I As Long
Set OL = CreateObject("Outlook.Application")
Set OLmail = OL.CreateItem(0)
For I = 2 To Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row
Dest = Dest & Range("B" & I) & ";"
Next I
With OLmail
.To = Dest
.Subject = "ESSAI BOOM PLUS"
.Body = "Le texte peut également être préparé ici"
.Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
.Display
End With
End Sub
Hervé.
Salut Thèse,
Merci pour vos codes que j’ai beaucoup apprécié car ils fonctionnent bien chez moi aussi.
J’ai d’autres observations à faire :
- Mon mail doit être envoyé à un seul destinataire dont l’adresse mail se trouve dans la cellule B29. Pouvez-vous faire de sorte que le mail à envoyer soit destiné à l’adresse qui se trouve dans la cellule B29 seulement ?
- Le code que vous vous proposé permet d’activer ma boite de messagerie Outlook.
N’est-il pas possible de faire de sorte que lorsque j’exécute la macro, que le message soit directement envoyé sans que je n’ai besoin de cliquer sur le bouton ENVOYE ?
- Ci-dessous, vous avez le contenu de mon message :
paris, le 25/11/2011
Monsieur le ROI DUBOY 01 BP 000SOUROUKOU 01
le PAYS
Objet : Remerciements
Cher(e) client(e),
La Direction Générale de l’entreprise BEERA vous souhaite la bienvenue dans votre société. Par, vous bénéficiez d’une présence de nos representations en Afrique et sur la France.
Sur l’intérieur du pays, nos agences sont à votre disposition pour tous types d’achat.
Nous vous remercions pour la confiance que vous placez en notre société.
Nous avons le plaisir de vous informer que votre numéro client dans nos livres est le suivant : COD1 : 000852E
COD2 : K2
N°CCL: NJ0025
N°2: 0022
Votre conseiller est yyplaceet vous pouvez la joindre au téléphone au 202120
Nous vous réitérons nos remerciements.
Cordialement
C’est ce message que je veux envoyer à mes clients.
Comment faire pour que tout ce contenu soit pris en compte ?
Ou faut-il passer par pièce jointe ? dans ce cas comment faire.
Je veux également connaître cette possibilité (envoi de mail avec pièce jointe).
Bonjour,
De cette façon peut être ?
Sub SendMail_Outlook()
Dim OL As Object
Dim OLmail As Object
Dim Texte As String
Set OL = CreateObject("Outlook.Application")
Set OLmail = OL.CreateItem(0)
Texte = "Paris, le " & Format(Date, "dd/mm/yy") & vbCrLf & vbCrLf
Texte = Texte & "Monsieur le ROI DUBOY 01 BP 000SOUROUKOU 01" & vbCrLf
Texte = Texte & "le PAYS"
Texte = Texte & vbCrLf
Texte = Texte & "Objet: Remerciements" & vbCrLf & vbCrLf
Texte = Texte & "Cher(e) client(e)," & vbCrLf
Texte = Texte & "La Direction Générale de l’entreprise BEERA vous souhaite la bienvenue dans votre société. " & _
"Par, vous bénéficiez d’une présence de nos representations en Afrique et sur la France." & vbCrLf & vbCrLf
Texte = Texte & "Sur l’intérieur du pays, nos agences sont à votre disposition pour tous types d’achat." & vbCrLf & vbCrLf
Texte = Texte & "Nous vous remercions pour la confiance que vous placez en notre société." & vbCrLf & vbCrLf
Texte = Texte & "Nous avons le plaisir de vous informer que votre numéro client dans nos livres est le suivant : COD1 : 000852E" & vbCrLf
Texte = Texte & "COD2: K2" & vbCrLf
Texte = Texte & "N°CCL: NJ0025" & vbCrLf
Texte = Texte & "N°2: 0022" & vbCrLf
Texte = Texte & "Votre conseiller est yyplaceet vous pouvez la joindre au téléphone au 202120" & vbCrLf
Texte = Texte & "Nous vous réitérons nos remerciements." & vbCrLf & vbCrLf & vbCrLf
Texte = Texte & "Cordialement." & vbCrLf
With OLmail
.To = [B29] 'adresse du destinataire en B29
.Subject = "ESSAI BOOM PLUS"
.Body = Texte
.Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
.Display
.Send 'envoi automatique
End With
End Sub
Hervé.
Salut Thèse
Tu es un genie.
C'est ce que je cherchais depuis des mois et DIEU faisant bien les choses, suis tombé sur toi.
Y'a un petit detail qui me manque.
Lorsque j'envoi un mail sans le code, y'a ma signature qui apparait en bas de mon message.
Mais avec le code, la signature n'apparait pas.
Comment faire pour intégrer une signature?
Merci pour tout et que DIEU te bénisse!
Bonsoir,
Désolé pour le retard (peut de temps libre en ce moment)
Il te suffit de rajouter ta signature après le texte, du style :
Dim Signature As String
Signature = " bla bla bla....."
.Body = Texte & vbCrLf & Signature
Hervé.
Bonjour Thèse, Neurone et le forum
Juste vous remercier pour vos riches contributions.
Cordialement
juste pour partagé un peut plus ..
j’utilise après plusieurs plantage sur diverse machine
1) .To = Range("a3").Value ' le destinataire en A3 dans le cadre d'un résulta rechercheV en cellule A3
2) .To = "prénom.nom@laboitemail.fr" ' le destinataire
le petit 1 , remplace le code suivant
=====> .To = [B29] 'adresse du destinataire en B29
cordialement