Envoi d'un mail outlook avec pj sous VBA

Bonjour,

J'ai un souci pour envoyer ma pj par outlook sous vba. J'ai une erreur d'exécution 91 : Variable objet ou variable de bloc With non définie
qui provient de la ligne "MonMessage.Display"

Merci bcp pour votre aide

---------------

Sub envoiClasseur()

Dim Fichier As Variant

Fichier = Application.GetOpenFilename("Tous les fichiers(*.*),*.*")

MsgBox Fichier

Dim MaMessagerie As Object

Dim MonMessage As Object

Set MaMessagerie = CreateObject("Outlook.application")

Set MonMessage = MaMessagerie.Createitem(0)

MonMessage.Display

MonMessage.to = "toto.toto@gmail.com"

MonMessage.attachments.Add Fichier

MonMessage = "Tableau de suivi des agents"

contenu = "Bonjour," & vbCr & vbCr

contenu = contenu & "Veuillez trouver en pièce jointe le fichier Excel" & vbCr & vbCr

contenu = contenu & "Bien cordialement."

MsgBox contenu

MonMessage.HTMLbody = contenu

MonMessage.Send

Set MaMessagerie = Nothing

MsgBox "Votre mail a bien été envoyé"

End Sub

Bonjour,

Je viens de tester je n'ai aucun souci

Sub envoiClasseur()

    Dim Fichier As Variant, contenu As String

    Fichier = Application.GetOpenFilename("Tous les fichiers(*.*),*.*")

    'MsgBox Fichier

    Dim MaMessagerie As Object
    Dim MonMessage As Object

    Set MaMessagerie = CreateObject("Outlook.application")
    Set MonMessage = MaMessagerie.CreateItem(0)

    contenu = "Bonjour," & "<br><br>" & "Veuillez trouvez en pièce jointe le fichier Excel" _
    & "<br><br>" & "Bien cordialement." & "<br><br>"

    With MonMessage
        .Display
        .To = ""
        .Subject = "Tableau de suivi des agents"

        .HTMLBody = contenu & .HTMLBody

        .Attachments.Add Fichier
        '.Send

    End With

    Set MaMessagerie = Nothing

    'MsgBox "Votre mail a bien été envoyé"

End Sub

Les références Outlook est bien cocher 16.0 Object LIbrary ?

Bonjour Shenzar,

La référence outlook cochée est 14.0 Object LIbrary car là je suis sur mon ordi pro et donc EXCEL 2010.

Cela a une incidence ?

Merci bcp

Bonjour,

Je pensais que c'était 2016, ah bah si la bonne version est cocher, je ne sais pas alors, je n'ai pas la version 2010 pour faire des test, quelqu'un d'autre vous aidera peut être mieux :)

Cela dit j'ai arrangé un peu votre code qu'il soit plus fun à regarder

Sub envoiClasseur()

    Dim Fichier As Variant, contenu As String

    Fichier = Application.GetOpenFilename("Tous les fichiers(*.*),*.*")

    'MsgBox Fichier

    Dim MaMessagerie As Object
    Dim MonMessage As Object

    Set MaMessagerie = CreateObject("Outlook.application")
    Set MonMessage = MaMessagerie.CreateItem(0)

    contenu = "Bonjour," & "<br><br>" & "Veuillez trouvez en pièce jointe le fichier Excel" _
    & "<br><br>" & "Bien cordialement." & "<br><br>"

    With MonMessage
        .Display
        .To = ""
        .Subject = "Tableau de suivi des agents"

        .HTMLBody = contenu & .HTMLBody

        .Attachments.Add Fichier
        '.Send

    End With

    Set MaMessagerie = Nothing

    'MsgBox "Votre mail a bien été envoyé"

End Sub

Cool c'est bon Shenzar, cela fonctionne.

Seul les caractères du mot "bonjour" ont une police plus grande que les autres mots figurant dans le corps du texte.

Merci

Bonjour

C'est good

Rechercher des sujets similaires à "envoi mail outlook vba"