Voila j'ai défini une règle dans Outlook qui est la suivante:
Appliquer cette règle après l'arrivée du message
de ***@***
et contenant Test dans l'objet
et sur cet ordinateur uniquement
exécuter Projet 1.macro1
et arrêter de traiter plus de règles
Ensuite je souhaite une macro qui me permettrait deux choses:
- Enregistrer le fichier joint à mon mail
- Lancer l'ouverture d'un fichier excel (ce fichier contient une macro qui se lance automatiquement à l'ouverture de celui-ci).
Voici mon bout de code pour répondre déjà à ma première demande: l'enregistrement de la pièce jointe:
Sub macro1(strID As Outlook.MailItem)
Dim olNS As Outlook.NameSpace Dim MyMail As Outlook.MailItem Dim Repertoire As String
Set olNS = Application.GetNamespace("MAPI") Set MyMail = olNS.GetItemFromID(strID.EntryID)
If MyMail.Attachments.Count > 0 Then 'on crée le répertoire où mettre les fichiers joints, qui doit déjà exister Repertoire = "C:\projets\test" 'on traite les pj Dim PJ, typeatt For Each PJ In MyMail.Attachments PJ.SaveAsFile Repertoire & PJ.FileName Next PJ 'drapeau vert MyMail.FlagIcon = olGreenFlagIcon 'Marque lu MyMail.UnRead = False MyMail.Save 'on déplace le mail vers un sous dossier outlook Dim myDestFolder As Outlook.MAPIFolder Set myDestFolder = MyMail.Parent.Folders("test") MyMail.Move myDestFolder End If Set MyMail = Nothing Set olNS = Nothing Fin: End Sub
Ma règle ne se lance pas et ma macro encore moins. Quand je reçois un mail de ***@*** avec l'objet 'Test', rien ne se passe.