Supprimer les doublons ?
lailaz
Messages postés
37
Statut
Membre
-
via55 Messages postés 14730 Statut Membre -
via55 Messages postés 14730 Statut Membre -
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
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:
- Supprimer les doublons ?
- Supprimer rond bleu whatsapp - Guide
- Supprimer page word - Guide
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
- Supprimer pub youtube - Accueil - Streaming
1 réponse
Bonjour
Possible par une macro :
Alt + F11 pour ouvrir Editeur VBA
Onglet Insertion
Module
Copier et coller la macro suivante dans la page blanche
L'adapter si nécessaire
Fermer l'éditeur
Lancer la macro à partir d'une feuille du classeur et de l'onglet DéveloppeurMacros
Cdlmnt
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