Supprimer les doublons dans VBA

Iqra Hasnain 12 juillet 2022
  1. Supprimer les doublons dans VBA
  2. Supprimer plusieurs colonnes en double dans VBA
Supprimer les doublons dans VBA

Nous présenterons comment supprimer les doublons dans le VBA avec des exemples.

Supprimer les doublons dans VBA

Lorsque vous travaillez avec des feuilles Excel avec des données en masse, il est possible que ces données contiennent des doublons. Il est essentiel de supprimer les doublons pour éviter tout calcul erroné. Pour cela, nous devons d’abord nettoyer nos données et supprimer les doublons. VBA fournit une fonction simple, RemoveDuplicates, qui peut être utilisée à cette fin.

Nous devons d’abord sélectionner la plage dans laquelle se trouvent nos données, puis nous utiliserons la fonction RemoveDuplicates sur cette plage. Nous devons également définir combien de colonnes doivent être vérifiées pour les doublons. Si nous avons des en-têtes dans la plage, nous devons également marquer l’en-tête comme un oui. Prenons un exemple et utilisons cette fonction. Tout d’abord, nous allons créer des données de démonstration comme indiqué ci-dessous.

données de démonstration pour supprimer les doublons dans VBA

Utilisons la fonction RemoveDuplicates pour supprimer les doublons.

Exemple de code :

# VBA
Sub duplicateRemover()
Range("A1:B*").RemoveDuplicates Columns:=1
End Sub

Production:

données de démonstration après suppression des doublons dans VBA

La méthode RemoveDuplicates est utilisée sur une plage. Si des doublons sont trouvés, nous pouvons supprimer n’importe quelle ligne mais conserver la ligne d’origine avec toutes les valeurs.

La méthode RemoveDuplicates ne fonctionne que sur les colonnes, pas sur les lignes.

Supprimer plusieurs colonnes en double dans VBA

Lors de la suppression des doublons, il peut être dangereux de supprimer les doublons en ne prenant que les données d’une colonne. Les données dupliquées dans une colonne peuvent avoir quelque chose de différent dans la suivante, ce qui en fait un élément unique au lieu d’un doublon.

Nous pouvons facilement comparer plusieurs colonnes dans la méthode RemoveDuplicates en passant plusieurs colonnes dans un tableau, comme indiqué ci-dessous.

données de démonstration pour comparer plusieurs colonnes dans la méthode RemoveDuplcate

Exemple de code :

# Vba
Sub duplicateRemover()
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2)
End Sub

Production:

données de démonstration après avoir comparé plusieurs colonnes dans la méthode RemoveDuplcate

Lorsque nous avons comparé les deux colonnes, cela n’a supprimé que les colonnes qui avaient des doublons basés sur les deux colonnes, pas une seule. Il n’est pas nécessaire de toujours fournir des colonnes dans l’ordre, nous pouvons envoyer des colonnes que nous voulons comparer dans n’importe quel ordre, et nous pouvons même utiliser les colonnes 1 et 5.