Supprimer les doublons d une colonnes

Résolu
k.massinissa Messages postés 50 Statut Membre -  
k.massinissa Messages postés 50 Statut Membre -
Bonjour, tt le monde

mon problème c est que j ai un fichier + de 190000 fiches et j ai d autres fichier de 1000 fiches seulement , je veux dédoublonner les 1000 avec les 190000 fiches sans garder la fiches principale c est a dire :
si j ai 2 nom qui se répète je dois supprimer les 2 et non pas garder un .
  • y a la solution plan A : sélectionner la colonne ==> données ==> supprimer les doublons . mais cette méthode supprime que la 2 eme valeur pas les 2 valeurs.
  • ya aussi blan B : sélectionner la colonne ==>accueil==> mise en forme conditionnelle ==> regle de mise en surbrillance des cellules ==> caleur en double ==> colorer en rouge .apres tu filtre par couleur et tu supprime . mais avec les 190000 fiches mon poste bug a chaque fois

donc est ce que vous avez une methode comme celle du plan B mais sans buguer mon poste .

et merci d avance

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,
    19 000 fiches <==> 19 000 Lignes?
    0
    1. k.massinissa Messages postés 50 Statut Membre 8
       
      c est la meme chose pour moi , oui c est adire 19000 lignes
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Heu...
      Peut il y avoir des "triplons" (3 ou N fois la m^me donnée) avec seulement des doublons c'est pratiquement fait, sinon c'est une autre paire de manche
      Solution par VBA
      0
    3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Sans réponse et en attendant
      maquette à adapter
      Option Explicit
      '-------
      Sub supprimmer_les_identiques()
      Dim Derlig As Integer, T_in, Idx As Integer
      Dim Dico As Object, T_out

      'initialisations
      Application.ScreenUpdating = False
      Derlig = Columns(Col).Find("*", , , , , xlPrevious).Row
      'mémorisation en RAM
      T_in = Application.Transpose(Range("A1:A" & Derlig))
      Set Dico = CreateObject("scripting.dictionary")
      'recherche des doublons
      For Idx = 1 To UBound(T_in)
      If Not Dico.Exists(T_in(Idx)) Then 'si T_in(Idx) n'est pas dans le dico
      Dico.Add T_in(Idx), "" ' on l'ajoute
      Else
      Dico.Remove (T_in(Idx)) 'sinon on l'enlève
      End If
      Next
      T_out = Dico.keys 'tableau en RAM des uniques
      'restitution des uniques en colonne C pour comparer essai
      Range("C1").Resize(Dico.Count, 1) = Application.Transpose(T_out)
      End Sub
      0
    4. k.massinissa Messages postés 50 Statut Membre 8
       
      Dsl Mr michel , mais c est du chinois pour moi , je connais pas la programmation VBA ni ce que vous m avez envoyé , je ne suis pas trop informatique , je connais seulement les notions de base de l excel
      de tt façon merci pour votre réaction ,jusqu a mnt je n ai pas eu de solution
      0