Supprimer les doublons dans une colonne

  • Initiateur de la discussion Initiateur de la discussion Brice
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Brice

Guest
Salut le Forum,

voici mon pb : j'ai dans une colonne toute une série de nombre. Je souhaiterais éliminer les doublons de façon à n'avoir plus qu'un seul exemplaire de chaque nombre ???
Ex : 1, 3, 2, 2, 2, 3
=> 1, 3, 2

Merci d'avance,
A+
 
bonjour brice

si tu ne veux supprimer que les doublons, tu peux essayer cette macro :


Sub Bouton1_QuandClic()
Dim tablo As Variant
Dim data As New Collection
Dim i As Byte

tablo = Range('a1:a' & Range('a65536').End(xlUp).Row)

On Error Resume Next
For i = 1 To UBound(tablo)
        data.Add tablo(i, 1),
CStr(tablo(i, 1))
Next i
On Error GoTo 0

Columns('A').ClearContents

For i = 1 To data.Count
        Cells(i, 1) = data(i)
Next i
End Sub

exemple en piece jointe

salut [file name=Classeur1_20060406160443.zip size=7514]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20060406160443.zip[/file]
 

Pièces jointes

Salut Brice,

Je te propose une petite solution par macro que je viens de retrouver dans mes archives (tes données doivent etre en colonne A) :
Code:
Sub sup_doublons()
Dim i As Integer, k As Integer, var As Integer

For i = 1 To Range('A65536').End(xlUp).Row
    var = 0
    nom1 = Range('A' & i).Value
    For k = i + 1 To Range('A65536').End(xlUp).Row
        nom2 = Range('A' & k).Value
        If nom2 = nom1 Then
            var = 1
            Rows(k).Delete
            k = k - 1
        End If
    Next k
    If var = 1 Then Rows(k).Delete
Next i
End Sub

@+

Edition : Re Hervé 😉, le temps de farfouiller dans le pc et tu as été plus rapide, mais la solution est différente donc ca va, comme ca Brice n'aura qu'a choisir

Message édité par: porcinet82, à: 06/04/2006 16:10
 
re brice, salut porcinet, pat

porcinet, une autre syntaxe si tu veux supprimer les lignes :


Sub Bouton1_QuandClic()
Dim i As Integer

Application.ScreenUpdating =
False

For i = Range('a65536').End(xlUp).Row To 1 Step -1
       
If Application.CountIf(Range(Cells(i, 1), 'A1'), Cells(i, 1)) > 1 Then
                Rows(i).Delete
       
End If
Next i
End Sub


salut
 
re,

Alors la chapeau bas une fois plus mon cher Hervé, au niveau de l'optimisation du code y a pas photo et je m'appercois que j'ai encore beaucoup de chemin à parcourir... 😱

Je n'ai pas accès a l'aide d'Excel a la Fac donc je ne peux pas regarder comment fonctionne Application.CountIf mais la semaine prochaine c'est vacances donc je me ferai un plaisir de regarder tout ca et de mettre au tableau.

Encore merci à toi,

@+
 
salut à tous.
Je joins une macro qui, je l'espère, va résoudre ton problème Brice. [file name=SuppDoublons.zip size=447]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SuppDoublons.zip[/file]
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
17
Affichages
787
Réponses
16
Affichages
556
Réponses
2
Affichages
267
Réponses
3
Affichages
201
Retour