Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1360 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Outlook] Intervenir à l'envoi d'un mail

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Outlook] Intervenir à l'envoi d'un mail

n°703601
webwhisky
Posté le 20-04-2004 à 11:47:40  profilanswer
 

Bonjour à tous !
 
Je désire afficher un message dans Outlook 2000 au moment de l'envoi d'un mail, qui permettra de mettre une personne en copie CC.
Voici le code de la Macro :
 

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
rep = MsgBox("Désirez-vous envoyer une copie de ce mail à mlle Durand ?", vbYesNo, Copie)
 
' Si oui
If rep = 6 Then
    Set myRecipient = Item.Recipients.Add("durand@mail.com" )
    myRecipient.Type = olCC
End If
 
End Sub

 
Si l'utilisateur répond "non", tout se passe bien.
S'il répond "oui", le destinataire est bien inséré en CC, mais un message d'erreur m'indique :
"Echec de l'opération du client"
 
Quelqu'un pourrait-il m'aider à compléter ce code de pauvre newbie  :pt1cable:  ?
 
Merci d'avance à tous ! Et longue vie forum !


---------------
Le contexte est plus fort que le concept...
mood
Publicité
Posté le 20-04-2004 à 11:47:40  profilanswer
 

n°704687
webwhisky
Posté le 21-04-2004 à 10:50:15  profilanswer
 

:-( personne pour me donner un petit coup de main ?
up


---------------
Le contexte est plus fort que le concept...
n°704747
pumpkin031​2
Posté le 21-04-2004 à 11:23:51  profilanswer
 

si j'ai bien compris, malgrés le message d'erreur l'action demandée s'effectue correctement, c'est ça ?

n°704774
webwhisky
Posté le 21-04-2004 à 11:37:47  profilanswer
 

Bonjour et merci pour ta réponse. ;-)
En fait le destinataire est bien inséré dans la zone CC, mais le mail ne part pas après ce message d'erreur.
J'ai essayé de mettre "Item.Send" après l'insertion du destinataire, mais là il me dit qu'on ne peut pas envoyer un message qui est déjà en cours d'envoi.
Du coup je suis bloqué, je ne sais pas ou intervenir à part sur cette methode.
Un autre indice : si je mets un "Cancel=true" après l'insertion du destinataire, je n'ai aucune erreur;mais évidemment le mail ne part pas lol


---------------
Le contexte est plus fort que le concept...
n°704804
pumpkin031​2
Posté le 21-04-2004 à 11:54:02  profilanswer
 

et à la bourrin avec un : On Error Resume Next, est-ce que ça arrange quelque chose ?
 
sinon, tu lance cette action depuis quel outil ?

n°705809
webwhisky
Posté le 22-04-2004 à 11:59:52  profilanswer
 

Avec le "on error", meme message d'erreur...
Je lance l'action depuis Outlook, j'utilise la fonction Application_ItemSend de visual basic editor, donc cette action est déclenchée à chaque envoi de mail.
Je me demande juste s'il n'est pas trop  tard, lors de cette methode, pour ajouter le destinataire en Cc, considérant que le message est peut etre déjà en cours d'envoi !
Mais a ce moment là, je ne sais pas comment intervenir entre le clic du bouton "envoyer", et l'envoi effectif du mail...
En tout cas merci de t'interesser à mon cas !


---------------
Le contexte est plus fort que le concept...
n°1902410
dillettant​e
Posté le 05-07-2009 à 19:11:23  profilanswer
 

webwhisky a écrit :

:-( personne pour me donner un petit coup de main ?
up


J'ai trouvé ça sur le net : a priori il suffit d'utiliser en plus recipient.resolve
 
 
Private Sub Application_ItemSend(ByVal Item As Object, _
 
Cancel As Boolean)
 
'By Oliv' 29/06/2007 pour Outlook 2003
 
Dim myRecipient As Outlook.Recipient
 
If Not Item.Class = olMail Then GoTo fin
 
Dim prompt As String
 
' ici renseigner le destinataire
 
cci = "MonDestinataire@sonDomaine.fr"
 
'commentez au choix l'option non voulue
 
'########################Option CCI############################
 
prompt = "Ajouter le cci " & cci & " à " & Item.Subject & "?"
 
If MsgBox(prompt, vbYesNo + vbQuestion, "Sample" ) = vbYes Then
 
Set myRecipient = Item.Recipients.Add(cci)
 
myRecipient.Type = olBCC
 
myRecipient.Resolve
 
If myRecipient.Resolved = False Then
 
MsgBox "L'adresse Email n'est pas correcte !", vbCritical, "Erreur"
 
Cancel = True
End If
 
End If
 
'########################Option CC##############################
 
prompt = "Ajouter le cc " & cci & " à " & Item.Subject & "?"
 
If MsgBox(prompt, vbYesNo + vbQuestion, "Sample" ) = vbYes Then
 
Set myRecipient = Item.Recipients.Add(cci)
 
myRecipient.Type = olCC
 
myRecipient.Resolve
 
If myRecipient.Resolved = False Then
 
MsgBox "L'adresse Email n'est pas correcte !", vbCritical, "Erreur"
 
Cancel = True
End If
 
End If
 
'#######################FIN#####################################
 
fin:
 
End SubOliv'  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Outlook] Intervenir à l'envoi d'un mail

 

Sujets relatifs
Ouvrir un mail outlook depuis un bouton Excel/VBA ???[java] Stockage de mail en mbox
pb avec eregi pour l'adresse mailProgrammer : Envoyer un mail sous excel
mail avec fichiers attachés[PHP : Fonction mail à problème ?] Oui oui, j'ai un problème...
mail() to cc bcc multipleProbléme fonction mail
[VBS] Récuperer des données par mail sous Excel 
Plus de sujets relatifs à : [Outlook] Intervenir à l'envoi d'un mail


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR