XL 2016 code Vba mail depuis excel

crurik

XLDnaute Nouveau
bonjour, mon soucie par rapport a mon code c'est que je suis obligé d’ouvrir outlook manuellement pour que le mail s'envoie car il reste bloquée dans la boite d'envoie si je ne le fait pas. Je tient a précisé que j'ai recherché par mais propre moyen mais je ne trouve pas la solution à mon problème. Merci d'avance pour le coup de main que vous pourriez m'apporter.

je vous laisse le code ici:

Option Explicit

Private Sub CommandButton1_Click()

Dim LeMail As Variant
Dim fichier As String

Set LeMail = CreateObject("Outlook.Application")

With LeMail.CreateItem(olMailItem)
.To = "adresse du destinataire"

fichier = "E:\"

.Attachments.Add fichier

.Display

End With


End Sub
 
Solution
Re


Dans ce cas, publie ta solution ici.
Elle pourrait servir à d'autres membres du forum avec une problématique similaire.
;)
la voici:
VB:
Function ExistenceFichier(sFichier As String) As Boolean

ExistenceFichier = Dir(sFichier) <> ""

End Function


Sub EnvoiMail()

Dim objMail As Outlook.MailItem
Dim outapp As Outlook.Application
Set outapp = New Outlook.Application

Dim X As Object
Dim sNomFichier As String

sNomFichier = Sheets("Config").Range("L11").Value
'Le chemin de Outlook.exe sera alors indiqué en case L11, dans un onglet nommé “Config” car il diffère effectivement en fonction de la version de votre 'Office, ... Chaque utilisateur pourra donc écrire dans cet onglet de configuration le chemin de leur Outlook.exe

On...

crurik

XLDnaute Nouveau
Re


Dans ce cas, publie ta solution ici.
Elle pourrait servir à d'autres membres du forum avec une problématique similaire.
;)
la voici:
VB:
Function ExistenceFichier(sFichier As String) As Boolean

ExistenceFichier = Dir(sFichier) <> ""

End Function


Sub EnvoiMail()

Dim objMail As Outlook.MailItem
Dim outapp As Outlook.Application
Set outapp = New Outlook.Application

Dim X As Object
Dim sNomFichier As String

sNomFichier = Sheets("Config").Range("L11").Value
'Le chemin de Outlook.exe sera alors indiqué en case L11, dans un onglet nommé “Config” car il diffère effectivement en fonction de la version de votre 'Office, ... Chaque utilisateur pourra donc écrire dans cet onglet de configuration le chemin de leur Outlook.exe

On Error Resume Next
Set X = GetObject(, "Outlook.application")
If Err.Number <> 0 Then '
If ExistenceFichier(sNomFichier) Then
ID = Shell(sNomFichier)

Else
MsgBox "Je ne reconnais pas l'adresse de OUTLOOK.exe sur votre PC (A préciser dans l'onglet Config) !" & Chr(10) & Chr(10) & "Le fichier se trouve cependant bien envoyé dans la Outbox de Outlook ..." & Chr(10) & Chr(10) & "Il faudra donc lancer manuellement Outlook pour que le fichier soit envoyé !"
End If

Else

'MsgBox "Outlook est déja ouvert ..."

End If

Dim fichier$
fichier = ThisWorkbook.Path & "\votre fichier"
envoyerMail "######@hotmail.fr","TEST", fichier
End Sub

Private Sub envoyerMail(Destinataire$, Copie$, Objet$, Pjointe$)
With CreateObject("Outlook.Application").CreateItem(0)
.Subject = Objet: .To = Destinataire: .Attachments.Add Pjointe: .Display ""
End With



End Sub
 

Discussions similaires

Réponses
2
Affichages
233
Réponses
2
Affichages
113
Réponses
4
Affichages
530

Statistiques des forums

Discussions
312 200
Messages
2 086 163
Membres
103 149
dernier inscrit
Deepkneec