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.
Il ne me reste qu’à cliquer sur le bouton ENVOYE pour que le message soit envoyé.

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é.

Merci pour le code !

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

Rechercher des sujets similaires à "code envoi mail outlook via"