• Initiateur de la discussion Initiateur de la discussion Hulk
  • 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 !

Hulk

XLDnaute Barbatruc
Hello les amis,

Parfois avec :
Code:
Sub Envoi_mail()
Dim Ol As New Outlook.Application
Dim Olmail As MailItem
Dim CurrFile As String
Set Ol = New Outlook.Application
Set Olmail = Ol.CreateItem(olMailItem)
With Olmail
    .To = Toto@spf.fr
    .Subject = "Salut"
    .Body = "Un petit coucou"
    .Attachments.Add ActiveWorkbook.Path & "\Boum.gif"
    .Send
End With
End Sub
ou tout autre code permettant d'utiliser Outlook, le message de confirmation (image liée) se place en arrière plan, derrière le classeur (pour être plus précis, sur le bureau !).
Du coup, impossible de confirmer ou d'annuler et donc bloqué !

Le seul moyen c'est Ctr+Alt+Delete du clavier… Super rageant 😡
Et le pire c'est qu'une fois sorti de force, le message est là sur le bureau comme un c... attendant qu'on confirme l'envoi ou qu'on l'annule… Encore plus rageant 😡

J'ai vu nulle part qu'on pouvait empêcher ce message et ce n'est pas plus mal, mais n'y a t-il pas une astuce pour qu'il se place au premier plan à chaque coup ?

Si jamais je me suis aperçu, mais pas sûr, que ça arrive plutôt au premier envoi.

Merci pour votre aide.

Hulk.
 

Pièces jointes

  • Message Outlook.jpg
    Message Outlook.jpg
    33 KB · Affichages: 53
Dernière édition:
Re : Message Outlook

Bonsoir Hulk, le Forum,
Tu écris :
J'ai vu nulle part qu'on pouvait empêcher ce message et ce n'est pas plus mal, mais n'y a t-il pas une astuce pour qu'il se place au premier plan à chaque coup ?
Tu peux avec ceci :

http://www.clubic.com/telecharger-fiche51882-clickyes-pro.html

Bon dimanche
 
Re : Message Outlook

Hello, NoviceAG,

Merci pour ta réponse Novice.

J'allais presque rajouter "mise à part certains logiciels qui permettent de le faire"
mais je ne l'ai pas fait.

Hm en généreal je n'aime pas trop ces logiciels à moins qu'on m'assure qu'ils soient fiables.

Là je dois partir, je regarderais ça demain et te tiens au courant.

Dans tous les cas, merci.

Cdt, Hulk.
 
Dernière édition:
Re : Message Outlook

Hulk, NoviceAG, bonsoir,

pourquoi ne pas rajouter bêtement
Code:
Application.WindowState = xlMinimized
juste après le .send😕

cela devrait rendre visible ton message de confirmation sauf si tu as 32 applications ouvertes simultanement (et encore, y a peut-être moyen de faire pareil avec toutes les appli ouvertes)

sinon va voir ce post il pourrait t'interesser!! https://www.excel-downloads.com/threads/envoie-mail-automatique.108921/, MJ13 semble proposer deux solutions pour ce pb

personnellement, j'utilise beaucoup ce type de code pour envoi email auto (j'en ai pondu quelques uns sur ce forum dont celui cité par NOVICEAG dans le lien joint) et je n'ai jamais eu ce message de Outlook, serait-ce parce que j'introduis dans mon code les instructions suivantes, seules lignes qui different de ton code ?(ton Ol est mon OutApp)
Code:
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
a+
 
Dernière édition:
Re : Message Outlook

Bonjour à tous,

Bon je n'ai pas encore testé Clickyes proposé par NoviceAG, mais ai testé le code du lien proposé par Ledzep(pelin) et j'avoue ne pas comprendre pourquoi ce binz car toujours le même pb.

J'ai essayé des deux manières et idem.
Si vous voulez tester, je lie le fichier en question, avec son fichier "Sendkey13.vbs" qu'il faut placer sur le bureau (ou modifier le chemin d'accès dans le code).

Au fait oui c'est bien lors des 2 premiers envois que le message de confirmation se place derrière le classeur actif.

Donc pour l'instant avant l'envoi je minimise ma fenêtre et voilà et donc finalement, ta proposition Ledzep d'ajouter
Code:
Application.WindowState = xlMinimized
n'est pas si bête 😀

Je vais aussi encore testé Clickyes, mais pas convaincu 🙄 (tu ne m'en voudras pas Novice j'espère..)

Merci messieurs.

@+, Hulk.
 
Re : Message Outlook

Re,

Oups j'avais oublié ta différence de code Ledzep... intéressant !

Tu dis que tu n'as jamais eu ce message ? Bizarre vous avez dis bizarre 😀

Donc j'ai remplacé comme ceci
Code:
Sub Envoi_mail()
Dim Ol As New Outlook.Application
Dim Olmail As MailItem
Dim CurrFile As String

'Set Ol = New Outlook.Application

[B]Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon[/B]

Set Olmail = Ol.CreateItem(olMailItem)
With Olmail
    .To = Toto@spf.fr
    .Subject = "Salut"
    .Body = "Un petit coucou"
    .Attachments.Add ActiveWorkbook.Path & "\Boum.gif"
    .Send
End With
End Sub
c'est bien juste ? parce que même comme ça le message apparaît !

Au plaisir !

Antonio.
 
Re : Message Outlook

Bonjour Hulk, NoviceAG, Ledzepfred.

Hulk, je pense que pour que mes solutions par sendkeys ou .display fonctionnent, il faut que Outlook soit Maximized c'est à dire en application de premier plan.

Car il s'agit de simuler la frappe de touches donc c'est mieux si on a l'application devant (tu peux faire le test en tapant les touches).
 
Dernière édition:
Re : Message Outlook

Hello,

Ok merci MJ13 pour tes explications, et c'est ton code ? Bravo.

Mais je ne comprends pas, je viens d'ouvrir le fichier et de faire un envoi et idem, j'ai du faire Ctl+alt+Delete.

Tu dis que ça simule les touches du clavier, mais au risque de passer pour un ignorant, lequelles ?

Merci messieurs.

Hulk.
 
Re : Message Outlook

Re Hulk


D'après ce code, on envoie 2 fois les touches Tab puis Enter (c'est quand même explicité dans le code).

Code:
'MJ Issu du code de  [URL]http://www.vbfrance.com/codes/VBS-ECRIVANT-DANS-LE-BLOC-NOTE-/32820.aspx[/URL]
'définission de la variable
Set variable = CreateObject("WScript.Shell")
'MJ attente 10 secondes
wscript.sleep 10000
'MJ attente 1 seconde puis envoie touche tab
wscript.sleep 1000
variable.SendKeys ("{TAB}")
'MJ attente 1 seconde puis envoie touche tab
wscript.sleep 1000
variable.SendKeys ("{TAB}")
'MJ attente 1 seconde puis envoie touche Enter
wscript.sleep 1000
variable.SendKeys ("{enter}")
Set WshShell = Nothing
 
Re : Message Outlook

Re Hulk

Ok, mais as tu tester mon fichier avec les 2 solutions?

Tu peux placer le fichier sendkeys sous C:\. Il faut dans ce cas le mettre dans le chemin.

Sinon tu es sous quel environnment?

Tu peux ausi joindre la partie de ton fichier pour envoyer un mail.
 
Re : Message Outlook

salut Hulk,MJ13,

Hulk en ce qui concerne ton code il faut remplacer OutApp par OL comme ci :

Code:
Sub Envoi_mail()
Dim Ol As New Outlook.Application
Dim Olmail As MailItem
Dim CurrFile As String

'Set Ol = New Outlook.Application

Set Ol = CreateObject("Outlook.Application")
Ol.Session.Logon

Set Olmail = Ol.CreateItem(olMailItem)
With Olmail
    .To = Toto@spf.fr
    .Subject = "Salut"
    .Body = "Un petit coucou"
    .Attachments.Add ActiveWorkbook.Path & "\Boum.gif"
    .Send
End With
End Sub

C'est peut-être pas une piste mais qui c'est.

MJ13, ta proposition sendkeys est très interessante, mais quitte à donner la main à l'utilisateur pour terminer une action intiiée par vba autant remplacer .send par .display mais ce n'est que mon avis

a+
 
Re : Message Outlook

Bonjour

En effet ce message apparait depuis la version 2003 je crois d'outlook. C'est un système de sécurité rajouté par Microsoft

Le plus simple en effet c'est avec clickyes

Perso je l'avais avec d'autres programmes que j'avais développé et cela marchait bien
 
- 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

Réponses
3
Affichages
1 K
J
Réponses
1
Affichages
3 K
Compte Supprimé 979
C
Retour