VBA : Comment obtenir des valeurs uniques à partir d’une colonne



Vous pouvez utiliser la fonction AdvancedFilter dans VBA pour obtenir rapidement une liste de valeurs uniques à partir d’une colonne dans Excel.

Voici une manière courante de procéder :

Sub GetUniqueValues()

Range("A1:A11").AdvancedFilter _
                Action:=xlFilterCopy, CopyToRange:=Range("E1"), Unique:=True

End Sub

Cet exemple particulier extrait une liste de valeurs uniques de la plage A1:A11 et les affiche à partir de la cellule E1 .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : obtenir des valeurs uniques à partir d’une colonne à l’aide de VBA

Supposons que nous ayons l’ensemble de données suivant dans Excel qui contient des informations sur divers joueurs de basket-ball :

Supposons que nous souhaitions extraire une liste de valeurs uniques de la colonne Équipe .

Nous pouvons créer la macro suivante pour ce faire :

Sub GetUniqueValues()

Range("A1:A11").AdvancedFilter _
                Action:=xlFilterCopy, CopyToRange:=Range("E1"), Unique:=True

End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

La colonne E affiche désormais une liste de valeurs uniques de la colonne Équipe dans l’ensemble de données d’origine.

Notez que la méthode AdvancedFilter ne respecte pas la casse.

Par exemple, si nous avions les noms d’équipe « MAVS » et « Mavs » dans la même colonne, cette macro particulière ne renverrait que la première de ces deux valeurs apparaissant dans la colonne Équipe puisqu’elles partagent exactement les mêmes caractères.

Remarque : Vous pouvez trouver la documentation complète de la méthode AdvancedFilter dans VBA ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

VBA : Comment compter les cellules avec un texte spécifique
VBA : Comment compter le nombre de lignes dans la plage
VBA : Comment compter les valeurs uniques dans la plage

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *