code vba "envoyer recevoir" outlook

  • Initiateur de la discussion Initiateur de la discussion andrekn13
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
Re : code vba "envoyer recevoir" outlook

Tu ouvres ton Outlook en arrière-plan, tu travailles à partir d'Excel. Lorsque tu lances la macro, les courriels s'envoient automatiquement. Tu dois juste vérifier avant de fermer ton Outlook que tous les messages sont envoyés (plus rien dans ton Outbox)
 
Re : code vba "envoyer recevoir" outlook

re
Cela signifie que l'on peut pas ouvrir Outlook directement d' Excel en arrière plan ?
je pensais pourtant avec vbMinimizedFocus '2 La fenêtre est affichée sous forme d'icône et activée
mais je n' arrive pas à le mettre là où il faut
 
Re : code vba "envoyer recevoir" outlook

RE
Ben pour un premier essai , j'ai une erreur avec CDO
faut demain que je jette un coup d'œil pourquoi
Bon quand même dommage que je n'arrive pas à trouver une solution alors qu'il manque un chouia pour ouvrir Outlook en arrière plan
merci beaucoup pour votre aide , j'ai encore de quoi faire !
 

Pièces jointes

  • CDO.jpg
    CDO.jpg
    26.2 KB · Affichages: 59
Re : code vba "envoyer recevoir" outlook

Re bonsoir Staple
j'avais jamais fait attention à cocher cette case, et pourtant des macros en sont passées !
Ok j'ai essayé ça marché nickel 😉 . je le garde précieusement car c'est inévitablement que l'on en a besoin tôt ou tard.
Mais bon, j'ai peur de l'utiliser professionnellement car j' oubli vite, et j'ai peur de m' embrouiller pour savoir si j'ai envoyé et surtout à qu'elle date un tel mail à tel client
Avec Outlook, je retrouve tout .
Une petite idée pour ouvrir Outlook en arrière plan , malgré tout😱 ??
 
Re : code vba "envoyer recevoir" outlook

bonjour à tous !

. . .
. . . j' oubli vite, et j'ai peur de m' embrouiller pour savoir si j'ai envoyé et surtout à qu'elle date un tel mail à tel client.
Avec Outlook, je retrouve tout .

ça me donne une idée, je peux regarder pour enregistrer les noms des envois effectués !?
par exemple dans une feuille à part !?
 
Dernière édition:
Re : code vba "envoyer recevoir" outlook

Bonjour Roland_M
je viens d' essayer, et là j' avoue que tu as fait fort ! nickel.
par curiosité, si tu as la réponse pourquoi Outlook s'ouvre toujours en premier plan ?
si je fais juste: Shell "OUTLOOK.EXE", 6 il ne respecte pas la commande. Rien trouvé sur le net
merci
 
Re : code vba "envoyer recevoir" outlook

re

il m'est difficile de te répondre car je n'ai pas outlook !

mais j'ai des exemples que j'ai assez bien documenté, si tu veux y jeter un œil ...

EDIT:
tu verras cette remarque:

'Send et Display ne doivent pas être utilisé simultanément
'.Send '<<<<< Pour envoyer directement
.Display '<<<< Pour voir le mail avant envoi
 

Pièces jointes

Dernière édition:
Re : code vba "envoyer recevoir" outlook

Re
merci beaucoup pour ton fichier, j'ai testé et vu les codes, mais toujours la même règle : il faut qu'Outlook soit déjà ouvert.
Le test que tu as confirmes bien qu'il faut qu'il soit ouvert avant et réduit.
Bon dommage ....
merci encore et surtout pour ton CDO !
 
Re : code vba "envoyer recevoir" outlook

Bonsoir Martial
erreur 438
'Dim OutlookApp As objet
'OutlookApp.ActiveWindow.WindowState = olMinimized
Set OutlookApp = CreateObject("Outlook.Application")
OutlookApp.Visible = 0
'With OutlookApp
'OutlookApp.ActiveWindow.WindowState = olMinimized
'End With
'Shell "Outlook", vbHide
'ActiveExplorer.WindowState = olMinimized
'olapplication = olMinimized
'Application.ScreenUpdating = False
Call Shell("C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE", vbHide)

'Application.ActiveWindow.WindowState = olMinimized
'OutlookApp.ActiveWindow = olMinimized
'Shell "C:\Users\AK\Desktop\"OUTLOOK.EXE - Raccourci"
' Minimize an Outlook window
'OutlookApp.ActiveWindow.WindowState = 1


Call Shell("C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE", vbHide)
With GetObject(, "Outlook.Application")
.ActiveWindow.WindowState = 1 ' olMinimized = 1
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
818
Réponses
4
Affichages
461
Réponses
2
Affichages
809
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
447
Retour