Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Outlook > VBA Outlook

Réponse
 
Outils de la discussion
Vieux 08/08/2008, 17h00   #1 (permalink)
Invité de passage
 
Date d'inscription: août 2008
Messages: 7
Par défaut Générer un mail en gardant l'entête

Bonsoir à tous,
Je voudrais lors de l'envoi d'un mail quelconque, que Outlook génère automatiquement un second mail qu'il enverrait à un destinataire fixe (mais pas le même que le premier mail), mais où l'entête serait la même sur les deux mails. Je ne veux absolument pas que le second mail garde le contenu du corps du premier mail, c'est pourquoi faire une copie cachée ne me semble pas judicieux. Merci d'avance et bon week-end.
Cordialement.
Carmagamemnon est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/08/2008, 22h52   #2 (permalink)
Responsable Outlook
 
Avatar de Dolphy35
 
Date d'inscription: octobre 2004
Localisation: Rennes
Messages: 3 296
Envoyer un message via MSN à Dolphy35 Envoyer un message via Skype™ à Dolphy35
Par défaut

Salut,

j'ai du mal à comprendre, tu veux garder l'entête sans avoir le corps ? tu veux juste faire un suivit du mail en gros ?


Dolphy
__________________
Initiation au VBA d'Outlook
venez défier mabrute
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/08/2008, 09h08   #3 (permalink)
Invité de passage
 
Date d'inscription: août 2008
Messages: 7
Par défaut

Bonjour,
Ce que je voudrais c'est que lors de l'envoi d'un mail, une copie soit envoyée vers une autre adresse mail (toujours la même), mais je ne veux pas que l'on puisse lire le corps de cette copie. Désolé si ce n'est pas très clair, et merci d'avance.
Cordialement.
Carmagamemnon est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/08/2008, 14h42   #4 (permalink)
Invité de passage
 
Date d'inscription: août 2008
Messages: 7
Par défaut Quelques petites idées

Bonjour,

J'ai essayé de comprendre un peu le VBA d'Outlook sur ta page d'initiation, cependant je ne dispose pas d'énormément de temps c'est pourquoi je l'ai surtout parcouru en diagonale.

J'ai cru comprendre que l'on pourrait écrire une macro qui s'exécuterait à chaque envoi de mail avec Application_ItemSend, ce qui est parfait car c'est exactement ce que je cherche. J'ai vu également que l'on pouvait créer un mail à l'aide de CreateItem et olMailItem.

Du coup je me demandais s'il n'était pas possible de récupérer l'entête du mail pour l'insérer dans celui que l'on souhaite créer..? Après quoi on définit nous-même le destinataire, et une fois cela fait il nous resterait plus qu'à tout envoyer..? Je ne m'y connais vraiment pas en Outlook c'est la raison pour laquelle je me permets de faire appel à vous. Merci d'avance.

Cordialement.

P.S.: Si l'on pouvait copier le destinataire du mail d'origine dans le corp du second mail je serais également preneur.
Carmagamemnon est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/08/2008, 11h00   #5 (permalink)
Invité de passage
 
Date d'inscription: août 2008
Messages: 7
Par défaut Est-ce que cette macro répond à mes attentes?

Bonjour,

Je me suis permis de modifier la macro d'Oliv' que je remercie au passage, j'aurais voulu savoir si cela pourrait éventuellement me dépanner (même si ça ne suit pas l'algorithme de départ).

Code :
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 Or Not Item.SenderEmailAddress = "exemple@domaine.fr" Then 
GoTo fin
Dim prompt As String
' Ici renseigner le destinataire
cci = "destinataire@domaine.fr"
     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
' #######################FIN#####################################
fin:
End Sub
Ce que j'aimerais ici c'est de pouvoir faire en sorte que la macro ne s'exécute que si l'on envoie un mail à partir d'une adresse précise, une sorte de filtre quoi. Est-c'que la syntaxe est exacte?
Si vous avez des idées pour mes questions précédentes je suis toujours preneur, j'ai cherché cette macro car pour le moment je n'ai rien d'autre.
Merci d'avance et bonne journée.

Cordialement.

Dernière modification par Dolphy35 ; 20/08/2008 à 12h12 Motif: Balise Code (#) !
Carmagamemnon est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/08/2008, 15h18   #6 (permalink)
Invité de passage
 
Date d'inscription: août 2008
Messages: 7
Par défaut Violation d'accès

Re-bonjour,

J'ai essayé d'écrire une macro afin de répondre à mes premières attentes, la voici :
Code :
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'************************************************************************
' Génère automatiquement un mail qui sera envoyé à "dest@dom.fr".
'************************************************************************
 
' Déclaration des objets
    Dim MonApply As Outlook.Application
    Dim MonMail As Outlook.MailItem
    Dim MonRecipient As Outlook.Recipient
' Instance des Objets
    Set MonApply = CreateObject("Outlook.Application")              'Instance de l'application
    Set MonMail = MonApply.CreateItem(olMailItem)                   'Instance du nouvel E-mail
    Set MonRecipient = MonMail.Recipients.Add("dest@dom.fr")    'Instance du destinataire
    
    MonMail.Subject = Item.Subject
    MonMail.Body = Item.To
    MonMail.Send
 
' Vide des instances
    Set MonApply = Nothing
    Set MonMail = Nothing
    Set MonRecipient = Nothing
    
End Sub
Ca fonctionne pas mal, mais un message m'indiquant l'éventualité d'un virus qui etc. (cf. PJ) apparaît et j'aurais voulu savoir s'il n'était pas possible de faire en sorte que non? J'ai cru comprendre que l'on pouvait installer Security Outlook mais ça m'arrangerait de ne rien avoir à installer. Peut-on simplement modifier le code? Merci d'avance (et merci si vous jetez un œil au message précédent aussi, je cherche toujours une réponse).

Cordialement.
Images attachées
Type de fichier : jpg Violation_acces.JPG (36,2 Ko, 6 affichages)

Dernière modification par Dolphy35 ; 20/08/2008 à 18h15 Motif: Balises code (#)
Carmagamemnon est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2008, 12h42   #7 (permalink)
Invité de passage
 
Date d'inscription: août 2008
Messages: 7
Par défaut Finalement...

Bonjour,

Ben en fait je crois que c'est bon, je me suis débrouillé tout seul n_n
La macro du dessus fonctionne bien, j'ai finalement installé Advanced Security for Outlook et ça ne semble pas trop poser de problème.
Pour c'qu'y est de l'autre qui remplit le champs CCI ou non selon le résultat du bloc If, j'ai modifié à nouveau la macro d'Oliv', ce qui donne :

Code :
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) Or (Not Item.Application.Reminders.Session.CurrentUser.Address = "adresse@filtre.fr") Then GoTo fin
' ici renseigner le destinataire
cci = "dest@dom.fr"
'########################Option CCI############################
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
'########################FIN###################################
fin:
 
Voilà, merci Dolphy pour les balises, désolé je connaissais pas bien.
Je pense que c'est résolu, mais si jamais quelqu'un voudrait me suggérer un code plus judicieux peut-être je suis toujours preneur, j'me suis débrouillé comme j'ai pu donc voilà ^^"
Je sais pas si j'peux modifier le titre du post, mais si c'est le cas je sais pas faire, merci d'avance de le faire pour moi

Cordialement.
Carmagamemnon est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Outlook > VBA Outlook

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide