code vba "envoyer recevoir" outlook

andrekn13

XLDnaute Occasionnel
Je cherche à trouver une solution pour , qu'une fois mon mail soit envoyé à partir de mon code excel vba, Outlook se réactive pour faire l'envoi réellement. Car il se loge dans " à envoyer", et Outlook se ferme. je dois donc le réouvrir "manuellement" pour procéder à l' envoi.
j'ai essayé pleins de paramètres dans Outlook, comme "hors connexion" toutes les minutes, mais je pense que lorsqu'il est fermé, rien n'y fait.

Dim X As String
Dim Y As String
Dim Z As String
Dim nomUtilisateur As String
Dim CheminDuFichier As String

X = Range("E45").Value
Y = Range("E11").Value
Z = Range("H17").Value
CheminDuFichier = Z & " - " & Y & " - " & X & " € " & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\" & Environ("username") & "\Desktop\" & CheminDuFichier, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False

Set olApp = CreateObject("Outlook.application")
Set M = olApp.CreateItem(ol_MailItem)
With M
M.To = Range("E19").Value 'le destinataire
M.Subject = " facture"
M.Body = "Bonjour" & vbCr & "Veuillez trouver ci-joint mon offre de prix" & vbCr & " Cordialement " 'texte a rajouter"
M.Attachments.Add "C:\Users\" & Environ("username") & "\Desktop\" & CheminDuFichier
'Set oBjMail = Nothing
.Display
SendKeys "^{ENTER}"
M.send
nomUtilisateur = Application.UserName
Kill "C:\Users\" & nomUtilisateur & "\Desktop\" & CheminDuFichier


Set oBjMail = Nothing
Set olApp = Nothing
'Application.Dialogs(xlDialogSendMail).Show

Normalement, " .Send" doit il l' envoyer même si Outlook se ferme du moment qu'il commence cette tâche et qu'il continue en travail de fond et c'est mon Outlook qui bugg ? ou je doit rajouter une commande pour qu'il l'envoi avant de fermer ?
Si quelqu'un connaît la réponse .... je le remercie par avance.
 

Staple1600

XLDnaute Barbatruc
Re : code vba "envoyer recevoir" outlook

Re


Régle tes problèmes de Windows avant de continuer à poster ;)
(Déinstalles la mise à jour, ou utilises un point de restauration, et accessoirement testes un autre navigateur)

Ensuite reviens sur le forum, pour ta question
(et essaies de répondre aux miennes de question ;), notamment celles à propos de CDO )
 

andrekn13

XLDnaute Occasionnel
Re : code vba "envoyer recevoir" outlook

re bonsoir
j'ai essayé le code de Martial sur le lien donné par Gélinotte
https://www.excel-downloads.com/threads/vba-ouverture-d-outlook-pour-envoie-d-email.197366/
c'est nickel , mais cerise sur le gâteau , je ne voit pas comment mettre Outlook en arrière plan , j'ai essayé avec
'vbHide 0 La fenêtre est masquée et activée. La constante vbHide n'est pas applicable sur les plates-formes Macintosh.
'vbNormalFocus 1 La fenêtre est activée et rétablie à sa taille et à sa position d'origine.
'vbMinimizedFocus 2 La fenêtre est affichée sous forme d'icône et activée.
'vbMaximizedFocus 3 La fenêtre est agrandie et activée.
'vbNormalNoFocus 4 La fenêtre est rétablie à sa taille et à sa position les plus récentes. La fenêtre active reste active.
'vbMinimizedNoFocus 6 La fenêtre est affichée sous forme d'icône. La fenêtre active
et aucun résultat !! pour "une fois" que c'est compréhensible, même là je panne:confused:
 

andrekn13

XLDnaute Occasionnel
Re : code vba "envoyer recevoir" outlook

RE bonsoir
Pour staple 1600
Pour répondre à ta question concernant Le CDO
(ouf réussi à me débarrasser de mes bugs)
Si j'ai bien compris le CDO qui remplace notre messagerie par défaut, il faut dans le module du CDO indiquer nos paramètres de connexions. Hors mon fichier est conçu pour que mon fichier puisse être utilisé pour n'importe quel ordi et utilisateur.
Le PDF créé, par exemple, va sur le bureau , quelque soit le nom d'utilisateur ou de session.
Et surtout, Outlook conserve toutes les traces des mails. Pour une société,( tout au moins) , on a besoin de tout conserver, entre les envois, les confirmations...etc.
Donc je ne pense pas que CDO soit le meilleur outil.
Et après de maints essais , j'ai enfin compris pourquoi toute la partie "accès au programme" est grisé

Même si on travaille sous la session administrateur ???, il faut aller dans
C:\Program Files (x86)\Microsoft Office\Office14, ouvrir Outlook.exe en tant qu'administrateur et là on peut changer et autoriser les programmes ext
Donc, si je ne suis pas sous serveur pourquoi donc faire compliquer?
à moins que j'ai loupé quelque chose....
 

Pièces jointes

  • outlook grisé.jpg
    outlook grisé.jpg
    52.1 KB · Affichages: 63

andrekn13

XLDnaute Occasionnel
Re : code vba "envoyer recevoir" outlook

ça alors, au moment où j 'écrivais tu me postais !
J'ai pas compris, juste avant j'ai cliqué sur ton image et c'était marqué "déconnecté" alors qu'au même moment, à 19H38 env tu répondais ?
 

lepigoennier

XLDnaute Junior
Re : code vba "envoyer recevoir" outlook

Je ne sais pas si ça peut t'aider, mais mes courriels partent sans problème avec ce code

Sub mail()
Set obOutApp = CreateObject("Outlook.Application")
obOutApp.Session.Logon
Set obOutMail = obOutApp.CreateItem(0)


Dim adresse As String
Dim message As String
Dim sujet As String
Dim item As String
Dim Description

Derlig = Range("A" & Rows.Count).End(xlUp).Row

sujet = "" 'le sujet est le même pour tous les mails
For i = 2 To Derlig
adresse = Range("I" & i)
Description = Range("E" & i)
soumission = Range("J" & i)
eau = Range("K" & i)
DueDate = Range("O" & i)
Order = Range("P" & i)
item = Range("B" & i)


message = ""

dessin = Range("L" & i)
item = Range("B" & i)
Set OutlookApp = CreateObject("outlook.application")
Set OutlookMail = OutlookApp.CreateItem(0)

With OutlookMail
.Subject = sujet & item
.Cc = ""
.Bcc = adresse
.Body = message
.Attachments.Add (dessin)
.Send 'on envoie le mail créé

End With

Next i 'on passe au mail suivant

End Sub
 

andrekn13

XLDnaute Occasionnel
Re : code vba "envoyer recevoir" outlook

RE Bonsoir lepigoennier
je viens de reprendre ton code et j'ai le même soucis : ouvre Outlook, mets dans la boite d' envi, referme.
je dois donc ré ouvrir Outlook pour que le message soit envoyé ... c'est comme ça que tu as ? où c'est mon Outlook qui n'est pas bien paramétré ( et là je vois pas par où...)
 

Discussions similaires

Réponses
2
Affichages
268
Réponses
2
Affichages
120

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 501
dernier inscrit
talebafia