Récupérer le nombre de mails dans la boite de receprion d'outlook

Messages postés
2
Date d'inscription
samedi 28 janvier 2006
Statut
Membre
Dernière intervention
19 avril 2006
- - Dernière réponse : doolidodom
Messages postés
2
Date d'inscription
samedi 28 janvier 2006
Statut
Membre
Dernière intervention
19 avril 2006
- 19 avril 2006 à 22:23
Bonjour,
Et merci pour votre site qui est une mine d'or pour mes recherches...que je conseil à tous mon entourage.
Je travaille dans une entreprise qui utilise comme application Outlook 2003ou l'on reçoit diverses demandes par mail, on nous demande tous les mois de comptabiliser le nombre de mails traités par domaine, les mails sont archivés directement dans une sous arborescence de la boîte de reception par domaine d'application. Ex: boite de reception \demandes de beta_teste\fait. Ou boite de reception \demandes de beta_teste\En_cours ou boite de reception \demandes de beta_teste\A_faire
Je recherche un script vb qui effecturer une extraction vers un fichier csv des mails se trouvant dans les differentes sous-arborescences de la boite reception je peine énormément et je débute sous vbscript...:-(
Auriez-vous la générosité de m'indiquer le moyen ou le vbcript le plus approprié pour ma demande?
Dans l'attente de vous lire.
Merci d'avance de vous pencher sur mon souci.

doolidodom
Afficher la suite 

2 réponses

Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
16
0
Merci
bonjour

ce n'est pas du VBS mais j'espee que tu pourras adapter cette macro

Sub boucleDossiersBoiteDeReception()
Dim Ol As New Outlook.Application
Dim Ns As Outlook.NameSpace
Dim Dossier As Outlook.MAPIFolder


Set Ns = Ol.GetNamespace("MAPI")
Set Dossier = Ns.GetDefaultFolder(olFolderInbox)


Debug.Print Dossier.Name & " --> " & Dossier.Items.Count


boucleDossiers Dossier, ""


End Sub



Private Sub boucleDossiers(ByVal Fld As Outlook.MAPIFolder, nomDossier As String)
Dim i As Integer
Dim Dossier1 As Outlook.MAPIFolder
Dim OLmail As Outlook.MailItem


If Fld.Folders.Count > 0 Then
Do Until i = Fld.Folders.Count
i = i + 1

Set Dossier1 = Fld.Folders(i)
Debug.Print Dossier1.Name & " --> " & Dossier1.Items.Count

If Dossier1.Folders.Count > 0 Then boucleDossiers Dossier1, nomDossier
Loop
End If


End Sub

bonne journée
michel
Messages postés
2
Date d'inscription
samedi 28 janvier 2006
Statut
Membre
Dernière intervention
19 avril 2006
0
Merci
Bonjour Michel
Un grand merci pour ta réponse en effet en potassant le vbscript et surtout en m'inspirant de ta macro, j ai pu pondre ce qui suit.. Mon souci c'est que ça ma marche sous ma session Outlook "c- a-d" ma boite aux lettre mais pas quand il s agit d'une bal déléguée je seche oups!, mais bon, étant admin exchange, je fait avec, en m'appropriant la BAL!! mais je me demande encore comment parcourir une arborescence 'sous-sous-repertoire ".. dons voila ce que cela donne si c'est "simplifiable" je suis prenneuse...
encore merci je grandi!!!!on est encore sous exchange 5.5 et on va bientot passée sous echange2003 ce qui sera grandement plus simple..mais en attendant! je part en vacance et apres on verra!ça marche bien!!

.'Compte le Nombre d'éléments contenus dans la boite de réception est dans ses sous dossiers.


Option Explicit


Dim lns,MonDossier,MesElements,Application,NumItems,I,NbMessages,NumFolders
Dim MesSousDossiers,NbSubFolders,MsgSubFolders,SubFolders


Set Application = CreateObject ("Outlook.Application") 'instancie l'objet application Outlook
Set olns = Application.GetNameSpace("MAPI")
Set MonDossier = olns.GetDefaultFolder(6) 'fixe la boîte de réception comme mon dossier



NumItems = MonDossier.Items.count 'Compte le nombre d'éléments contenu dans la boîte de réception.


NumFolders = MonDossier.Folders.count


Set MesElements = MonDossier.items 'Défini la collection d'éléments contenu dans la boîte de réception.


For I = 1 To NumItems 'Compte le nombre de messages dans la boîte de réception

NbMessages = NbMessages + 1


Next


WScript.Echo "Il y a " & NbMessages & " messages dans la boîte de réception."

Set MesSousDossiers = MonDossier.Folders 'Défini la collection de sous-dossiers contenus dans la boîtes de réception.


NbSubFolders = MesSousDossiers.count


Wscript.Echo "Il y a " & NbSubFolders & " sous-dossier(s) dans la boîte de réception."


For I = 1 To NbSubFolders


SubFolders = MesSousDossiers(I).name
MsgSubFolders = MesSousDossiers(I).items.count

WScript.Echo "Le sous-dossier " & SubFolders & " contient " & MsgSubFolders & " messages"

Next


WScript.Echo "Il y a " & NbMessages & " messages dans la boîte de réception."

Set MesSousDossiers = MonDossier.Folders 'Défini la collection de sous-dossiers contenus dans la boîtes de réception.


NbSubFolders = MesSousDossiers.count


Wscript.Echo "Il y a " & NbSubFolders & " sous-dossier(s) dans la boîte de réception."


For I = 2 To NbSubFolders


SubFolders = MesSousDossiers(I).name
MsgSubFolders = MesSousDossiers(I).items.count

WScript.Echo "Le sous-dossier " & SubFolders & " contient " & MsgSubFolders & " messages"

Next


Set Application = Nothing
Set olns = Nothing
Set MonDossier = Nothing

doolidodom