Suppression de ligne par comparaison de valeurs dans 2 colonnnes [Résolu/Fermé]

Signaler
-
Messages postés
12238
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
26 janvier 2021
-
Bonjour à tous et merci par avance pour votre aide.

Je passe par une étape de transformation HTML vers Excel et me retrouve avec le besoin de dé doublonner ou supprimer des lignes en fonction d'une comparaison sur 2 colonnes.

Exemple :

Col 1 Col 2
Societe A Produit A
Societe A Produit A
Societe A Produit B
Societe B Produit C
Societe B Produit C

Résultat

Col 1 Col 2
Societe A Produit A
Societe A Produit B
Societe B Produit C


Je vois bien une piste en comparaison entre 2 valeurs de chaque cellules de colonne avec un "Et" pour suppression de la ligne si identique, mais je ne sais pas aller au bout du résultat.

Vos lumières sont les bienvenues.

2 réponses

Messages postés
12238
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
26 janvier 2021
2 561
Bonjour,

Les données à traiter en feuil1, de A2 à B .....
La restitution se fait en Feuil2 à partir de A2:

Sub Dedoublonnache()
Dim Dico As Object, Cel As Range, Elem As Variant, Tb_Out(), i As Long

Set Dico = CreateObject("Scripting.Dictionary")
With Sheets("Feuil1")
    For Each Cel In .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row)
      Dico(Cel.Value & "¤" & Cel.Offset(0, 1).Value) = ""
    Next Cel
End With
For Each Elem In Dico.keys
    i = i + 1
    ReDim Preserve Tb_Out(1 To 2, 1 To i)
    Tb_Out(1, i) = Split(Elem, "¤")(0)
    Tb_Out(2, i) = Split(Elem, "¤")(1)
Next
'RESTITUTION en Feuil2 ==> A ADAPTER
Sheets("Feuil2").Range("A2").Resize(Dico.Count, 2) = Application.Transpose(Tb_Out)
End Sub

Génial.
Merci pour votre réactivité car je ne comprend pas votre langage :)
Messages postés
12238
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
26 janvier 2021
2 561
Pourtant, il vaudrait mieux que vous le comprenassiez, et ce, afin de maintenir cette procédure...

Si quelque chose vous échappe, n'hésitez pas à demander.