Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook
Outlook Forum d'entraide sur Microsoft Office 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 06/11/2006, 10h04   #1
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 58
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : décembre 2004
Messages : 58
Points : 30
Points : 30
Envoyer un message via MSN à petitsims
Par défaut Outlook 2000 -> recherche date échéance dépassée

Bonjour à tous,

Voilà mon pb, j'essai d'écrire une procédure qui me permettrai de chercher les messages dont la date d'échéance est dépassée...
Mais je n'y arrive pas ...

Auriez vous une idée, voilà où j'en suis :

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
 
Sub Recherche()
 
Dim oFdr As MAPIFolder
Dim oFdx As MAPIFolder
 
Set oNms = Application.GetNamespace("MAPI")
 
'Se positionner dans le dossier "Archives"
Set oFdr = oNms.GetDefaultFolder(olFolderInbox).Folders("Interne").Folders("réseau")
 
'Lire récursivement les sous-dossiers de "Archives"
For Each oFdx In oFdr.Folders
   Call LectureSousDossier(oFdx)
Next oFdx
 
 
End Sub
 
Sub LectureSousDossier(oFdr As MAPIFolder)
 
Dim oFdx As MAPIFolder
Dim oItm As MailItem
Dim oItc As MailItem
Dim oIts As Items
Dim oTsk As TaskItem
Dim OlItemLocate As Items
Dim strSearch2 As String
 
'Parcourir les éléments
Set oIts = oFdr.Items
 
strSearch2 = "[ReminderTime] < '" & Format(Date, "dd/mm/yyyy") & " " & Format(Time, "h:nn AMPM") & "'"
Set OlItemLocate = oIts.Find(strSearch2)
 
For Each oItm In OlItemLocate 
' à la ligne du dessus, j'ai ce message :OBJET REQUIS....
MsgBox oItm.ReminderTime
 
Next oItm
 
End Sub
MERCI D'avance
petitsims est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2006, 11h04   #2
Expert Confirmé Sénior
 
Avatar de ced600
 
Homme Cédric
Développeur .NET
Inscription : août 2006
Messages : 3 364
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : août 2006
Messages : 3 364
Points : 4 033
Points : 4 033
Bon on pourrait t'aider si tu nous disais qu'elle est ton problème. Une erreur survient sur une de tes lignes de codes ? dans ce cas quelle erreur et sur quelle ligne. Ton programme ne fait pas ce que tu souhaites ? dans ce cas que souhaites tu faire et que fait il ?
Code :
1
2
3
4
5
6
 
Set OlItemLocate = oIts.Find(strSearch2)
 
For Each oItm In OlItemLocate 
' à la ligne du dessus, j'ai ce message :OBJET REQUIS....
MsgBox oItm.ReminderTime
Lorsque tu dit la ligne du dessus, c'est le for each, le set OlItemLocate, ou une autre ligne ?
ced600 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2006, 13h39   #3
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 58
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : décembre 2004
Messages : 58
Points : 30
Points : 30
Envoyer un message via MSN à petitsims
Code :
Set OlItemLocate = oIts.Find(strSearch2)
Après cette ligne, l'objet OlItemLocate vaut nothing...

d'où le problème au niveau du for each.... qui me demande un objet...

Mais je ne vois pas comment régler le problème du find qui m'a l'air correct...
petitsims est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2006, 16h07   #4
Expert Confirmé Sénior
 
Avatar de ced600
 
Homme Cédric
Développeur .NET
Inscription : août 2006
Messages : 3 364
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : août 2006
Messages : 3 364
Points : 4 033
Points : 4 033
apres cette ligne :
Code :
1
2
 
strSearch2 = "[ReminderTime] < '" & Format(Date, "dd/mm/yyyy") & " " & Format(Time, "h:nn AMPM") & "'"
peut tu faire cela :
cela te permet de vérifier ta string.
Test aussi oits et ofdr, veérifie s'ils valent quelque chose.
ced600 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2006, 19h56   #5
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 58
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : décembre 2004
Messages : 58
Points : 30
Points : 30
Envoyer un message via MSN à petitsims
Merci bien pour ton aide, mais en fiat ça venait de l'objet, voilà comment j'ai résolu la chose :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim oFdx As MAPIFolder
Dim oItm As MailItem
Dim oItc As MailItem
Dim oIts As Items
Dim objMail As Outlook.MailItem
Dim OlItemLocate As Items
Dim strSearch2 As String
Dim msg As String
Dim msgretour As String
 
'Parcourir les éléments
Set oIts = oFdr.Items
'Je recherche tous les mails dont la date de suivi est dépassée
strSearch2 = "[FlagDueBy] < '" & Format(Date, "dd/mm/yyyy") & " " & Format(Time, "h:nn") & "'"
'Je lance la recherche
Set objMail = oIts.Find(strSearch2)
While TypeName(objMail) <> "Nothing"
    'Traitements.....
    'Je parcours mes objets qui résultent de mon "filtre"
    Set objMail = oFdr.Items.FindNext
 
Wend
petitsims est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h35.


 
 
 
 
Partenaires

Hébergement Web