Supprimer les doublons ?

lailaz Messages postés 37 Statut Membre -  
via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   -
salut tout le monde, alors voici mon probleme
j'ai un tableau excel qui ressemble a celui la :
col 1 col 2
a 1
a 2
a 3
b 1
b 2

je veux supprimer les doublons et obtenir un (a) dans la 1er colonne uniquement une fois et les (1,2,3) qui lui correspond en deuxième colonne

est ce possible, merci d'avance et j'espére que c'est compréhensible

1 réponse

  1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Possible par une macro :
    Alt + F11 pour ouvrir Editeur VBA
    Onglet Insertion
    Module
    Copier et coller la macro suivante dans la page blanche
    Sub doublons()
    lg = 1 n° de la ligne de titres en feuille 2
    Dim Ligne As Long
    Ligne = Sheets(1).Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row ' repère dernière ligne de la 1ere colonne de la 1ere feuille du classeur
    For n = 2 To Ligne ' boucle qui demarre de la ligne 2 (en supposant une ligne de Titres)
    If Sheets(1).Cells(n, 1) <> Sheets(1).Cells(n - 1, 1) Then ' si la valeur en ligne n est différente de celle de la ligne précédente 
    lg = lg + 1' incremente le n° de ligne pour la feuille 2
    aff = Sheets(1).Cells(n, 2) ' place la valeur en colonne 2 dans la variable aff
    Sheets(2).Cells(lg, 1) = Sheets(1).Cells(n, 1) ' place la valeur en colonne 1 de la 1ere feuille dans le colonne 1 de la 2eme feuille
    For x = n + 1 To Ligne ' boucle sur les lignes en-dessous
    If Sheets(1).Cells(x, 1) = Sheets(1).Cells(n, 1) Then aff = aff & ", " & Sheets(1).Cells(x, 2) ' si la valeur en colonne 1 est identique on ajoute la valeur en colonne 2 à aff
    Next x
    Sheets(2).Cells(lg, 2) = aff ' ecriture de aff en feuil 2
    End If
    Next n
    End Sub


    L'adapter si nécessaire
    Fermer l'éditeur
    Lancer la macro à partir d'une feuille du classeur et de l'onglet DéveloppeurMacros

    Cdlmnt
    0