1 pièce(s) jointe(s)
[OL2021] REGLE et script transfert de mail
Bonjour la communauté
J'utilise tous les jours ce code, via un raccourci dans la barre d'outils, qui m'est fort pratique et je remercie encore la communauté pour l'aide apportée en son temps (vers 2017 à peu près):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
Sub SendUsingAccount()
Set oOlSel = ActiveExplorer.Selection
Dim oAccount As Outlook.account
Set oAccount = Application.Session.accounts("christophe@be-ingetech.fr")
If oAccount Is Nothing Then MsgBox "Compte non trouvé": Exit Sub
For Each oOlItm In oOlSel
If oOlItm.Class = olMail Then
Set oOlFwd = oOlItm.Forward
oOlFwd.Attachments.Add oOlItm, olEmbeddeditem
oOlFwd.To = "maison@be-ingetech.fr"
oOlFwd.SendUsingAccount oAccount
oOlFwd.Recipients.ResolveAll
' oOlFwd.Display ' pour afficher
oOlFwd.Send
End If
Next oOlItm
End Sub |
Je souhaite me servir de ce code avec l'utilisation de règles OUTLOOK (pour automatiser un peu en fonction de certains mots dans l'objet).
J'ai donc inséré ce code VBA dans le script TEST suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
Sub TEST(Mail As Outlook.MailItem)
Set oOlSel = ActiveExplorer.Selection
Dim oAccount As Outlook.account
Set oAccount = Application.Session.accounts("christophe@be-ingetech.fr")
If oAccount Is Nothing Then MsgBox "Compte non trouvé": Exit Sub
For Each oOlItm In oOlSel
If oOlItm.Class = olMail Then
Set oOlFwd = oOlItm.Forward
oOlFwd.Attachments.Add oOlItm, olEmbeddeditem
oOlFwd.To = "maison@be-ingetech.fr"
oOlFwd.SendUsingAccount oAccount
oOlFwd.Recipients.ResolveAll
' oOlFwd.Display ' pour afficher
oOlFwd.Send
End If
Next oOlItm
End Sub |
J'appelle donc ce script TEST lors du paramétrage de mes règles mais il fait n'importe quoi (genre il me transfère le mail précédent déjà lu ou bien ne me tranfère rien du tout)
Pièce jointe 637910
J'ai essayé plein de choses pour résoudre mon problème mais rien n'y fait:
- créer un nouveau profil dans OUTLOOK dans lequel je n'ai mis que mes comptes pop (pas d'imap ou de comptes gmail etc..)
- réparer mon fichier de données outlook
- tester un autre code en enlevant la condition objet pour l'appliquer à tous les messages entrants du compte en question:
Code:
1 2 3 4
|
Sub Arrive_NewMail(Mail As Outlook.MailItem)
MsgBox "Arrivée du message :" & vbCr & Mail.Subject & vbCr & " de:" & Mail.SenderName
End Sub |
Et là ça fonctionne parfaitement avec ce script (qui m'affiche une fenêtre lors de la réception d'un message)
J'en déduis que c'est l'adaptation du code en script qui lui plait pas!
Qu en pensez vous?