Suppression de données identiques dans 2colonnes différentes

Bonjour les experts,

Alors voilà mon problème :

J'ai une colonne A avec 15000 contacts.

J'ai une colonne B avec 650 contacts à supprimer dans la colonne A.

Existe t-il une formule magique pour "soustraire" ces 2 colonnes ?

J'ai essayé la méthode suivante :

1 - Tester dans la 3e colonne l'existence d'un nom de la première colonne dans la seconde avec cette formule :

=NB.SI(B:B;A2)

Formule à recopier jusqu'à la fin de la colonne A. Tu obtiendras 0 si le nom est unique ou 1 s'il est répété.

2 - Tester dans la 4e colonne l'existence d'un nom de la deuxième colonne dans la première avec :

=NB.SI(A:A;B2)

Formule à recopier jusqu'à la fin de la colonne B

3 - Nommer les colonnes NOMA, NOMB, TESTA et TESTB

4 - Appliquer un filtre élaboré avec l'option "Copier vers un autre emplacement" et la zone de critères suivante :

TESTA

0

puis une zone de destination contenant "NOMA".

5 - A la suite de cette première extraction, tu placeras une nouvelle zone de destination contenant NOMB

et tu appliqueras le filtre avec la zone de critères :

TESTB

0

Pour finir, tu n'auras plus qu'à supprimer les 2 lignes contenant NOMA et NOMB et tu auras ta liste.

Mais je n'arrive pas à appliquer le filtre, je n'ai pas compris quelle colonne nommé NOMA, NOMB, TESTA et TESTB.

Pouvez-vous m'apporter des précisions ?

Merci d'avance

Julie

Bonsoir et bienvenue

Une réponse dans ce fichier :

Amicalement

Nad

Bonsoir à tous,

Nad,

ma solution me parait presque trop simple !

j'ai repris ta formule en colonne "C" modifiée

vois si correct ?

Sub Filtre()
Dim Lg&
'Macros par Claude Dubois pour "scju" Excel-Pratique le 13/01/11
    Application.ScreenUpdating = False
    Lg = Range("a65536").End(xlUp).Row
    Range("i2") = "=AND(a2<>"""",c2=0)"
    Range("c2:c" & Lg) = "=COUNTIF(b:b,a2)"
    Range("a1:c" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
    Range("i1:i2"), CopyToRange:=Range("e1"), Unique:=False

    Range("i2").ClearContents
    Columns("c").ClearContents
End Sub

Neutralise les 2 dernières lignes pour voir les formules

Amicalement

Claude

23scju-filtre.zip (14.52 Ko)

bonboir

plus simple ;a controler dans le fichier a saisir en F2

=SI(ESTERREUR(INDEX(A$2:A$9;SI(NB.SI(A$2:B$9;A2)>1;"";LIGNE()-1)));"";INDEX(A$2:A$9;SI(NB.SI(A$2:B$9;A2)>1;"";LIGNE()-1)))

un avis?

cordialement

Bonjour à tous,

La nuit portant conseil, encore + simple

sans formules

Sub Filtre2()
Dim Lg&
'Macros par Claude Dubois pour "scju" Excel-Pratique le 14/01/11
    Application.ScreenUpdating = False
    Lg = Range("a65536").End(xlUp).Row
    Range("i2") = "=AND(a2<>"""",COUNTIF(b:b,a2)=0)"    'critères
    Range("a1:c" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
    Range("i1:i2"), CopyToRange:=Range("e1"), Unique:=False
    'Range("i2").ClearContents
End Sub

Bonne journée

Claude

édit: il y a quand même 15000 lignes !

21scju-filtre-2.zip (14.79 Ko)

Bonjour Tulipe

Effectivement, cela évite d'avoir des calculs intermédiaires.

Amicalement

Nad

Bonjour Claude

Pour 15000 lignes, la macro est effectivement conseillée.

Amicalement

Nad

Rechercher des sujets similaires à "suppression donnees identiques 2colonnes differentes"