Supprimer les doublons avec condition

Aurianelm

XLDnaute Nouveau
Bonjour,

J'ai déjà demandé de l'aide sur ce forum mais je n'ai malheureusement pas eu de réponse et je ne m'en sors pas ! J'en ai vraiment besoin pour mon travail...

J'ai une BDD de 125000 lignes environ. Les champs qui m'intéressent pour la suite :

Nom de la société Nom du contact Adresse mail

Je voudrais supprimer ceux qui ont le même nom de société et le même contact et garder celui dont l'adresse mail est renseignée.

Exemple :

Nom de la société Nom du contact Adresse mail
Auchan Dupont
Auchan Dupont dupont@gmail.com

Ici, il faut que soit supprimé la 1ère ligne qui n'a pas l'adresse mail et garder la seconde.

Aidez moi s'il vous plait !!

Merci d'avance...

Auriane
 

tototiti2008

XLDnaute Barbatruc
Re : Supprimer les doublons avec condition

Bonjour Aurianelm,

Peux-tu nous fournir un fichier exemple avec quelques lignes, contenant quelques doublons ?
Tu souhaites une macro (si le traitement est à réutiliser régulièrement) ou une méthode pour arriver à ton résultat ?
 

JNP

XLDnaute Barbatruc
Re : Supprimer les doublons avec condition

Bonjour Aurianelm, salut Marc :),
Le fichier est sur l'autre discussion qu'elle avait ouverte, et qu'elle devrait supprimer fissa car bourré de données confidentielles :mad: !
En plus, le fichier ne comprend... aucun doublon avec une adresse e-mail, et de plus, tous les doublons de noms ne seront pas concernés, vu que le libellé est aussi bien "3 ARTS" que "3 ARTS (LES)" :rolleyes:...
Une méthode simple :
Sélectionner toutes les données, faire un tri 1er niveau contac_name, 2è niveau name et 3è niveau Adresse mail (tous de A à Z), puis demander la suppression de doublons en ne sélectionnant que contact_name et name :p...
Bonne suite, et n'oublie pas de clôturer l'autre discussion afin que l'on ne recherche que sur un seul fil :cool:
 

Aurianelm

XLDnaute Nouveau
Re : Supprimer les doublons avec condition

Je voudrais bien mais je ne sais pas comment supprimer la discussion...
Et justement c'est aussi pour ça que ici je n'ai pas mis de fichier car trop de données confidentielles...

Pour le tri j'ai bien essayé mais ayant trop de lignes Excel ne répond pas, puis se ferme à chaque fois c'est pour ça qu'il me faudrait une macro.

Je vous fait un fichier avec des données fictives de suite... Merci en tout cas.
 

tototiti2008

XLDnaute Barbatruc
Re : Supprimer les doublons avec condition

Bonjour JNP :),
Re,

Si sur l'autre fil le fichier contient des données confidentielles, tu peux supprimer le fichier en :
Modifiant le message contenant le fichier
Dans la partie pièces jointes, clique sur Gérer les pièces jointes
ensuite à droite de ton fichier tu as un bouton Retirer
 

JNP

XLDnaute Barbatruc
Re : Supprimer les doublons avec condition

Re :),
Et je ne peux pas carrément supprimer la discussion ??
Non, mais tu peux mettre un lien vers celle-ci en expliquant ton erreur :rolleyes:
Pour le tri j'ai bien essayé mais ayant trop de lignes Excel ne répond pas, puis se ferme à chaque fois c'est pour ça qu'il me faudrait une macro.
Si Excel ne supporte pas ce type d'opération, j'ai un peu de doute que la macro ne plantera pas, elle :(...
En plus, le temps d'éxécution va être phénoménal :eek:...
Le tri sur 1 seul niveau plante aussi ? Sinon, en triant par Name et en découpant la BDD en plusieurs feuilles avant la suite des opérations :p...
A + :cool:
 

JNP

XLDnaute Barbatruc
Re : Supprimer les doublons avec condition

Re :),
Si tu tiens à une macro, a tester (pendant la nuit...)
Code:
Sub test()
Dim I As Long, AEffacer As String, J As Long
Application.ScreenUpdating = False
I = 2
Do
    If Not Evaluate("ISERROR(MATCH(B" & I & "&F" & I & ",B" & (I + 1) & ":B125000&F" & (I + 1) & ":F125000,0))") Then
        If Range("M" & I) = "" Then
            AEffacer = AEffacer & ",A" & I
        Else
            AEffacer = AEffacer & ",A" & (Evaluate("MATCH(B" & I & "&F" & I & ",B" & (I + 1) _
                & ":B125000&F" & (I + 1) & ":F125000,0)") + I)
        End If
        J = J + 1
    End If
    I = I + 1
Loop While Range("A" & I) <> ""
If AEffacer <> "" Then
    AEffacer = Right(AEffacer, Len(AEffacer) - 1)
    Range(AEffacer).EntireRow.Delete
End If
Application.ScreenUpdating = True
MsgBox J & " doublons effacés"
End Sub
mais je suis sceptique :rolleyes:...
Bonne suite :cool:
 

Discussions similaires

Réponses
2
Affichages
147

Statistiques des forums

Discussions
312 520
Messages
2 089 297
Membres
104 092
dernier inscrit
karbone57