Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 13/01/2011, 21h40   #1
Invité régulier
 
P-M. G.
Inscription : juin 2010
Messages : 20
Détails du profil
Informations personnelles :
Nom : P-M. G.

Informations forums :
Inscription : juin 2010
Messages : 20
Points : 6
Points : 6
Par défaut Erreur 91 dans une fonction

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 :
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
Nightwing367 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 00h54   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 459
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 459
Points : 7 535
Points : 7 535
Comme tu as l'air de retourner un objet essaye

Code :
set TrouverCourriel = messageEnCours
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 16h19   #3
Invité régulier
 
P-M. G.
Inscription : juin 2010
Messages : 20
Détails du profil
Informations personnelles :
Nom : P-M. G.

Informations forums :
Inscription : juin 2010
Messages : 20
Points : 6
Points : 6
A bien oui, c'était aussi bête que ça. Merci beaucoup de ce coup de pouce. C'est très apprécié

-NightWing
Nightwing367 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 17h11.


 
 
 
 
Partenaires

Hébergement Web