Suppression de ligne par comparaison de valeurs dans 2 colonnnes

Résolu
gallica -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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

    0
  2. gallica
     
    Génial.
    Merci pour votre réactivité car je ne comprend pas votre langage :)
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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.
      0