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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : novembre 2017
    Messages : 10
    Points : 10
    Points
    10

    Par défaut Comptage des e-mails reçus

    Bonjour,

    Je souhaite compter les e-mails reçus dans une boite de réception, mais qui sont par la suite classés dans des sous-dossiers. Au moment de ma recherche, les e-mails à compter sont donc classés dan différents sous-dossiers de la boite de réception.

    La macro ci-dessous fonctionne parfaitement mais ne compte pas ce qui est dans les sous-dossiers, uniquement ce qui "reste"dans la boite de réception. Sauriez-vous comment modifier ? Merci

    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 Countemailsperday()
        Dim objOutlook As Object, objnSpace As Object, objFolder As MAPIFolder
        Dim EmailCount As Integer
        Dim oDate As String
     
        oDate = InputBox("Type the date for count (format YYYY-m-d")
        Set objOutlook = CreateObject("Outlook.Application")
        Set objnSpace = objOutlook.GetNamespace("MAPI")
            On Error Resume Next
            Set objFolder = Application.ActiveExplorer.CurrentFolder
            If Err.Number <> 0 Then
            Err.Clear
            MsgBox "No such folder."
            Exit Sub
            End If
        EmailCount = objFolder.Items.Count
        MsgBox "Number of emails in the folder: " & EmailCount, , "email count"
        Dim ssitem As MailItem
        Dim dateStr As String
        Dim myItems As Outlook.Items
        Dim dict As Object
        Dim msg As String
        Set dict = CreateObject("Scripting.Dictionary")
        Set myItems = objFolder.Items
        myItems.SetColumns ("ReceivedTime")
        ' Determine date of each message:
        For Each myItem In myItems
            dateStr = GetDate(myItem.ReceivedTime)
            If dateStr = oDate Then
                If Not dict.Exists(dateStr) Then
                    dict(dateStr) = 0
                End If
                dict(dateStr) = CLng(dict(dateStr)) + 1
            End If
        Next myItem
        ' Output counts per day:
        msg = ""
        For Each o In dict.Keys
            msg = msg & o & ": " & dict(o) & " items" & vbCrLf
        Next
        MsgBox msg
        Set objFolder = Nothing
        Set objnSpace = Nothing
        Set objOutlook = Nothing
    End Sub
    Function GetDate(dt As Date) As String
        GetDate = Year(dt) & "-" & Month(dt) & "-" & Day(dt)
    End Function

  2. #2
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    mars 2006
    Messages
    3 457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : mars 2006
    Messages : 3 457
    Points : 5 999
    Points
    5 999
    Billets dans le blog
    16

    Par défaut

    Bonjour,
    il faut faire une fonction recursive

    voir cet exemple (dernière partie Sub FoldersSize()...)

    https://www.developpez.net/forums/bl...bal-exchanges/

Discussions similaires

  1. [Exchange 2010] Faire un listing des mails reçus la veille
    Par jnagone dans le forum Exchange Server
    Réponses: 16
    Dernier message: 24/09/2013, 17h38
  2. Réponses: 1
    Dernier message: 19/10/2012, 18h00
  3. Postfix: enregistrer tous les mails reçus dans des fichiers
    Par piemur2000 dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 28/11/2011, 17h17
  4. Récupérer les infos des mails reçus
    Par Arioch dans le forum Modules
    Réponses: 2
    Dernier message: 02/05/2007, 15h36
  5. Comment récuperer le chemin des mails reçus de Outlook ?
    Par chleuh dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 16/08/2005, 17h44

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