VBA Supprimer les doublons

Excel a une fonctionnalité qui est utilisée pour supprimer les valeurs en double des cellules, lignes ou tableaux sélectionnés. Et si ce processus était automatisé en VBA? Oui, le processus de suppression du doublon peut être automatisé dans VBA sous forme de macro. Dans le processus de suppression du doublon, une fois terminé, les valeurs uniques restent dans la liste ou le tableau. Cela peut être possible grâce à la fonction Supprimer les doublons dans VBA.

Comment utiliser Excel VBA Supprimer les doublons?

Nous allons apprendre à utiliser un VBA Remove Duplicates avec quelques exemples dans Excel.

Vous pouvez télécharger ce modèle Excel de suppression de doublons VBA ici - Modèle Excel de suppression de doublons VBA

Exemple # 1 - VBA supprime les doublons

Nous avons une liste de nombres allant de 1 à 5 jusqu'à la ligne 20 dans la colonne A uniquement. Comme nous pouvons le voir dans la capture d'écran ci-dessous, tous les chiffres sont répétés plusieurs fois.

Maintenant, notre travail consiste à supprimer le doublon de la liste par VBA. Pour cela, accédez à la fenêtre VBA en appuyant sur la touche F11.

Dans cet exemple, nous verrons l'utilisation de base de la façon dont VBA Remove Duplicates peut fonctionner pour les nombres. Pour cela, nous avons besoin d'un module.

Étape 1: Ouvrez un nouveau module à partir du menu Insertion qui se trouve dans l'onglet de menu Insertion.

Étape 2: Une fois ouvert, écrivez la sous-catégorie de VBA Remove Duplicate comme indiqué ci-dessous.

Code:

 Sub VBARemoveDuplicate1 () End Sub 

Étape 3: Dans le processus de suppression du doublon, nous devons d'abord sélectionner les données. Pour cela, dans VBA, nous allons sélectionner la fonction jusqu'à ce qu'il descende pour sélectionner la liste complète des données comme indiqué ci-dessous.

Code:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Select End Sub 

Étape 4: Maintenant, nous allons sélectionner la plage de cellules ou de colonnes sélectionnées A. Elle descendra jusqu'à ce que nous ayons les données dans une colonne particulière. Pas seulement jusqu'au rang 20.

Code:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Select Range (Selection, Selection.End (xlUp)). Select End Sub 

Étape 5: Sélectionnez maintenant la plage des cellules dans une feuille actuellement ouverte, comme indiqué ci-dessous. Cela activera la colonne complète. Nous avons sélectionné la colonne A jusqu'à la fin.

Code:

 Sous VBARemoveDuplicate1 () Selection.End (xlDown) .Select Range (Selection, Selection.End (xlUp)). Sélectionnez ActiveSheet.Range ("A: A"). End Sub 

Étape 6: Utilisez maintenant la fonction RemoveDuplicate ici. Cela activera la commande pour supprimer les valeurs en double de la séquence des colonnes 1. S'il y a plus de colonnes, le nombre sera ajouté et séparé par des virgules entre crochets comme (1, 2, 3, …).

Code:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Select Range (Selection, Selection.End (xlUp)). Sélectionnez ActiveSheet.Range ("A: A"). RemoveDuplicates Columns: = 1, End Sub 

Étape 7: Maintenant, nous allons utiliser la commande En-tête qui déplace le curseur vers la cellule la plus haute de la feuille, qui se trouve principalement dans l'en-tête de n'importe quel tableau.

Code:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Select Range (Selection, Selection.End (xlUp)). Sélectionnez ActiveSheet.Range ("A: A"). RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Étape 8: compilez maintenant les étapes de code en appuyant sur la touche F8. Une fois terminé, cliquez sur le bouton Lecture pour exécuter le code comme indiqué ci-dessous.

Comme nous pouvons le voir, le numéro en double est supprimé de la colonne A et il ne reste qu'un décompte unique.

Exemple # 2 - VBA supprime les doublons

Dans cet exemple, nous verrons comment supprimer les valeurs en double de plusieurs colonnes. Pour cela, nous considérerons la même liste en double utilisée dans l'exemple-1. Mais d'une manière nouvelle, nous avons ajouté 2 colonnes de plus des mêmes valeurs comme indiqué ci-dessous.

Il s'agit d'une autre méthode avec un type de structure de code un peu différent.

Étape 1: Ouvrez un nouveau module dans VBA et écrivez la sous-catégorie dans le VBA Remove Duplicate. Si possible, donnez-lui un numéro de séquence afin qu'il soit préférable de choisir le bon code à exécuter.

Code:

 Sub VBARemoveDuplicate2 () End Sub 

Étape 2: Tout d'abord, sélectionnez la feuille complète dans VBA comme indiqué ci-dessous.

Code:

 Sous VBARemoveDuplicate2 () Cells.Select End Sub 

Étape 3: Sélectionnez maintenant la feuille actuellement ouverte avec la commande ActiveSheet et sélectionnez les colonnes A à C comme indiqué ci-dessous.

Code:

 Sous VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). End Sub 

Étape 4: Sélectionnez maintenant la commande RemoveDuplicates, puis sélectionnez le tableau de colonnes de 1 à 3, comme indiqué ci-dessous.

Code:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates Columns: = Array (1, 2, 3), End Sub 

Étape 5: Lors de la dernière utilisation, la commande En-tête à inclure dans le processus de suppression des doublons en tant que xlOui, comme indiqué ci-dessous.

Code:

 Sous VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates Columns: = Array (1, 2, 3), Header: = xlYes End Sub 

Étape 6: compilez maintenant le code complet et exécutez. Comme nous pouvons le voir ci-dessous, la feuille complète est sélectionnée mais les valeurs en double sont supprimées des colonnes A, B et C, en ne conservant qu'un nombre unique.

Exemple # 3 - VBA supprime les doublons

Il s'agit d'une autre méthode de suppression des doublons, qui est le moyen le plus simple de supprimer les doublons dans VBA. Pour cela, nous utiliserons les données que nous avons vues dans l'exemple-1 et également présentées ci-dessous.

Étape 1: Maintenant, passez à VBA et réécrivez la sous-catégorie de VBA Remove Duplicates. Nous avons donné la séquence à chaque code que nous avons montré pour avoir une piste appropriée.

Code:

 Sub VBARemoveDuplicate3 () End Sub 

Étape 2: C'est un modèle assez similaire que nous avons vu dans l'exemple-2 mais un moyen de raccourci pour écrire un code pour supprimer les doublons. Pour cela, commencez directement par sélectionner la plage de colonnes comme indiqué ci-dessous. Nous avons gardé la limite jusqu'à la 100 ème cellule de la colonne A à partir de 1 suivi d'un point (.)

Code:

 Sub VBARemoveDuplicate3 () Range ("A1: A100"). End Sub 

Étape 3: Sélectionnez maintenant la commande RemoveDuplicates comme indiqué ci-dessous.

Code:

 Sub VBARemoveDuplicate3 () Range ("A1: A100"). RemoveDuplicates End Sub 

Étape 4: Sélectionnez maintenant les colonnes A comme avec la commande Colonnes avec la séquence de 1. Et après cela, incluez l'en- tête des colonnes sélectionnées, comme indiqué ci-dessous.

Code:

 Sub VBARemoveDuplicate3 () Range ("A1: A100"). RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Étape 5: compilez-le maintenant en appuyant sur la touche F8 et exécutez. Nous verrons que notre code a supprimé les numéros en double des colonnes A et que seules des valeurs uniques sont associées.

Avantages de VBA Supprimer les doublons

  • Il est utile pour supprimer rapidement les doublons dans n'importe quelle plage de cellules.
  • Il est facile à mettre en œuvre.
  • Lorsque vous travaillez sur un énorme ensemble de données, où la suppression du doublon devient difficile manuellement et il bloque les fichiers et VBA Remove Duplicates fonctionne en une seconde pour nous donner les valeurs uniques.

Inconvénients de VBA Supprimer les doublons

  • Il n'est pas avantageux d'utiliser VBA Remove Duplicates pour les très petites données, car cela pourrait être facilement fait par la fonction Remove Duplicate disponible dans la barre de menu Données.

Choses dont il faut se rappeler

  • La plage peut être sélectionnée de deux manières. Une fois sélectionnée, la limite de cellules comme indiqué dans l'exemple-1 et l'autre sélectionne la colonne complète jusqu'à la fin comme indiqué dans l'exemple-1.
  • Assurez-vous que le fichier est enregistré dans Excel compatible avec les macros, ce qui nous permettra d'utiliser le code écrit plusieurs fois sans le perdre.
  • Vous pouvez conserver la valeur de la fonction En-tête sur Oui, car elle comptera également l'en-tête tout en supprimant les valeurs en double. S'il n'y a pas de valeur en double avec le nom du nom des en-têtes, le conserver comme Non ne nuira à rien.

Articles recommandés

Cela a été un guide pour supprimer les doublons VBA. Ici, nous avons expliqué comment utiliser Excel VBA Remove Duplicates ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Travailler avec VBA Active Cell
  2. Suppression d'une ligne dans VBA
  3. Comment utiliser Excel VBA Transpose?
  4. Comment réparer l'erreur 1004 en utilisant VBA

Catégorie: