Exécution envoi mail en arrière plan (clignotement)

Bonjour,

J'ai écrit une macro excel qui fonctionne parfaitement.

Un outil A ouvre des fichiers B, C , D, ... puis y collecte un certain nombre de données

Puis il envoie ces données par mail (voir le code suivant)

j'ai ajouté :

Application.ScreenUpdating = False et Application.ScreenUpdating = True

en début et fin de code pour ne pas avoir de clignotement d'écran. Ce qui fonctionne parfaitement bien pour les différentes ouvertures de fichiers excel.

Malheureusement, le ScreenUpdating ne semble pas gérer d'autres applications comme la création de mail sous Outlook.

Comme j'envoie plusieurs mails d'un coup, je suis au bord de la crise d'epilepsie.

Une idée?

Par avance, merci

Private Function Mail(Destinataire As String, Titre As String, Texte As String, Optional Document As String) As Boolean

    On Error GoTo Erreur
    Set ObjApp = New Outlook.Application
    Set ObjMail = ObjApp.CreateItem(olMailItem)
    Set ObjAttachement = ObjMail.Attachments

    ObjMail.To = Destinataire
    ObjMail.Subject = Fichier_Generateur.Sheets(1).Shapes("ZoneTexte 2").TextFrame.Characters.Text
    ObjMail.Body = Fichier_Generateur.Sheets(1).Shapes("ZoneTexte 1").TextFrame.Characters.Text
    If Document <> "" Then ObjAttachement.Add Document
    ObjMail.Display
    Mail = True
    ObjMail.Send                                                        ' envoi du message

    Exit Function

Erreur:
    Mail = False
    MsgBox Error
End Function
ObjApp.screenupdating = false

Il faut bloquer l'application outlook aussi

il n'autorise pas objapp.screenupdating = false

mais j'ai enlevé ObjMail.Display, et tout fonctionne.

merci beaucoup

Rechercher des sujets similaires à "execution envoi mail arriere plan clignotement"