Erreur envoi mail Outlook via office

Bonjour à tous,

Je possède un fichier Excel avec un bouton qui envoi une plage de cellule par mail via Outlook.

Ce fichier fonctionne parfaitement si l'application Outlook est ouverte, mais si on ouvre Outlook via office, j'ai cette erreur qui apparaît :

erreur 1 erreur 2

Merci d'avance

Menzo

18test.xlsm (244.83 Ko)

Bonjour

Peut être ceci :

Sub envoiPlageCellules_Excel()

ActiveSheet.Unprotect ("065208")
ActiveSheet.Range("B11:E35").Select

Dim ol As New Outlook.Application
Dim olmail As MailItem
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
    .Subject = "Commande outillage"
    .to = "email.test@mail.fr"
    .Body = "texte du message"
    .Display
    '.Send
End With
MsgBox "La demande à bien été envoyée"
ActiveSheet.Protect ("065208")
ThisWorkbook.Close Savechanges:=False
End Sub

- Désactivez le .display ou profit de .send (je vous le laisse pour vérifier avant envoi
- En premier il faut que l'option "Microsoft Outlook Library" est activée. Pour ce faire, allez dans l'éditeur VBA: allez dans Menu / Outils / References puis cochez la case "Microsoft Outlook Library".

Cordialement

Bonjour Dan,

J'ai toujours une erreur, voir ci-dessous :

erreur 3

J'ai toujours une erreur, voir ci-dessous :

Vous avez coché la case dans le menu VBA comme expliqué ?

Oui elle est cochée

image

Non justement. Relisez, je vous ai écrit Microsoft OUTLOOK Library....

Ah oui désolé je n'avais pas fait attention.

Je viens de regarder, mais je n'ai pas "Microsoft Outlook Library"

essayez comme ceci

Sub envoiPlageCellules_Excel()

ActiveSheet.Unprotect ("065208")
ActiveSheet.Range("B11:E35").Select

Dim ol As Object
Dim olmail As Object
Set ol = CreateObject("Outlook.Application")
Set olmail = outapp.CreateItem(0)
With olmail
    .Subject = "Commande outillage"
    .to = "email.test@mail.fr"
    .Body = "texte du message"
    .Display
    '.Send
End With
MsgBox "La demande à bien été envoyée"
ActiveSheet.Protect ("065208")
ThisWorkbook.Close Savechanges:=False
End Sub

Je viens d'essayer, et j'ai une nouvelle erreur.

image image

Hum... c'est bizarre que vous n'avez pas l'option dans les outils VBA

Essayez en changeant les 4 lignes par ceci

Dim ol As Outlook.Application
Dim olMail As Outlook.MailItem
Set ol = CreateObject("outlook.application")
Set olMail = ol.CreateItem(olMailItem)

Eventuellement faites un test en cochant l'option Microsoft Office library ou en la décochant.

Bonjour Dan,

Toujours le même soucis...

image

Outlook est ouvert lorsque vous exécutez le code ?

Oui je suis connecté à Outlook.

Hum... pas simple à trouver une issue

Testez un peu comme ceci

Sub envoiPlageCellules_Excel()

ActiveSheet.Unprotect ("065208")
ActiveSheet.Range("B11:E35").Select

Dim ol As Object
Dim olmail As Object

On Error Resume Next
Set ol = GetObject(, "Outlook.Application")
On Error GoTo 0

If ol Is Nothing Then Shell "Outlook.exe", vbHide

Set ol = CreateObject("Outlook.Application")
Set olmail = outapp.CreateItem(0)
With olmail
    .Subject = "Commande outillage"
    .to = "email.test@mail.fr"
    .Body = "texte du message"
    .Display
    '.Send
End With
MsgBox "La demande à bien été envoyée"
ActiveSheet.Protect ("065208")
ThisWorkbook.Close Savechanges:=False
End Sub
Rechercher des sujets similaires à "erreur envoi mail outlook via office"