Si vous souhaitez obtenir un rapport sur le nombre d'éléments dans chaque dossier Outlook, vous pouvez utiliser la méthode présentée dans cet article. Il effectuera rapidement le comptage et exportera les résultats dans un fichier Excel.
Dans mon article précédent – «Comment obtenir rapidement le nombre total d'éléments dans un dossier et tous ses sous-dossiers via Outlook VBA”, vous pouvez apprendre une méthode utilisant VBA pour obtenir le nombre d'éléments dans un dossier. Cependant, par ce moyen, si vous souhaitez compter les éléments dans tous les dossiers, vous devez sélectionner chaque dossier et exécuter la macro un par un. C'est un peu fastidieux. Par conséquent, nous allons vous apprendre une autre méthode, qui exportera le décompte vers un fichier Excel.
Exporter le nombre total d'éléments dans chaque dossier Outlook vers Excel
- Au départ, lancez votre programme Outlook.
- Appuyez ensuite sur les touches "Alt + F11" dans la fenêtre principale d'Outlook.
- Ensuite, vous entrerez dans la fenêtre "Microsoft Visual Basic pour Applications", dans laquelle vous devez ouvrir un module qui n'est pas utilisé.
- Ensuite, copiez et collez le code VBA suivant dans ce module.
Public strExcelFile As String
Public objExcelApp As Excel.Application
Public objExcelWorkbook As Excel.Workbook
Public objExcelWorksheet As Excel.Worksheet
Sub Export_CountOfItems_InEachFolder_toExcel()
Dim objSourcePST As Outlook.Folder
Dim objFolder As Outlook.Folder
'Create a new Excel file
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWorkbook = objExcelApp.Workbooks.Add
Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1")
objExcelWorksheet.Cells(1, 1) = "Folder"
objExcelWorksheet.Cells(1, 2) = "Count Items"
'Select a source PST file
Set objSourcePST = Outlook.Application.Session.PickFolder
For Each objFolder In objSourcePST.folders
Call ProcessFolders(objFolder)
Next
'Fit the columns from A to B
objExcelWorksheet.Columns("A:B").AutoFit
strExcelFile = "E:\Outlook\" & objSourcePST.Name & " Folder Items Count (" & Format(Now, "yyyy-mm-dd hh-mm-ss") & ").xlsx"
objExcelWorkbook.Close True, strExcelFile
MsgBox "Complete!", vbExclamation
End Sub
Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder)
Dim objItem As Object
Dim lCurrentFolderItemCount As Long
Dim nLastRow As Integer
lCurrentFolderItemCount = objCurrentFolder.Items.Count
nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
'Add the values into the columns
objExcelWorksheet.Range("A" & nLastRow) = objCurrentFolder.FolderPath
objExcelWorksheet.Range("B" & nLastRow) = lCurrentFolderItemCount
If objCurrentFolder.folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- Après cela, vous devez définir le niveau de sécurité de votre macro Outlook sur faible.
- Ensuite, vous pouvez revenir à la macro nouvellement ajoutée et appuyer sur la touche F5 pour exécuter cette macro.
- Ensuite, vous devez sélectionner un fichier PST source et cliquer sur "OK".
- Une fois la macro terminée, vous pouvez accéder au dossier local prédéfini pour trouver le nouveau fichier Excel, qui ressemblera à la capture d'écran suivante :
Résoudre les erreurs PST ennuyeuses
Peut-être avez-vous rencontré divers problèmes lors de l'utilisation d'Outlook. Pour régler les petits problèmes, vous pouvez simplement recourir au outil de réparation de boîte de réception. Néanmoins, si les problèmes sont si graves qu'ils ont dépassé ce que l'outil intégré peut faire, vous devez utiliser un outil plus puissant, comme DataNumen Outlook Repair.
Introduction de l'auteur:
Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris réparation mdf et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com


