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 :

Nombre d'emails sur une période (1 mois)


Sujet :

VBA Outlook

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 274
    Points : 114
    Points
    114
    Par défaut Nombre d'emails sur une période (1 mois)
    Bonjour à tous,

    Ne maitrisant pas beaucoup le VBA et Outlook, je me permet de vous poser cette question :
    - Est-il possible de créer un VBA qui va compter le nombre de message reçus (Lu ou non pas d'importance) entre deux date (1er du mois et 28/29/30/31 du mois) ?

    On me demande de créer un graphique avec les différentes quantité de mails reçus chaque mois, mais vue la quantité de mail ouvrir la boite et le faire manuellement sera trop lourd et long.

    J'ai besoin de 3 statistiques

    - E-mail reçus depuis notre formulaire en ligne et dont l'objet du mail commence par [********] (exclure les confirmation d'envoi et lecture, réponse càd les RE: [********] puisqu'il ne viennent pas du site mais d'un utilisateur)
    - Autres e-mail reçus
    - E-mails envoyés (tous destinataire confondu)

    Le tout pour chaque mois

    D'avance merci pour vos informations.
    Spliffer

  2. #2
    Membre régulier Avatar de Tchicken
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique

    Informations forums :
    Inscription : Août 2017
    Messages : 108
    Points : 85
    Points
    85
    Par défaut
    Salut splifferwolf,

    tu peux t'inspirer de ce code qui boucle sur les courriels de la boite de réception :

    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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    Option Explicit
    Dim MyFolder As Outlook.folder
    Dim NbItems As Integer
    Dim MyBody As String
    Dim MyObjet As String
    Dim MyStrDate As Date
    Dim i As Integer
    Sub AnalyseCourriels()
        '***
        MsgBox ("Attendre le message de fin de traitement !")
        '***
        Set MyFolder = GetFolder("\\Fichier de données Outlook\Boîte de réception")
        If Not (MyFolder Is Nothing) Then
            '***
            '*** Nombre total de courriel dans la boite de réception
            '***
            NbItems = MyFolder.items.Count
            '***
            If NbItems > 0 Then
                '***
                '*** on boucle sur les courriels
                '***
                For i = NbItems To 1 Step -1
                    '***
                    '*** On récupère les données de chaque courriel
                    '***
                    '*** https://docs.microsoft.com/fr-fr/office/vba/api/outlook.mailitem.itemproperties
                    '***
                    MyBody = MyFolder.items(i).Body
                    MyObjet = MyFolder.items(i).Subject
                    MyStrDate = MyFolder.items(i).ReceivedTime
                    '***
                    '*** On comptabilise les données courriels
                    '***
                    Select Case Month(MyStrDate)
                        Case 1
                        Case 2
                        Case 3
                        '***
                        '*** Je vous laisse programmer le reste
                        '*** et organiser vos tests et compteurs ...
                    End Select
                   '***
                Next i
            End If
        End If
        '***
        MsgBox ("Fin de traitement.")
        '***
        '*** Penser aussi à la gestion des erreurs
        '***
    GestionErreur:
     
    End Sub
    Function GetFolder(ByVal FolderPath As String) As Outlook.folder
    Dim TestFolder As Outlook.folder
    Dim FoldersArray As Variant
    Dim miTemp As Outlook.MailItem
    Dim misTemp As Outlook.items
     
    Dim i As Integer
     
        On Error GoTo GetFolder_Error
        If Left(FolderPath, 2) = "\\" Then
            FolderPath = Right(FolderPath, Len(FolderPath) - 2)
        End If
     
        'Convert folderpath to array
        FoldersArray = Split(FolderPath, "\")
        Set TestFolder = Application.Session.Folders.item(FoldersArray(0))
        If Not TestFolder Is Nothing Then
            For i = 1 To UBound(FoldersArray, 1)
                Dim SubFolders As Outlook.Folders
                Set SubFolders = TestFolder.Folders
                Set TestFolder = SubFolders.item(FoldersArray(i))
                If TestFolder Is Nothing Then
                    Set GetFolder = Nothing
                End If
            Next
        End If
     
        'Return the TestFolder
        Set GetFolder = TestFolder
     
        Exit Function
     
    GetFolder_Error:
        Set GetFolder = Nothing
        Exit Function
    End Function

  3. #3
    Membre régulier Avatar de Tchicken
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique

    Informations forums :
    Inscription : Août 2017
    Messages : 108
    Points : 85
    Points
    85
    Par défaut
    Hello splifferwolf,

    dis-nous si tu as résolu ton problème ?

Discussions similaires

  1. [AC-2010] compter le nombre d'enregistrements sur une période
    Par nounous54 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 17/08/2020, 21h55
  2. Compter le nombre de jours sur une période en année calendaire
    Par larabis dans le forum Développement
    Réponses: 1
    Dernier message: 12/02/2019, 09h28
  3. [XL-2010] Nombres de jours (lundi, mardi..) d'un mois précis sur une période
    Par Thomas.lp dans le forum Excel
    Réponses: 6
    Dernier message: 14/01/2019, 17h47
  4. filtre sur une période en mois
    Par bricoreur dans le forum Access
    Réponses: 0
    Dernier message: 04/03/2016, 15h02
  5. [MySQL-5.0] Compter le nombre de matériel sur une période
    Par vanitom dans le forum Requêtes
    Réponses: 0
    Dernier message: 20/10/2013, 15h57

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