Bonjour à tous,
Je travaille sur une base de données de gestion de demandes de support. Cette base importe les informations des courriels reçu dans une boite Outlook spécifique. Une fois la demande importée, je déplace le courriel vers une autre boîte. Pour ce faire il me faut une fonction (que voici en partie) qui me permet de retrouver le courriel. il y a cependant un petit problème.
J'ai un code d'erreur 91 dans mon code qui me dirait normalement que j'ai quelque chose qui n'est pas définit. Cependant, le problème survient sur la ligne qui ne comporte que "TrouverCourriel = messageEnCours". La première partie est le nom de la fonction et la seconde est le courriel que je veux qu'elle retourne.
Après quelques tests, je vois que je trouve bien le courriel en question (J'arrive à faire afficher les information contenues dans le e-mail par des msgbox). je suis certain que l'erreur est évidente mais même après une bonne heure, je n'avance pas.
Merci de votre aide,
-Nightwing
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Private Function TrouverCourriel(unNoMail As String, dossierAChercher As Outlook.MAPIFolder) As MailItem Dim iNbItems As Integer Dim i As Integer Dim iNoProp As Integer Dim rsProprietes As Recordset Dim ol As New Outlook.Application Dim olns As Outlook.NameSpace Dim messageEnCours As MailItem Set olns = ol.GetNamespace("MAPI") Set db = CurrentDb() iNbItems = dossierAChercher.Items.Count If iNbItems <> 0 Then For i = 1 To iNbItems If TypeName(dossierAChercher.Items(i)) = "MailItem" Then Set messageEnCours = dossierAChercher.Items(i) listerProprietes messageEnCours Set rsProprietes = db.OpenRecordset(NOM_TABLE_PROPRIETES, dbOpenSnapshot) rsProprietes.FindFirst "NomPropriete = 'EmailIDDemande'" iNoProp = Val(rsProprietes!NoPropriete) If messageEnCours.ItemProperties.Item(iNoProp) = unNoMail Then 'Erreur 91, sur la ligne qui suit TrouverCourriel = messageEnCours rsProprietes.Close db.Close Exit Function End If rsProprietes.Close db.Close End If Next End If 'Ne fonctionne pas plus TrouverCourriel = Nothing End Function
Partager