Nettoyage liste de diffusion sur Excel

Bonjour,

J’ai un problème pour le nettoyage de ma liste de diffusion

J’ai sur la colonne A les adresses e-mail de mes clients ainsi que celles des nouveaux prospects et sur la colonne B les adresses e-mail des clients qui se sont désinscrites et qui ne souhaitent plus recevoir nos newsletters.

J’aimerais avoir en C la liste A moins la liste B c'est-a-dire une liste sans les adresses désinscrites.

Avant, j’ai pris une à une les adresses de B pour la rechercher sur A et supprimer manuellement, mais maintenant il y en a tellement d’e-mail que sa devient fastidieux.

Merci de votre aide.

Bonjour,

Une proposition à adapter.

Cdlt.

Bonjour,

merci de votre réponse,

je suis un simple utilisateur sans connaissance en vbs...

je vais m'expliquer encore un peu :

j'ai dans la colonne A une liste d'adresse e-mails disons 25000

dans la colonne B une autre liste d'adresse e-mails disons 1500, à vérifier et à supprimer si elles se trouvent dans A

Au final j'aimerais avoir dans la colonne C = A - B

Re,

Dans le fichier joint précédemment, copie tes adresses e-mails en Colonne A et colonne B.

Puis tu exécutes la procédure en cliquant sur le bouton.

Tu auras le résultat escompté en colonne C.

Cdlt.

Merci beaucoup, ça a bien fonctionné.

Bonjour,

Je sollicite votre précieuse aide pour adapter cet outil, afin qu'il puisse tourner sur les versions récentes d'Excel (2007 et plus...) et ainsi supporter plus de 65536 lignes, limite d'Excel 2003

J'ai tenté de le convertir en .xlsm, il a supporté 1.048.576 mais au moment de l'exécution il affiche une erreur : "Erreur d'exécution '13' : Incompatibilité de type"

https://forum.excel-pratique.com/download/file.php?id=86318

Cordialement

Débogage :

Private Sub cmdMAJliste_Click()

Dim a, b

Dim monDico1 As Object, monDico2 As Object

Dim c

Application.ScreenUpdating = False

Range("C1:C" & [C65536].End(xlUp).Row).Select

a = Range("B1:B" & [B65536].End(xlUp).Row)

Set monDico1 = CreateObject("Scripting.Dictionary")

For Each c In a

monDico1(c) = ""

Next c

b = Range("A1:A" & [A65536].End(xlUp).Row)

Set monDico2 = CreateObject("Scripting.Dictionary")

For Each c In b

If Not monDico1.exists(c) Then monDico2(c) = ""

Next c

[C1].Resize(monDico2.Count, 1) = Application.Transpose(monDico2.keys)

Set monDico1 = Nothing: Set monDico2 = Nothing

End Sub

Bonjour,

Une nouvelle proposition.

Cdlt.

Problème résolu merci

Rechercher des sujets similaires à "nettoyage liste diffusion"