Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook
Outlook Forum d'entraide sur Microsoft Office Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2011, 23h24   #1
Membre du Club
 
Inscription : novembre 2006
Messages : 139
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 139
Points : 54
Points : 54
Par défaut Suppression des doublons

Bonjour/Bonsoir à tous

Je ne sais plus ce que j'ai bricolé (probablement "Télécharger les en-têtes"), mais il se trouve que tous mes les messages de mes divers comptes sont doublés
Je venais tout juste de finir mon classement.

Quelqu'un aurait-il la bonté divine de me dire comment défaire ce qui n'aurait pas dû être fait. Et surtout, comment ne pas le refaire !

Merci.
JOHN14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 14h08   #2
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 26
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,

Un doublon, c'est quoi pour toi?
Même date de création et même expéditeur, même destinataire, même sujet et même corps du message?
Si tel est le cas on peut faire en VBA ces tests et les supprimer automatiquement s'ils existent (Pour être sûr copie dans un dossier bidon puis suppression après).
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 15h15   #3
Membre du Club
 
Inscription : novembre 2006
Messages : 139
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 139
Points : 54
Points : 54
Bonjour,

En fais comme j'essaie de changer de messagerie (anciennement sur Opéra) je laisse une copie du message sur le serveur. Les messages en doubles sont une deuxième import des messages précédents mais non classés. Ils ont même date, même expéditeur, même destinataire, même sujet et même corps du message.
JOHN14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 15h49   #4
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 26
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,

Quelque chose de ce style à tester :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub supprdoublon()
Dim mymail As MailItem, maildanslistmail As MailItem
Dim dossieratraiter As MAPIFolder, dossieraverifier As MAPIFolder
Set dossieratraiter = Outlook.Session.PickFolder
Set dossieraverifier = dossieratraiter
For Each mymail In dossieratraiter
    For Each maildanslistmail In dossieraverifier
    If mymail.EntryID <> maildanslistmail.EntryID And mymail.To = maildanslistmail.To And mymail.Subject = maildanslistmail.Subject And mymail.SenderName = maildanslistmail.SenderName And mymail.CreationTime = maildanslistmail.CreationTime And mymail.Body = maildanslistmail.Body Then
    maildanslistmail.Delete
    endif
    Next maildanslistmail
Next mymail
End Sub
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 16h10   #5
Membre du Club
 
Inscription : novembre 2006
Messages : 139
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 139
Points : 54
Points : 54
Merci beaucoup.

Je n'ai pas le temps de le tester de suite mais je donnerai des nouvelles de ce programme.

PS. Cela peut prendre un peu de temps car je ne connais pas encore les objets d'Outlook.
JOHN14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 18h13   #6
Membre du Club
 
Inscription : novembre 2006
Messages : 139
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 139
Points : 54
Points : 54
Bonjour carden752,

Voilà j'ai testé ton code j'ai plusieurs remarques:

1) Dans le if, pourquoi le test "mymail.EntryID <> maildanslistmail.EntryID" ?
Mes doublons ont aussi le même "EntryID" et le teste est donc systématiquement négatif.

2) En exécutant le programme avec la condition "mymail.EntryID =maildanslistmail.EntryID" cela a fonctionné une fois puis dans le "For Each" l'instanciation de "mymail" avec un élément de "dossieraverifier.Items" provoque une erreur !

Pourriez-vous me dire pourquoi ?
Merci.
JOHN14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 13h21   #7
Membre du Club
 
Inscription : novembre 2006
Messages : 139
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2006
Messages : 139
Points : 54
Points : 54
Par défaut Code diponible

Bonjour à tous,
voici un code de recherche de doublons qui fonctionne. Libre à vous de le modifier et de l'utiliser...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Public Sub TrierLesDoublons()
 
    Dim FolderToTreat As Outlook.Folder, FolderToCheck As Outlook.Folder, ArrivalFolder As Outlook.Folder
    Dim i%, j%
 
    Set FolderToTreat = Outlook.Session.PickFolder
    Set ArrivalFolder = Outlook.Session.PickFolder
    Set FolderToCheck = FolderToTreat ' Pour les développements futures
 
 
    For i = 1 To FolderToTreat.Items.Count - 1
        For j = i + 1 To FolderToTreat.Items.Count
 
            If (FolderToTreat.Items(i) = FolderToTreat.Items(j)) Then
                Beep
                Call FolderToTreat.Items(i).Move(ArrivalFolder)
                Exit For
            End If
 
        Next j
    Next i
 
End Sub
Cordialement
JOHN14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h03.


 
 
 
 
Partenaires

Hébergement Web