Forcer la fenetre d'envoi outlook en premier plan Access 2013/16
Résolu
AstraLife
Messages postés
98
Date d'inscription
Statut
Membre
Dernière intervention
-
AstraLife Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
AstraLife Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Contexte : Macro qui prépare un mail avec pièce jointe.
Une fois mon mail préparé la fenêtre de la boite d'envoi d'outlook a tendance à rester derrière le formulaire de l'utilisateur de la base de donnée Access. j'ai essayé systemmodal mais je n'ai rien trouvé pour forcer la fenêtre outlook à revenir en premier plan
Mon bout de code final
Contexte : Macro qui prépare un mail avec pièce jointe.
Une fois mon mail préparé la fenêtre de la boite d'envoi d'outlook a tendance à rester derrière le formulaire de l'utilisateur de la base de donnée Access. j'ai essayé systemmodal mais je n'ai rien trouvé pour forcer la fenêtre outlook à revenir en premier plan
Mon bout de code final
' Initialisation :
Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
' Préparation du message :
MonMessage.To = "xxxxxx.fr"
MonMessage.CC = "xxxxxx.fr"
' Récupération de la chaîne d'E-Mails Access :
MonMessage.To = ListeComplete
MonMessage.Subject = "Bilan de Production Courrier Industriel"
MonMessage.HTMLBody = corps
' Ajout de la signature
MonMessage.HTMLBody = MonMessage.HTMLBody & "<br/>" & "<br>" & Signature("Signature")
' Ajout des pièces jointes
MonMessage.Attachments.Add cheminfichier
MonMessage.Attachments.Add cheminfichier2
MonMessage.Attachments.Add cheminfichier3
MonMessage.display vbSystemModal
' supprimer le fichier pdf après envoi du message
Kill (cheminfichier)
Kill (cheminfichier2)
Kill (cheminfichier3)
Case vbNo
' procédure si click sur Non
End Select
End Sub
A voir également:
- Outlook clignote
- Synchroniser agenda google et outlook - Guide
- Telecommande free clignote rouge - Forum Matériel & Système
- Supprimer compte outlook - Guide
- Copie cachée outlook - Guide
- Télé lg ne s'allume plus clignote rouge - Forum Ecran
3 réponses
Bonjour,
testes ceci :
a+
testes ceci :
Set OLk_appli = GetObject( "Outlook.Application") If OLk_Appli Is Nothing Then OLk_OK= Shell("C:\Program Files\Microsoft Office\Office10\OUTLOOK.EXE", 1) end if
a+
C'est bizarre qu'elle clignote, généralement, c'est que l'appli attend une réponse de l'utilisateur....
La question est : dans les 10%, il y a un point commun ???
La question est : dans les 10%, il y a un point commun ???
Je remplacerait aussi
par
MonMessage.display vbSystemModal = False
par
MonMessage.display
Un exemple qui rentre dans les 10% des cas,
Je travail sur 2 écrans, sur l’ecran de gauche, qui est mon écran principal, je lance la procédure depuis la base access et pendant le traitement je clique sur l’ecran de droite, par exemple pour ouvrir un fichier Excel, forcément la fenêtre Outlook du mail s’ouvre dans la barre des tâches et non en premier plan sur l’ecran de gauche.
La plus part des utilisateurs, a mon travail, utilisent qu’un seul écran donc je ne pense pas que le problème ce présente, j’ai juste remarqué cela sur mon poste à moi car j’ai 2 écrans.
Je vais tester en enlevant systemmodal, je voulais juste que l’uitilisateur ne puisse pas retourner sur la base de donnée tant qu’il n’a pas fermer son mail, soit il l’envoi soit il l’enregistre et retour sur le formulaire.
Je travail sur 2 écrans, sur l’ecran de gauche, qui est mon écran principal, je lance la procédure depuis la base access et pendant le traitement je clique sur l’ecran de droite, par exemple pour ouvrir un fichier Excel, forcément la fenêtre Outlook du mail s’ouvre dans la barre des tâches et non en premier plan sur l’ecran de gauche.
La plus part des utilisateurs, a mon travail, utilisent qu’un seul écran donc je ne pense pas que le problème ce présente, j’ai juste remarqué cela sur mon poste à moi car j’ai 2 écrans.
Je vais tester en enlevant systemmodal, je voulais juste que l’uitilisateur ne puisse pas retourner sur la base de donnée tant qu’il n’a pas fermer son mail, soit il l’envoi soit il l’enregistre et retour sur le formulaire.
Ca fonctionne presque, j'ai un message d'erreur qui s'affiche derrière la fenetre du mail Outlook, je pense que je n'ai pas placé le code au bon endroit,
Je remet mon code au cas ou si tu peux me dire exactement ou le placer, sinon je vais essayer de moi même de le placer différement.
Le code complet :
' #######################################
' # 2. Envoi de l'E-Mail avec Outlook : #
' #######################################