En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des contenus et services adaptés. Mentions légales.

Forum - Questions sur Access - Mettre Outlook en premier plan


 

clos par 3Stone le 28/06/2020 : 17:37  Sujet n° 840

le 18/04/2020 : 10:37
par flomen

Anonyme

visiteur

Bonjour,

Dans mon application Access Création d'un mail  via Outlook

Cela fonctionne très bien, cependant, je n'arrive pas à forcer la mise en premier plan d'Outlook !

Merci pour votre aide

Voici le code que j'utilise :  

Function EnvViaOutlook(DestMail As String, CCMail As String, SujetMail As String, TxtMail As String, Signature As String, Optional PJ1 As String) As String

Dim OL As Outlook.Application, mi As Outlook.MailItem

On Error GoTo OLMailErr

Set OL = New Outlook.Application

Set mi = OL.CreateItem(olMailItem)

With mi

    .To = DestMail

    .CC = CCMail

    .Subject = SujetMail

    .Body = TxtMail

    .HTMLBody = "Test Signature<b>" & "" &

    .HTMLBody    

   .Display

End With

Set mi = Nothing: Set OL = Nothing

Exit Function

   OLMailErr:     MsgBox "Erreur : " & Err.Number & vbCrLf & Err.Description

    Exit Function

End Function  

sujet clos Haut  

Réponse n° 1
--------
le 18/04/2020 : 19:29
par 3Stone

3Stone

Administrateur


Bonjour,

(j'ai mis un peu d'ordre dans l'affichage)

Pour inclure du code, il y a un bouton dans l'éditeur (plus petit et plus grand) à droite des guillemets qui eux servent aux citations...

Citation : « flomen »

je n'arrive pas à forcer la mise en premier plan d'Outlook !

Essaies plutôt avec :

OL.display

Cordialement,
Pierre (3Stone)

clos par 3Stone le 28/06/2020 : 17:37 Haut  
Réponse n° 2
--------
le 19/04/2020 : 10:01
par flomen

Anonyme

visiteur

Bonjour,

OL.Display ne fonctionne pas, c'est incompatible !

Peux être as tu une autre solution pour créer un mail puis l'afficher afin de donner la possibilité à l'utilisateur d'adapter le mail avant de l'envoyer

Merci pour ton aide

clos par 3Stone le 28/06/2020 : 17:37 Haut  
Réponse n° 3
--------
le 20/04/2020 : 15:04
par 3Stone

3Stone

Administrateur


Bonjour,

Je n'ai plus d'Outlook d'installé et configuré...

mais quelque chose comme ceci devrait fonctionner :

    Dim OutlookApp As Outlook.Application
    Dim OutlookMail As Outlook.MailItem

    Set OutlookApp = New Outlook.Application
    Set OutlookMail = OutlookApp.CreateItem(olMailItem)

    With OutlookMail
        .BodyFormat = olFormatHTML
        .Display
        .HTMLBody = "blabla" & "<br>" & "<br>" & " et le reste..." & .HTMLBody
        ' .HTMLBody peut inclure la signature
        .To = "destinataire@gmail.com"
        .CC = "copie_à_@gmail.com"
        .BCC = "copie_carbone@gmail.com"
        .Subject = "mon sujet"
        .Attachments = str_LeFichier
        .Send
    End With

Pour que le message ne parte pas, il faut supprimer le "send"

Cordialement,
Pierre (3Stone)

clos par 3Stone le 28/06/2020 : 17:37 Haut  
Réponse n° 4
--------
le 21/04/2020 : 19:56
par flomen

Anonyme

visiteur

Bonjour,

La solution que tu me propose, c'est exactement la meme que mon code 

Cordialement

clos par 3Stone le 28/06/2020 : 17:37 Haut  
Réponse n° 5
--------
le 21/04/2020 : 21:22
par 3Stone

3Stone

Administrateur


Salut,

Citation :

c'est exactement la meme que mon code

Oupppss !

Pourtant, ce code doit fonctionner.

Mais revenons précisément à ta demande :

Citation : « flomen »

je n'arrive pas à forcer la mise en premier plan d'Outlook

Le "display" fait et sert justement à cela.

Si cela ne fonctionne pas, as-tu alors fait une exécution pas à pas en mettant un point d’arrêt pour voir si la ligne s'exécute bien ?

Si oui, recommence mais sans exécuter ton programme.

Appelle simplement ta fonction via le fenêtre d'exécution (ctrl + g) et regarde si cela fonctionne.

Si Outlook s'affiche alors devant Access, c'est que tu as des fenêtres qui sont déjà en "modal".

Cordialement,
Pierre (3Stone)

clos par 3Stone le 28/06/2020 : 17:37 Haut  
Réponse n° 6
--------
le 22/04/2020 : 09:38
par flomen

Anonyme

visiteur

Bonjour,

J'utilise une fonction pour préparer un mail via outlook  sans l'envoyer, c'est a dire que je ne met pas .Send mais .Display. Jusque là ca fonctionne.

Mon problème c'est que mon application access reste en premier plan alors que je voudrais que ce soit Outlook que pas en premier plan.

Voici le code que tu peux associer à un bouton 

Private Sub Go_Click()
Dim MonOutlook As Outlook.Application
Dim MonMessage As Outlook.MailItem
On Error GoTo Err_envoyerMail
    ' ===== Initialisation =====
    Set MonOutlook = CreateObject("Outlook.Application")
    Set MonMessage = MonOutlook.CreateItem(0)
    ' ===== Création de l'email =====
    With MonMessage
        .To = "mail.bidon@gmail.com"
        .Subject = "Sujet de ce mail"
        .Body = "Ici le contenu du mail à envoyer"
        ' Affiche le mail 
        .Display
    End With
Exit_envoyerMail:
    Set MonOutlook = Nothing
    Exit Sub
Err_envoyerMail:
    Select Case Err.Number
        Case Else
            MsgBox "Erreur n°" & Err.Number & vbCrLf & "Description : " & Err.Description & vbCrLf & "Source : " & Err.Source, vbCritical, "Erreur"
    End Select
    Resume Exit_envoyerMail
End Sub

Ma question est : Comment passer OUtlook en premier Plan

Cordialement

clos par 3Stone le 28/06/2020 : 17:37 Haut  
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message
Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter  
Catégories de discussion  Forum  



Vous êtes ici :   Accueil » Forum » Questions sur Access » Mettre Outlook en premier plan