éliminer lignes en doublon

romika

XLDnaute Occasionnel
Bonjour,

j'ai deux colonnes dans excel et plusieures lignes. par exemple en A1=ABC, B1=DEF. En A2=DEF et B2=ABC. je voudrais éliminer donc la deuxième ligne car elle est égale à la première à l'envers.

je joins un exemple si ca peut être utile.
j'ai pas besoin de macro forcément, j'essaye avec des formules et filtres, mais j'y arrive pas...

merci pour votre aide.
 

Pièces jointes

  • Classeur1.xlsx
    8.4 KB · Affichages: 62
  • Classeur1.xlsx
    8.4 KB · Affichages: 63
  • Classeur1.xlsx
    8.4 KB · Affichages: 65

romika

XLDnaute Occasionnel
Re : éliminer lignes en doublon

Merci pour la formule, je l'ai essayée et effectivement ça marche, même si je comprends pas trop son sens :), mais en rajoutant quelques lignes supplémentaire, elle marche plus.
je joins le nouveau fichier.
une idée? merci
 

Pièces jointes

  • Classeur1.xlsx
    9.2 KB · Affichages: 59
  • Classeur1.xlsx
    9.2 KB · Affichages: 62
  • Classeur1.xlsx
    9.2 KB · Affichages: 63

laetitia90

XLDnaute Barbatruc
Re : éliminer lignes en doublon

bonjour romika JCGL
par macro
une qui tiens compte des majuscules l'autre non
par contre ABC aet considere comme doublon vu que present en ligne 10 & 12

Code:
Sub es()
 Dim m As Object, i As Long, z As Variant
    Application.ScreenUpdating = False
    Set m = CreateObject("Scripting.Dictionary")
       For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
      z = UCase(Cells(i, 1)) & UCase(Cells(i, 2))
            If Not m.Exists(z) Then
            m.Add z, z
            Cells(i, 3) = "ok"
       Else
          Cells(i, 3) = "doublons"
      End If
      z = UCase(Cells(i, 2)) & UCase(Cells(i, 1))
            If Not m.Exists(z) Then
            m.Add z, z
            Cells(i, 3) = "ok"
       Else
          Cells(i, 3) = "doublons"
      End If
      Next i
End Sub

Code:
Sub est()
 Dim m As Object, i As Long, z As Variant
    Application.ScreenUpdating = False
    Set m = CreateObject("Scripting.Dictionary")
        For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
      z = Cells(i, 1) & Cells(i, 2)
            If Not m.Exists(z) Then
            m.Add z, z
            Cells(i, 4) = "ok"
       Else
          Cells(i, 4) = "doublons"
      End If
      z = Cells(i, 2) & Cells(i, 1)
            If Not m.Exists(z) Then
            m.Add z, z
            Cells(i, 4) = "ok"
       Else
          Cells(i, 4) = "doublons"
      End If
      Next i
End Sub
 

laetitia90

XLDnaute Barbatruc
Re : éliminer lignes en doublon

rebonjour
en partant de ton premier exemple toujours par macro

Code:
Sub aa()
Dim i As Long, j As Long, x, z As Variant
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
x = Cells(i, 1) & Cells(i, 2)
For j = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
z = Cells(j, 2) & Cells(j, 1)
If x = z Then Range(Cells(i, 1), Cells(i, 2)).Delete Shift:=xlUp
Next j: Next i
End Sub

'EntireRow.Delete pour suppression ligne complete
eventuellement on peut conbiner code pour supprimer egalement comme ton exemple 2 pour supprimer les identiques ligne 10 & 12
par formule je suis trop mauvaise pour trouver solution desole:(
 
Dernière édition:

Discussions similaires

Réponses
26
Affichages
983

Statistiques des forums

Discussions
312 490
Messages
2 088 882
Membres
103 981
dernier inscrit
vinsalcatraz