Supprimer les doublons ?

Fermé
lailaz Messages postés 36 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 5 décembre 2014 - Modifié par lailaz le 5/12/2014 à 17:03
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 - 5 déc. 2014 à 17:41
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
A voir également:

1 réponse

via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738
5 déc. 2014 à 17:41
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