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

VBA Outlook Discussion :

accéder / lire mail de réponse automatique de Microsoft outlook dans les courriers indésirables


Sujet :

VBA Outlook

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 66
    Par défaut accéder / lire mail de réponse automatique de Microsoft outlook dans les courriers indésirables
    Bonjour,

    j'ai écrit une petit macro pour accéder aux mails d'un dossier spécifique des répertoires outlook où je cherche Ã* parcourir les mails de retours d'outlook pour récupérer les mails problématiques.

    Tout va bien pour parcourir les emails de ces dossiers, Ã* l'exception de ceux qui proviennent des réponses automatiques d'outook qui sont référencés dans les indésirables.

    J"ai un message d'erreur d'exécuti"n 13, "Incompatibilité de type" sur la phrase "For Each omail In MYFOL.Items" alors que cela marche pour les autres emails.

    Les mails sont ceux de
    Microsoft Outllok
    sujet : non remis

    Avec les autres mails classés dans indésirables, je n'ai pas ces soucis...
    Est ce une histoire de type d'email ?

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    Sub outlook_import_emailbody()
     
        Dim o As Outlook.Application
        Set o = New Outlook.Application
        Dim ons As Outlook.Namespace
        Set ons = o.getNamespace("MAPI")
     
     
        Dim oOLApp As Outlook.Application
        Dim oOLXplr As Outlook.Explorer
        Dim oOLFldInbox As Outlook.Folder, oOLFld As Outlook.Folder
     
     
     
        ' Remplacez "Test" par le nom exact du sous-dossier que vous souhaitez traiter
        Dim MYFOL As Outlook.Folder
        Set MYFOL = ons.GetDefaultFolder(olFolderInbox).Parent
        MsgBox MYFOL
        Set MYFOL = ons.GetDefaultFolder(olFolderInbox).Parent.Folders("Courrier indésirable")
        MsgBox MYFOL
        '
     
        Dim omail As Outlook.MailItem
        Dim R As Long
     
        'ong = "Mail en Erreur"
        ligne = 4
     
        Dim bodyText As String
     
        ' Boucle pour parcourir les e-mails et extraire les informations requises
     
        For Each omail In MYFOL.Items
     
     
                ' Extraire les caractères Ã* partir des mots-clés spécifiés
                bodyText = omail.Body
     
                ' Recherche du mot-clé "la livraison de votre véhicule immatriculé"
                Dim addresse_mail As String
                cle_adresse = "@"
     
                clé_id = InStr(1, bodyText, cle_adresse)
     
                'reconstitution de l'adresse mail
                k = 1
                While Mid(bodyText, clé_id - k, 1) <> ":"
                    k = k + 1
                Wend
                 debut_add = clé_id - k + 1
     
     
                k = 1
                While Mid(bodyText, clé_id + k, 1) <> "D"
                    k = k + 1
                Wend
                fin_add = clé_id + k - 1
     
                adresse_mail = Mid(bodyText, debut_add, fin_add - debut_add)
     
                'écriture du mail recherché
                'Worksheets(ong).
                Cells(ligne, 1).Value = adresse_mail
                ligne = ligne + 1
     
          '  End If
        Next omail
     
        Set o = Nothing
        Set ons = Nothing
        Set MYFOL = Nothing
        Set omail = Nothing
    End Sub
    Merci de votre aide.
    Franck

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 66
    Par défaut plus de précision
    bonjour, je vais essayer d'etre plus clair ou explicite.

    Voici le code simplifié, qui montre bien qu'il trouve 6 mail dans le dossier, mais qui n'arrive pas à les sélectionner un par un.

    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
    41
    42
    43
    44
    45
    46
    47
    48
    Sub outlook_import_emailbody()
     
        Dim o As Outlook.Application
        Set o = New Outlook.Application
        Dim ons As Outlook.Namespace
     
     
        Dim oOLApp As Outlook.Application
        Dim oOLXplr As Outlook.Explorer
        Dim oOLFldInbox As Outlook.Folder, oOLFld As Outlook.Folder
        Dim oMail As Outlook.MailItem
        Dim R As Long
        Dim bodyText As String
     
            Set ons = o.GetNamespace("MAPI")
            ' Remplacez "Test" par le nom exact du sous-dossier que vous souhaitez traiter
            Dim MYFOL As Outlook.Folder
            Set MYFOL = ons.GetDefaultFolder(olFolderInbox).Parent
            Set MYFOL = ons.GetDefaultFolder(olFolderInbox).Parent.Folders("Erreur Mail")
     
     
            'ong = "Mail en Erreur"
            ligne = 4
     
     
            ' Boucle pour parcourir les e-mails et extraire les informations requises
            MsgBox MYFOL.Items.Count  'AFFICHE BIEN 6 MAILS
     
            For Each oMail In MYFOL.Items   'ERREUR DE TYPE 13 INCOMPATIBILITE DE TYPE
     
                    ' Extraire les caractères à partir des mots-clés spécifiés
                    bodyText = oMail.Body
     
                    Cells(ligne, 1).Value = bodyText
                    ligne = ligne + 1
     
              '  End If
            Next oMail
     
             'End If
     
     
     
        Set o = Nothing
        Set ons = Nothing
        Set MYFOL = Nothing
        Set oMail = Nothing
    End Sub
    voici les mails du dossier. ce sont des mails de retour automatique d'outlook ...
    Nom : Capture d’écran 2024-11-13 204133.png
Affichages : 79
Taille : 92,2 Ko

    quelqu'un comprend il ce qu'il se passe avec ces mails ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 66
    Par défaut
    j'ai trouvé

    en remplacant le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For Each oMail In MYFOL.Items   'ERREUR DE TYPE 13 INCOMPATIBILITE DE TYPE
     
                    ' Extraire les caractères à partir des mots-clés spécifiés
                    bodyText = oMail.Body
    par cette approche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Set objItems = Outlook.Application.ActiveExplorer.CurrentFolder.Items
     
           For i = 1 To objItems.Count
     
                    bodyText = objItems.Item(i).Body
    ,

    ca marche, mais je ne sais pas pourquoi ....

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/02/2011, 11h50
  2. Réponses: 2
    Dernier message: 13/08/2009, 14h13
  3. envoi de mail ou alerte automatique
    Par grinder59 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 16/03/2006, 08h58
  4. Détection automatique d'1 appli dans les processus
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/01/2006, 23h38

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