Partager via


Suppression des entrées en double dans une plage

L'exemple suivant indique comment prendre une plage de données dans la colonne A et supprimer les entrées en double. Cet exemple utilise la méthode AdvancedFilter de l’objet Range avec le paramètreUnique égal à True pour obtenir la liste unique des données. Le paramètreAction est égal à xlFilterInPlace, en spécifiant que les données sont filtrées sur place. Si vous souhaitez conserver vos données d’origine, définissez le paramètre Action sur xlFilterCopy et spécifiez l’emplacement où vous souhaitez que les données filtrées soient copiées dans le paramètreCopyToRange. Une fois les valeurs uniques filtrées, cet exemple utilise la méthode SpecialCells de l'objet Range pour rechercher les éventuelles lignes vides restantes et les supprimer.

Exemple de code fourni par : Tom Urtis, Atlas Programming Management

Sub DeleteDuplicates()
    With Application
        ' Turn off screen updating to increase performance
        .ScreenUpdating = False
        Dim LastColumn As Integer
        LastColumn = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column + 1
        With Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
            ' Use AdvanceFilter to filter unique values
            .AdvancedFilter Action:=xlFilterInPlace, Unique:=True
            .SpecialCells(xlCellTypeVisible).Offset(0, LastColumn - 1).Value = 1
            On Error Resume Next
            ActiveSheet.ShowAllData
            'Delete the blank rows
            Columns(LastColumn).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
            Err.Clear
        End With
        Columns(LastColumn).Clear
        .ScreenUpdating = True
    End With
End Sub

À propos du collaborateur

MVP Tom Urtis est le fondateur de gestion Atlas de programmation, un service complet Microsoft Office et société de solutions d’entreprise Excel dans la Silicon Valley. Tom comporte plus de 25 ans d’expérience dans la gestion d’entreprise et de développement Microsoft Office applications et représente co-auteur de « Macro Sainte ! Il existe 2 500 exemples VBA Excel ».

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.