Supprimer les doublons dans VBA Excel
Les valeurs en double ne sont souvent pas requises dans Excel, en particulier lorsque vous souhaitez que les valeurs uniques comptent. Nous avons généralement un ensemble de données différent avec lequel travailler, et nous y voyons un tas de valeurs en double.
J'espère que vous êtes familiarisé avec la suppression des doublons dans la feuille de calcul Excel, sinon rien à craindre. Nous allons vous montrer un exemple simple pour vous. Dans VBA également, nous pouvons utiliser la méthode de suppression des doublons.
Ainsi, il a supprimé toutes les valeurs en double de l'en-tête «Région». De même, nous pouvons effectuer cette tâche à l'aide du code VBA.

Comment supprimer les valeurs en double dans le codage VBA?
Afin de supprimer d'abord les valeurs en double, nous devons mentionner la plage à laquelle nous faisons référence. Ensuite, nous pouvons accéder à la méthode «Supprimer les doublons». La syntaxe sera donc la suivante.

(Colonne): De quelle colonne de la sélection avons-nous besoin pour supprimer les doublons? Nous devons mentionner le numéro de colonne de la plage sélectionnée.
(En-tête): la plage que vous avez sélectionnée comporte ou non des en-têtes. Nous avons trois options avec lesquelles travailler ici.
- xlOui: si les données ont des en-têtes, vous pouvez le sélectionner.
- xlNo: si les données n'ont pas d'en-tête, vous pouvez le sélectionner.
- xlGuess: Cette option permettra à excel de deviner les en-têtes des données.
Donc, en utilisant ces paramètres, nous pouvons supprimer les doublons d'un simple clic sur un bouton sans casser notre sueur.
Dans la section ci-dessous, je vais vous montrer quelques exemples de suppression des doublons par VBA. Suivez attentivement les étapes pour écrire le code vous-même.
Exemples de suppression des valeurs en double dans le codage VBA
Vous trouverez ci-dessous des exemples de suppression des doublons dans les valeurs VBA.
VBA Supprimer les doublons - Exemple # 1
Considérez également les données ci-dessous pour cet exemple.

À partir des données ci-dessus, nous devons supprimer les doublons de colonne "Région", suivez donc les étapes ci-dessous pour écrire le code.
Étape 1: Démarrez la sous-procédure en donnant un nom à un code de macro.
Étape 2: mentionnez la plage de données à l'aide de l' objet VBA Range .
Code:
Sous Remove_Duplicates_Example1 () Range ("A1: C9"). End Sub

Étape 3: Après avoir mentionné la méthode VBA « RemoveDuplicates » d' accès à la plage .
Code:
Sub Remove_Duplicates_Example1 () Range ("A1: C9"). RemoveDuplicates End Sub

Étape 4: Premier argument dans quelle colonne nous devons supprimer les valeurs en double. Dans cet exemple, à partir de la première colonne, nous devons supprimer les doublons.
Code:
Sub Remove_Duplicates_Example1 () Range ("A1: C9"). Colonnes RemoveDuplicates: = 1, End Sub

Étape 5: La prochaine chose à faire est de savoir si les données ont des en-têtes ou non. Dans ce cas, nous avons des en-têtes, alors sélectionnez "xlOui".
Code:
Sub Remove_Duplicates_Example1 () Range ("A1: C9"). RemoveDuplicates Columns: = 1, Header: = xlYes End Sub

Exécutez ce code. VBA supprimera les doublons de la région sélectionnée.

C'est une manière explicite de se référer à la plage de cellules. Si vous souhaitez sélectionner la plage par nous-mêmes, puis supprimer les doublons, nous devons utiliser la variable avec laquelle travailler. Dans l'exemple ci-dessous, je vais vous montrer comment utiliser des variables dans VBA.
VBA Supprimer les doublons - Exemple # 2
Dans l'exemple ci-dessus, nous avons spécifiquement fourni la plage de cellules. Nous allons maintenant voir comment travailler avec la sélection de nos propres cellules.
Par exemple, j'ai quelques ensembles de données, comme indiqué dans l'image ci-dessous.

Chaque fois que je ne peux pas spécifier explicitement la plage de cellules, nous attribuerons donc la sélection comme plage.
Étape 1: Déclarez la variable comme Range .
Code:
Sous Remove_Duplicates_Example2 () Dim Rng As Range End Sub

Étape 2: la plage est un objet. Nous définirons la gamme comme notre sélection.
Code:
Sub Remove_Duplicates_Example2() Dim Rng As Range Set Rng = Selection End Sub

Step 3: Now, instead of a range of cells, we can use the variable “rng.”
Code:
Sub Remove_Duplicates_Example2() Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns:=1, Header:=xlYes End Sub

Before we run the code, we need to select the range of cells first. Then we can remove duplicates from the selected range of cells.

VBA Remove Duplicates from Multiple Columns - Example #3
We can also use VBA to remove duplicate values from excel columns as well. In order to remove multiple columns, we need to use Array and mention the column numbers.
For example, look at the example data image.

Nous avons des valeurs dupliquées dans la première colonne et la quatrième colonne. Nous allons donc supprimer de ces colonnes. Utilisez le code ci-dessous pour VBA pour supprimer les doublons.
Code:
Sub Remove_Duplicates_Example3 () Dim Rng As Range Set Rng = Range ("A1: D9") Rng.RemoveDuplicates Columns: = Array (1, 4), Header: = xlYes End Sub
Vous pouvez télécharger ce VBA Supprimer les doublons Excel ici. Modèle Excel de suppression des doublons VBA