Si vous souhaitez supprimer les doublons dans Outlook, la recherche et la suppression manuelles peuvent s'avérer fastidieuses. Cet article vous explique comment effectuer cette opération rapidement grâce à Outlook VBA.
Dans mon article précédent – «Comment trouver et supprimer rapidement les e-mails en double dans Outlook", vous pouvez apprendre une astuce pour trouver et supprimer les e-mails en double, qui trient d'abord les e-mails par sujet, puis par heure de réception, puis par pièces jointes pour trouver les éléments en double et enfin sélectionnez les doublons et appuyez sur la touche "Suppr". Bien que cette méthode semble un peu plus pratique, elle est beaucoup plus gênante que l'utilisation d'Outlook VBA. Grâce aux codes VBA suivants, vous pouvez rapidement supprimer les éléments en double simplement en un clic, quels que soient les e-mails, les tâches, les contacts ou les rendez-vous. Maintenant, lisez la suite pour obtenir les codes en détail.

Supprimer les éléments Outlook en double dans un dossier
- Pour commencer, lancez votre programme Outlook.
- Appuyez ensuite sur les touches "Alt + F11".
- Dans la fenêtre suivante de l'éditeur VBA, double-cliquez pour ouvrir un module en cours d'utilisation ou insérez directement un nouveau module par « Insertion » > « Module ».
- Ensuite, copiez et collez les codes VBA suivants dans le module.
Sub RemoveDuplicateItems()
Dim objFolder As Folder
Dim objDictionary As Object
Dim i As Long
Dim objItem As Object
Dim strKey As String
Set objDictionary = CreateObject("scripting.dictionary")
'Select a source folder
Set objFolder = Outlook.Application.Session.PickFolder
If Not (objFolder Is Nothing) Then
For i = objFolder.Items.Count To 1 Step -1
Set objItem = objFolder.Items.Item(i)
Select Case objFolder.DefaultItemType
'Check email subject, body and sent time
Case olMailItem
strKey = objItem.Subject & "," & objItem.Body & "," & objItem.SentOn
'Check appointment subject, start time, duration, location and body
Case olAppointmentItem
strKey = objItem.Subject & "," & objItem.Start & "," & objItem.Duration & "," & objItem.Location & "," & objItem.Body
'Check contact full name and email address
Case olContactItem
strKey = objItem.FullName & "," & objItem.Email1Address & "," & objItem.Email2Address & "," & objItem.Email3Address
'Check task subject, start date, due date and body
Case olTaskItem
strKey = objItem.Subject & "," & objItem.StartDate & "," & objItem.DueDate & "," & objItem.Body
End Select
strKey = Replace(strKey, ", ", Chr(32))
'Remove the duplicate items
If objDictionary.Exists(strKey) = True Then
objItem.Delete
Else
objDictionary.Add strKey, True
End If
Next i
End If
End Sub
- Après cela, signez numériquement cette macro et définissez le niveau de sécurité de votre macro Outlook sur faible.
- Plus tard, vous pourrez exécuter ce nouveau projet VBA. Cliquez directement sur l'icône "Exécuter" dans la barre d'outils.
- Par la suite, vous devrez sélectionner un dossier dans lequel vous souhaitez supprimer les éléments en double.
- Enfin, les éléments en double dans le dossier sélectionné seront supprimés immédiatement.
Protégez les données PST vulnérables
En raison du fait que le fichier PST est susceptible d'être corrompu, vous devez donc consacrer beaucoup d'efforts à la sauvegarde de votre fichier PST. Par exemple, vous devez empêcher la fermeture incorrecte d'Outlook. De plus, vous devez préparer un solide Correctif Outlook outil, tel que DataNumen Outlook Repair qui sera en mesure de sauver votre PST à temps.
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érer SQL Server et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com


