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 :

Ouvrir un folder Outlook depuis Access [Toutes versions]


Sujet :

Access

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut Ouvrir un folder Outlook depuis Access
    Bonjour,

    Mes messages dans Outlook sont classés dans des folders. Par exemple: Inbox/projets/SAD123.

    J'ai une application Access à partir de laquelle je voudrais pouvoir ouvrir un folder Outlook afin de voir (dans Outlook, pas la version web de Outlook) les messages qui y sont classés.
    En d'autres termes, mon application Access gère des projets et je voudrais pouvoir, sur un clic, ouvrir le folder dans Outlook qui contient les messages classés pour ce projet.
    Mon application Access aurait le nom du folder Outlook visé (ex. Inbox/projets/SAD123). Elle devrait activer Outlook (pas la version web de Outlook.) et ouvrir le folder indiqué. La consultation des messages se ferait dans Outlook.

    Merci d'avance pour vos éclairages et suggestions.

    JL

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 378
    Par défaut
    Bonjour,

    Une façon de faire (qui m'a été soufflée par Mistral):
    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
    Option Compare Database
    Option Explicit
     
    '--- indispensable: avoir activé la référence  Microsoft Outlook xx.x Object Library
     
    Private Sub btnOpenOutlookFolder_Click()
        Dim olApp As Outlook.Application
        Dim olNamespace As Outlook.Namespace
        Dim olFolder As Outlook.MAPIFolder
        Dim folderPath As String
     
        ' Initialiser l'application Outlook
        Set olApp = New Outlook.Application
        Set olNamespace = olApp.GetNamespace("MAPI")
     
        ' Définir le chemin du dossier Outlook
        folderPath = "Inbox\projets\SAD123"
     
        ' Ouvrir le dossier spécifié
        On Error Resume Next
        Set olFolder = olNamespace.Folders("MonAdresseEmail@blabla.com").Folders("Inbox").Folders("projets").Folders("SAD123")
        On Error GoTo 0
     
        If olFolder Is Nothing Then
            MsgBox "Le dossier spécifié n'a pas été trouvé.", vbExclamation
        Else
            olFolder.Display
        End If
     
        ' Libérer les objets
        Set olFolder = Nothing
        Set olNamespace = Nothing
        Set olApp = Nothing
    End Sub
    Cordialement.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut
    Merci EricDgn.

    Le code que tu as proposé ne fonctionne pas.
    Le problème est sur la ligne 21.

    A l'exécution, la ligne 21
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set olFolder = olNamespace.Folders("MonAdresseEmail@blabla.com").Folders("Inbox").Folders("projets").Folders("SAD123")
    rend: olFolder = Nothing

    et alors je reçois logiquement la pop-up "Le dossier spécifié n'a pas été trouvé."

    JL

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 378
    Par défaut
    Bonjour,

    Le problème vient de ce qu'il faut respecter strictement les libellés (en respectant les accents s'il y en a) et la hiérarchie. Eventuellement ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Set olFolder = olNamespace.Folders("MonAdresseEmail@blabla.com").Folders("Boîte de réception").Folders("projets").Folders("SAD123")
    MonAdresseEmail@blabla.com est à remplacer par l'adresse email qui se trouve indiquée dans votre Outlook.

    Cordialement.

  5. #5
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    3 034
    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 : 3 034
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set olFolder = olNamespace.Folders("libellé de la BAL").Folders("Boîte de réception").Folders("Classement").Folders("05 projets").Folders("MAI")
    Ca fonctionne correctement chez moi
    Seulement quelques précautions :
    il faut saisir le libellé de la boite mail (car le libellé peut être différent du mail)
    si ton OTL est en français , mettre "Boîte de réception") au lieu de "inbox"
    ...

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut
    Effectivement, le code fonctionne avec la ligne ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set olFolder = olNamespace.Folders("MonAdresseEmail@blabla.com").Folders("Boîte de réception").Folders("projets").Folders("SAD123")
    Mais si on veut paramétrer comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set olFolder = olNamespace.Folders(MyEmail).Folders(MyInbox).Folders(MyProjets).Folders(me.MyFolder)
    avec MyEmail, MyInbox, MyProjets définis comme constantes string (pour faire simple), et me.MyFolder défini comme Text Box dans le Form, ça ne va plus.

    Le problème vient du me.MyFolder.

    Alors si on met d'abord le contenu de la Text Box dans une variable string et que l'on passe cette variable dans le olFolder, ça fonctionne sans problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim MystrFolder as string
    MystrFolder = me.MyFolder
    Set olFolder = olNamme.MyFolderespace.Folders(MyEmail).Folders(MyInbox).Folders(MyProjets).Folders(MystrFolder)
    Je ne sais pas pourquoi utiliser la text box directement ne marche pas.

    Merci pour vos inputs.

  7. #7
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 955
    Par défaut
    bonsoir,
    Je ne sais pas pourquoi utiliser la text box directement ne marche pas.
    tout simplement parce que me.MyFolder est un objet (de type contrôle d'un formulaire), il faut donc passer par une variable pour récupérer la valeur de cet objet comme tu as su le faire ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim MystrFolder as string
    MystrFolder = me.MyFolder
    on aurait pu écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MystrFolder = me.MyFolder.Value
    mais comme Value est la propriété par défaut d'un contrôle, il n'est pas nécessaire de le préciser

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/03/2016, 16h21
  2. Ouvrir l'agenda Outlook depuis un lien
    Par Lina dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 06/03/2006, 12h00
  3. Rendez-vous Outlook depuis Access
    Par pascal@falcy.ch dans le forum Access
    Réponses: 4
    Dernier message: 03/10/2005, 21h59
  4. Ouvrir un fichier excel depuis access
    Par ptitegrenouille dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 03/05/2005, 11h47

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