IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

récupération mail boite aux lettres


Sujet :

Access

  1. #1
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut récupération mail boite aux lettres
    Bonjour,

    Je reviens à la charge lol...
    Je souhaite désespérément accéder à un dossier d'une boite aux lettres outlook ne se trouvant pas dans ma boite aux lettres par défaut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'Création de l'objet Outlook
    Set objoutlook = CreateObject("Outlook.application")
    'Récupération de l'espace de nom d'outlook
    Set olns = objoutlook.GetNamespace("MAPI")
    'Récupération du répertoire "boite de réception" par défault
    Set fld = olns.GetDefaultFolder(olFolderInbox)
    Et c'est justement la dernière ligne qu'il me faudrait modifier.
    J'ai beau chercher à droite à gauche, pas de solution en vue.
    Après, j'arrive parfaitement à récupérer la pièce jointe en fonction de l'émetteur ou de l'objet du message...

    Je vous serais hyper reconnaissant si vous pouviez ne serait-ce que me pousser dans la bonne direction...

    Cdt,
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    ceci par exemple te donne le nombre de mails dans un dossier particulier ...
    je pense que ça peut te mettre sur la bonne voie ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.GetNamespace("MAPI").Folders("Dossiers personnels").folders("00 - A classer").items.count
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Ooops, je t'avais oublié...
    Si j'ai bien compris ce que tu veux, tu peux exploiter ce bout de code...

    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
     
    Private Sub EnumerateMailboxFolders()
    Dim strMailboxOwner As String
    Dim strMailboxToCheck As String
    Dim oOLK As Outlook.NameSpace
     
        Set oOLK = GetObject(vbNullString, _
          "Outlook.application").GetNamespace("MAPI")
        strMailboxOwner = "argyronet"
        strMailboxToCheck = "Éléments envoyés"
        If OutlookFolderExist(oOLK.Folders(strMailboxOwner), strMailboxToCheck) _
    Then
          MsgBox "C'est trouvé, on farfouille dedans, alors...", 64
          '[Code d'exploration des items de ce dossier...]
        End If
        Set oOLK = Nothing
    End Sub
     
    Private Function OutlookFolderExist(ByVal AnyFolder As Outlook.MAPIFolder, _
      ByVal ExpectedFolder As String) As Boolean
    Dim F As Integer
     
      OutlookFolderExist = False
      If AnyFolder.Folders.Count Then
          For F = 1 To AnyFolder.Folders.Count
              Debug.Print "Dossier trouvé : " & AnyFolder.Folders(F)
              If StrComp(AnyFolder.Folders(F), ExpectedFolder) = 0 Then
                OutlookFolderExist = True
                Exit For
              End If
          Next
      End If
    End Function
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  4. #4
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut
    Mais c'est que tout ceci m'a l'air très très intéressant...
    Un grand merci je vais me dépatouiller, c obligé que ca marche maintenant (enfin je pense ^^)

    Merci beaucoup beaucoup
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

  5. #5
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut
    C'est de nouveau moi

    Alors j'ai tenté, et le code de argyronet et celui de cafeine, et à chaque fois, cela me renvoie la même erreur :
    "Impossible d'exécuter l'opération. Impossible de trouver un objet.
    Cela se produit à chaque fois sur la ligne où je me sers du "GetNameSpace". Pourtant mon objet outlook a l'air d'être bien défini...

    Bref, merci de me re-venir en aide ^^
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

  6. #6
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour,
    as-tu déclaré une référence sur Outlook ?
    (dans l'éditeur VBA, sous Outils...)
    "Always look at the bright side of life." Monty Python.

  7. #7
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut
    Oui oui...
    Dans une autre fonction, j'utilise outlook afin d'envoyer un mail prédéfini donc le probleme ne vient pas de la...
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Quelle erreur est renvoyée ?
    Sur quelle ligne l'instruction stoppe ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  9. #9
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut
    Alors l'erreur renvoyée est la suivante :
    Erreur d'exécution '-2147221233 (8004010f)':

    "Impossible d'exécuter l'opération. Impossible de trouver un objet."
    Ca bloque sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If OutlookFolderExist(oOLK.Folders(strMailboxOwner), strMailboxToCheck)
    ou bien encore sur celle ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox oOLK.Folders("Dossier Personnel").Items.Count
    C'est-à-dire à chaque fois que je fais à appel à Folders (enfin je pense...)

    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
    Private Sub EnumerateMailboxFolders()
     
        'Application.GetNamespace("MAPI").Folders("Dossiers personnels").Folders("00 - A classer").Items.Count
     
        Dim objoutlook As Outlook.Application
        Dim strMailboxOwner As String
        Dim strMailboxToCheck As String
        Dim oOLK As Outlook.NameSpace
     
       'objoutlook.GetNamespace("MAPI").Folders("Dossiers personnels").Folders("00 - A classer").Items.Count
     
        Set oOLK = GetObject(vbNullString, "Outlook.application").GetNamespace("MAPI")
     
        'Set objoutlook = CreateObject("Outlook.application")
        'Set oOLK = objoutlook.GetNamespace("MAPI")
     
        'MsgBox objoutlook.GetNamespace("MAPI").Folders("Boîte de réception").Items.Count
        MsgBox oOLK.Folders("Dossier Personnel").Items.Count
     
        'MsgBox objoutlook.GetNamespace("MAPI").Folders("Dossiers personnels").Folders("Boîte de réception").Items.Count
        'strMailboxOwner = "CARTES CORPORATE CM-CIC"
        'strMailboxToCheck = "Éléments envoyés"
        'If OutlookFolderExist(oOLK.Folders("CARTES CORPORATE CM-CIC"), strMailboxToCheck) Then
        '    MsgBox ("1"), vbExclamation
        'Else
        '    strMailboxOwner = "Boîte aux lettres - CARTES CORPORATE CM-CIC"
        '    If OutlookFolderExist(oOLK.Folders(strMailboxOwner), strMailboxToCheck) Then
        '       MsgBox ("2"), vbExclamation
        '    Else
        '        MsgBox ("3"), vbExclamation
        '    End If
        'End If
        Set oOLK = Nothing
    End Sub

    J'ai testé plein de choses, d'où les nombreuses lignes de code en commentaires... Ca génère une erreur quoiqu'il arrive (MsgBox ou non...)

    Merci
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    As-tu essayé mon code sans rien toucher excepté l'enrichissement de ton nom en guise du mien... ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        strMailboxOwner = "Ton nom ici tel que défini dans Exchange ou ta config de messagerie"
        strMailboxToCheck = "Le dossier à trouver sur la racine"

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  11. #11
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    La ligne suivante marche ok chez moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.mapi = Outlook.Application.GetNamespace("MAPI").folders("Dossiers personnels").folders("Boîte de réception").Items.Count
    "Always look at the bright side of life." Monty Python.

  12. #12
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut
    Bon, ben merci beaucoup à tous !
    Ca fonctionne parfaitement... J'ai enlevé tout ce que j'avais fait, repris vos lignes de code et ca roule.
    J'arrive donc à récupérer un mail se trouvant dans un sous-dossier d'un dossier ne se trouvant pas dans ma boite aux lettres par défaut (et oui tout ca...)

    Bref a bientot et merci encore
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/08/2013, 22h35
  2. [exchange server 2007], taille boite aux lettres.
    Par valoche51_2 dans le forum Exchange Server
    Réponses: 4
    Dernier message: 27/06/2007, 11h53
  3. Boites aux lettres de MS Exchange 5.5
    Par Safaritn dans le forum Exchange Server
    Réponses: 1
    Dernier message: 03/01/2007, 11h19
  4. Outlook 2003 plusieurs boite aux lettres
    Par Destiny dans le forum Outlook
    Réponses: 4
    Dernier message: 31/10/2006, 21h31
  5. Outlook 2003 plusieurs boite aux lettre
    Par Destiny dans le forum Outlook
    Réponses: 1
    Dernier message: 26/10/2006, 17h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo