Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2008, 15h17   #1
Futur Membre du Club
 
Inscription : mai 2008
Messages : 72
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 72
Points : 17
Points : 17
Par défaut Probleme règle + script

Bonjour dans le cadre d'un projet, il faut que je transfere les pieces jointes et le contenu de certain des emails que je reçoit dans un dossier de mon ordinateur.
Pour cela j'ai essayé d'utiliser cette reponse dans la FAQ.

http://outlook.developpez.com/faq/?p...eceive_Save_PJ
Puis lorsque j'édite ma règle et que je lui met le bon script, à la fin outlook affiche: This is a client-only rule, and will process outlook is runnig.

J'ai laissé mais après lorsque je recevai des emails qui correspondaient à ma règle (qui marchait si je stocke dans un sous dossier de ma inbox) rien ne se passait.

C'est sous xp pro outlook 2003.

Cordialement
forca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 21h48   #2
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 106
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 106
Points : 8 745
Points : 8 745
Salut,

tu peux nous en dire plus sur ta règle et surtout ta procédure


Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2008, 10h36   #3
Futur Membre du Club
 
Inscription : mai 2008
Messages : 72
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 72
Points : 17
Points : 17
Alors ma regle: je filtre les emails qui contiennent dans leurs sujets les mots Akamai ou Analytics et les emails venant d'une addresse particuliere, puis comme action je lance un script et je n'exécute aucune autre règle (comme demandé dans la faq).

Ma procédure, je me suis contenté de recopier le script de la faq dans un module,que j'ai mis en lien avant, et j'ai créé un repertoire c/temp/pj comme demandé.

Ca a marché un matin, lorsque j'ai lancé outlook mais depuis ça ne fait plus rien.

Je voudrais que tout les jours lorsque outlook reçoit mes mails mes pieces jointes choisies par la règle soient transférées vers ce dossiers c/temp/pj.
forca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2008, 16h01   #4
Futur Membre du Club
 
Inscription : mai 2008
Messages : 72
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 72
Points : 17
Points : 17
Je viens de recopier le script dans un module et j'ai bien édité une règle. Je m'envoi un email test, ça marche la piece jointe est bien transferée, par contre je m'envoie un deuxieme email un quart d'heure plus tard pour tester et là rien ne se passe.

Il faut que je mette quoi exactement dans this outlooksession, pour l'instant j'ai rien mis pour le projet. Mais la règle dit que ça s'appliquera à chaque fois qu'un email arrive.

Désolé je suis débutant en vba.
forca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2008, 19h32   #5
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 106
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 106
Points : 8 745
Points : 8 745
Salut,

as-tu suivit le conseil d'Oliv- ?

Citation:
A partir de 2003 préférer l'événement NewMailEx pour ne pas parcourir tout le dossier ou l'exécution d'un script sur une règle.
http://dolphy35.developpez.com/artic...k/vba/#LV-A-10


Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2008, 09h14   #6
Membre chevronné
 
Avatar de Oliv-
 
Inscription : mars 2006
Messages : 643
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2006
Messages : 643
Points : 699
Points : 699
Bonjour,
Il faut savoir si c'est la règle qui pose pb ou le script, peux tu nous coller ce script ?

Pour savoir si le règle s'execute bien tu peux ajouter au début.
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 18h13   #7
Futur Membre du Club
 
Inscription : mai 2008
Messages : 72
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 72
Points : 17
Points : 17
Je vais suivre le conseil d'oliv et utiliser NewMailEx avec le script dune autre faq:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
'---------------------------------------------------------------------------------------
' Procédure : Application_NewMailEx
' Auteur    : Dolphy35
' Site      : http://dolphy35.developpez.com
' Détail    : Permet de déplacer le nouveau message si celui-ci est envoyé par un expéditeur précis
'---------------------------------------------------------------------------------------
'
    'Déclartions
    Dim MonApp As Outlook.Application
    Dim MonMail As Object
    Dim MonNameSpace As Outlook.NameSpace
    Dim MonDossier As Outlook.Folder
 
    'Instance des variables
    Set MonApp = Outlook.Application
    Set MonNameSpace = MonApp.GetNamespace("MAPI")
    Set MonDossier = MonNameSpace.GetDefaultFolder(olFolderInbox)
    Set MonMail = Application.Session.GetItemFromID(EntryIDCollection)
 
        'Test si l'expéditeur correpond dans ce cas on déploce le mail
        'vers le dossier Temp de votre boîte de réception
        If MonMail.SenderEmailAddress = "personne@domaine.fr" Then
            MonMail.Move MonDossier.Folders("Temp")
        End If
 
End Sub
Seulement quand je compile pour la ligne Dim MonDossier As Outlook.Folder
il m'affiche une erreur user-defined type not defined
J'ai cocher la library Microsoft scripting runtime.
Après je vais reprendre un partie de l'autre script pour deplacer les pieces jointes vers un autre dossier de mon ordinateur.

Cordialement
forca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2008, 09h48   #8
Membre chevronné
 
Avatar de Oliv-
 
Inscription : mars 2006
Messages : 643
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2006
Messages : 643
Points : 699
Points : 699
SAlut,
et qu'est-ce qui n'alliat pas dans
Sub extrait_PJ_vers_rep(strID As Outlook.MailItem) ?

Ajoute une référence à Microsoft CDO 1.21 (OU WINDOWS 2000)
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2008, 10h53   #9
Futur Membre du Club
 
Inscription : mai 2008
Messages : 72
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 72
Points : 17
Points : 17
Pour Sub extrait_PJ_vers_rep(strID As Outlook.MailItem) , le script ne marchait tout simplement pas chez moi, quand je copiais le script dans le module. Je creais la règle, je respectais les indications de la faq, ça marchait une fois et puis c'est tout. Alors je ne sais pas si il fallait que je rentre du code dans thisoutlooksession.

Pour le newmailex j'ai toujours le meme probleme avec toutes les références que tu m'a proposé.
forca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2008, 10h26   #10
Membre chevronné
 
Avatar de Oliv-
 
Inscription : mars 2006
Messages : 643
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2006
Messages : 643
Points : 699
Points : 699
Salut,
Le problème doit venir de
Code :
Set MonMail = Application.Session.GetItemFromID(EntryIDCollection)
où EntryIDCollection n'a pas été défini.
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h56.


 
 
 
 
Partenaires

Hébergement Web