Lancer Outlook Via VBA

Y compris Power BI, Power Query et toute autre question en lien avec Excel
V
Villette54
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 30 septembre 2013
Version d'Excel : 2010 EN

Message par Villette54 » 27 juin 2014, 10:13

Bonjour,

J'ai besoin d'aide pour résoudre un petit soucis.

Dans un de mes fichiers Excel, j'ai une macro qui permet l'envoie automatique d'un mail via Outlook. Celle-ci fonctionne très bien à une condition : que Outlook soit ouvert avant l’exécution de la macro, or ce n'est pas toujours le cas pour les utilisateurs de ce fichier...

J'aurais donc aimé savoir si une "solution technique" pouvait palier à ce problème, à savoir ouvrir outlook via VBA si celui-ci n'est pas déjà ouvert.
Dans le cas contraire je diffuserais alors une information, et ajouterais une msgbox avant l’exécution de la macro pour informer les personnes concernées.

Pour info, voici la partie de ma macro pour l'envoie du mail :
Dim ObjOutlook
Dim oBjMail

Set ObjOutlook = CreateObject("outlook.application")
Set oBjMail = ObjOutlook.CreateItem(olMailItem)

If pj = "Faux" Then Exit Sub
If VarType(pj) = vbBoolean Then Exit Sub

Corps = "Bonjour," & vbCrLf & "<br>" _
 & vbCrLf & "<br>" _
 & "Le RDP du " & ThisWorkbook.Sheets(2).[C92].Value & " concernant la zone : " & ThisWorkbook.Sheets(1).[C17].Value & " est consultable en cliquant sur le lien ci-dessous :" & vbCrLf & "<br>" _
 & "<HTML><BODY>" _
 & "<A href=U:\Prévention\RDP\Nouveaux_RDP\>U:\Prévention\RDP\Nouveaux_RDP\</A>" _
 & "</BODY></HTML>" _
 & vbCrLf & "<br>" _
 & "Bien à vous,"


With oBjMail

.To = "xxx@xxx.com"
.Subject = "Blabla: " & ThisWorkbook.Sheets(2).[E92].Value
.HTMLBody = ""
.BodyFormat = 2
'.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute
.HTMLBody = Corps & oBjMail.HTMLBody
.Send

End With
Merci d'avance pour votre aide.
b
bernyb12000
Membre habitué
Membre habitué
Messages : 106
Inscrit le : 6 septembre 2013
Version d'Excel : 2007

Message par bernyb12000 » 27 juin 2014, 15:13

Application.Dialogs(xlDialogSendMail).Show 
o
ouf746
Membre habitué
Membre habitué
Messages : 110
Inscrit le : 12 octobre 2016
Version d'Excel : 2016

Message par ouf746 » 26 janvier 2017, 15:08

Bonjour,

Voici un test logique qui permet de tester si outlook et ouvert ....si ouvert rien faire sinon l'ouvrir .
A mettre en début de code.
  Dim oOutlook As Object

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

    If oOutlook Is Nothing Then
        Shell "Outlook.exe", vbHide
    End If
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message