Ouvrir Outlook depuis Excel pour un envoi de tableau Excel

Bonjour,

J'ai un fichier avec un tableau situé en "A1:J46".

J'ai un bouton avec une MACRO pour envoyer un mail. La MACRO suivante fonctionne parfaitement :

Sub ENVOYER()
ActiveSheet.Range("A1:J46").Select
ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope
    .Introduction = "Bonjour ...."
    .Item.To = "tartam.pion@free.fr"
    .Item.Subject = "Hello"
    .Item.Send

End With
End Sub

le PROBLEME est que pour que cet envoi se fasse il faut que OUTLOOK soit ouvert préalablement.

Comment puis-faire pour que la MACRO ouvre OUTLOOK avant d'exécuter l'envoi du mail ?

Un très grand merci pour votre aide +++

Bien à vous

Bonjour,

Remplace

.Item.Send

par

.Item.Display

si cela ne fonctionne pas, je t'enverrai un autre code !


je te propose plutôt ceci :

Option Explicit
Sub envoi()

Dim messagerie As Object
Dim email As Object
Dim numero As Integer

On Error GoTo erreur

    Set messagerie = CreateObject("Outlook.Application")
    Set email = messagerie.CreateItem(0)
    With email
        .to = ""
        .Subject = "test envoi mail"
        .ReadReceiptRequested = True
    End With

    Range("A1:J46").Copy
    email.display
    Application.Wait (Now + TimeValue("0:00:01"))
    SendKeys "^v", True
    'Application.CutCopyMode = False

    Set email = Nothing
    Set messagerie = Nothing

Exit Sub

erreur:

    MsgBox "Erreur : " & Err.Number & vbLf & Err.Description

End Sub

Un autre code ... avec EnvelopeVisible !

Sub ENVOYER()
    Dim Sendrng As Range

    On Error GoTo FIN

    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    Set Sendrng = ActiveSheet.Range("A1:J46")
    With Sendrng

        ActiveWorkbook.EnvelopeVisible = True
        With .Parent.MailEnvelope

            .Introduction = "Bonjour ...."
            .Item.To = "tartam.pion@free.fr"
            .Item.Subject = "Hello"
            .Item.Send

        End With
    End With

FIN:
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
    ActiveWorkbook.EnvelopeVisible = False

End Sub

Merci beaucoup pour tes réponses rapides et précises.

Cependant, ça ne semble pas fonctionner si Outlook n'est pas ouvert au préalable.

Merci de ton aide.

Cordialement

Désolé, chez moi cela fonctionnait quand j'avais outlook.

Donc je ne sais plus quoi te répondre ...

as-tu essayé celle-ci avec laquelle je n'ai jamais eu de problème, et que j'ai souvent proposé (et implémenté) :

Option Explicit
Sub envoi()

Dim messagerie As Object
Dim email As Object
Dim numero As Integer

On Error GoTo erreur

    Set messagerie = CreateObject("Outlook.Application")
    Set email = messagerie.CreateItem(0)
    With email
        .to = ""
        .Subject = "test envoi mail"
        .ReadReceiptRequested = True
    End With

    Range("A1:J46").Copy
    email.display
    Application.Wait (Now + TimeValue("0:00:01"))
    SendKeys "^v", True
    'Application.CutCopyMode = False

    Set email = Nothing
    Set messagerie = Nothing

Exit Sub

erreur:

    MsgBox "Erreur : " & Err.Number & vbLf & Err.Description

End Sub
 

Merci.

Ca ne fonctionne pas.

Puis-je vous envoyer le fichier ?

Merci !

OUI en mp

J'essaierai de regarder ce qui coince (bien que je n'aie plus outlook).

Rechercher des sujets similaires à "ouvrir outlook envoi tableau"