Vous avez peut-être un dossier dans lequel se trouvent de nombreux sous-dossiers. Si vous souhaitez réorganiser les e-mails qu'ils contiennent, par exemple en déplaçant rapidement tous les e-mails de ces sous-dossiers vers un dossier spécifique, vous pouvez utiliser la méthode partagée dans cet article.
Parfois, vous devrez peut-être déplacer par lots les e-mails de tous les sous-dossiers d'un dossier vers un autre dossier pour certaines raisons, comme vous souhaitez reclasser les e-mails, de sorte que ces sous-dossiers ne sont plus utiles. Dans ce cas, le traitement de ces sous-dossiers un par un est assez gênant. Par conséquent, nous allons vous présenter ici une autre manière.

Déplacer par lots les e-mails de tous les sous-dossiers d'un dossier vers un autre dossier
- Dès le départ, lancez votre programme Outlook.
- Ensuite, dans l'écran principal d'Outlook, appuyez sur les touches "Alt + F11", ce qui vous amènera à l'éditeur VBA.
- Ensuite, dans la nouvelle fenêtre "Microsoft Visual Basic pour Applications", vous devez ouvrir un module qui n'est pas utilisé.
- Ensuite, copiez et collez le code VBA suivant dans ce module.
Dim objTargetFolder As Outlook.folder
Sub BatchMoveEmailsFromSubfoldersToAnotherFolder()
Dim objSourceFolder As Outlook.folder
Dim objFolder As Outlook.folder
'Get the source folder whose subfolders to be processed
Set objSourceFolder = Application.Session.PickFolder
If Not (objSourceFolder Is Nothing) And objSourceFolder.DefaultItemType = olMailItem Then
If objSourceFolder.folders.count > 0 Then
'Select a target folder
Set objTargetFolder = Application.Session.PickFolder
If Not (objTargetFolder Is Nothing) Then
For Each objFolder In objSourceFolder.folders
Call ProcessFolders(objFolder)
Next
MsgBox "Move Completed!", vbExclamation
End If
Else
MsgBox "No subfolders!", vbExclamation
End If
End If
End Sub
Sub ProcessFolders(ByVal objFolder As Outlook.folder)
Dim i As Long
Dim objSubfolder As Outlook.folder
For i = objFolder.Items.count To 1 Step -1
'Move emails to the target folder
If objFolder.Items(i).Class = olMail Then
objFolder.Items(i).Move objTargetFolder
End If
Next
'Process subfolders recursively
If objFolder.folders.count > 0 Then
For Each objSubfolder In objFolder.folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- Après cela, vous pouvez exécuter cette macro.
- Tout d'abord, dans cette fenêtre de macro, appuyez sur la touche "F5".
- Ensuite, il vous sera demandé de choisir un dossier source dont les sous-dossiers seront traités.
- Après cela, vous devez spécifier le dossier de destination vers lequel vous souhaitez déplacer les e-mails.
- Cette macro se mettra ensuite en marche. Une fois son exécution terminée, un message « Terminé » s’affichera.
- Finalement, vous pouvez accéder au dossier cible. Vous constaterez que tous les courriels des sous-dossiers du dossier source s'y trouvent.
Restaurer les données Outlook compromises
Malgré ses nombreuses fonctionnalités, comme les autres clients de messagerie, Outlook ne peut toujours pas échapper à la corruption non plus. Avec de plus en plus de données stockées, Outlook sera de plus en plus sujet aux erreurs et aux dommages. Par conséquent, vous devez garder à portée de main un puissant outil de réparation, comme DataNumen Outlook Repair. Il est spécialement conçu pour réparer Outlook questions. Ainsi, il peut analyser et restaurer le fichier Outlook endommagé avec une facilité sans effort.
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écupération mdf et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datKanumen.com

