VBA Supprimer les doublons

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 d'inquiétant, nous vous montrerons un exemple simple pour vous. Dans VBA aussi, nous pouvons effectuer 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, puis 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 a des en-têtes ou non. Nous avons trois options pour 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.

Ainsi, 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 Removeduplicates - 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 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 Removeduplicates - 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 ses 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 la plage de cellules explicitement, nous allons donc affecter 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 que nous définirons comme notre sélection.

Code:

 Sous Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection End Sub 

Étape 3: Maintenant, au lieu d'une plage de cellules, nous pouvons utiliser la variable « rng ».

Code:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Avant d'exécuter le code, nous devons d'abord sélectionner la plage de cellules, puis nous pouvons supprimer les doublons de la plage de cellules sélectionnée.

VBA supprime les doublons de plusieurs colonnes - Exemple # 3

Nous pouvons également utiliser VBA pour supprimer les valeurs en double des colonnes Excel. Afin de supprimer plusieurs colonnes, nous devons utiliser Array et mentionner les numéros de colonne.

Par exemple, regardez l'exemple d'image de données.

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 

You can download this VBA Remove Duplicates Excel here. VBA Remove Duplicates Excel Template