Supprimer 1er doublon

  • Initiateur de la discussion Initiateur de la discussion pipo159
  • 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 !

P

pipo159

Guest
Bonjour à tous,

J'ai un problème concernant des suppressions de doublons.
Je sais que ce sujet a souvent été traité mais je n'ai pas trouvé vraiment mon cas.
Je m'explique:
J'ai un fichier contenant plusieurs colonnes.
La colonne B est normalement triée dans l'ordre croissant.
Le souci est que dans cette colonne B, il peut y avoir plusieurs fois la même valeur à la suite.
Je souhaiterai pouvoir faire une macro qui supprimerai les lignes correspondants aux premiers doublons.

ex:
1 a b
2 d i
2 o g
2 o h
3 z o


devient:
1 a b
2 o h
3 z o

Je reste à votre disposition pour toute info supplémentaire.
Merci à toute personne pouvant m'aider.

Cordialement,
Pipo
 

Pièces jointes

Re : Supprimer 1er doublon

Bonsoir Pipo, bonsoir le forum,

En pièce jointe ton fichier modifié avec la macro ci-dessous qui va supprimer les ligne jaunes :
Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim x As Integer 'déclare la variable x (incrément)
Dim nb As Byte 'déclare la variable nb (NomBre)
Dim y As Integer 'déclare la variable y (incrément)
 
dl = Range("B65536").End(xlUp).Row 'definit la dernière ligne éditée de la colonne B
Set pl = Range("B2:B" & dl) 'définit la plage pl
For x = dl To 2 Step -1 'boucle 1 inversée de la dernière ligne à la ligne 2
    nb = Application.WorksheetFunction.CountIf(pl, Cells(x, 2).Value) 'definit la nombre d'occurrences de la cellule dans la plage pl
    If nb > 1 Then 'condition : si nb est supérieur à 1 (si il y a plus d'une seule occurrence)
        For y = x - 1 To (x - (nb - 1)) Step -1 'boucle 2 inversée sur les premières occurrences
            Rows(y).Delete 'supprime la ligne de l'occurrence
        Next y 'prochaine occurrence de la boucle 2
    End If 'fin de la condition
Next x 'prochaine ligne de la boucle 1
End Sub
 

Pièces jointes

Dernière édition:
Re : Supprimer 1er doublon

Bonsoir Robert, le forum,

Tout d'abord merci beaucoup pour la rapidité de la réponse.
Ensuite merci pour la qualité surtout.
C'est exactement ce que je voulais et le tout avec une macro bien commentée (pour que je puisse comprendre...)

Merci encore
Bonne soirée,

Pipo
 
- 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
5
Affichages
909
Réponses
7
Affichages
987
Réponses
5
Affichages
749
Réponses
26
Affichages
2 K
Réponses
7
Affichages
1 K
A
Réponses
2
Affichages
1 K
AntoineLTO
A
Retour