Coder ou programmer une liste de validation de données - Exemples de code VBA

Table des matières

Ce didacticiel montrera comment utiliser la validation des données pour travailler avec des listes déroulantes dans Excel à l'aide de VBA.

La validation des données Excel vous permet de limiter les valeurs pouvant être saisies dans une cellule ou une plage. Vous pouvez limiter les entrées à des nombres entiers positifs, du texte, des dates et bien plus encore. Dans ce didacticiel, nous allons voir comment créer une liste déroulante de validation des données dans une cellule à l'aide de VBA.

Remarque : Une alternative à une liste déroulante de validation des données est un objet ListBox. Les ListBox peuvent être ajoutées aux feuilles de calcul Excel. Les ListBox peuvent déclencher des macros qui s'exécutent chaque fois qu'une valeur ListBox est modifiée. Les ListBox sont également utilisées dans les formulaires utilisateur VBA.

Création d'une liste déroulante à l'aide de VBA

Nous avons le texte Fruit dans la cellule A1 et nous allons créer une liste déroulante dans la cellule A2, avec cinq entrées.

Nous allons utiliser la méthode Validation.Add et spécifier que le paramètre Type est xlValidateList. Vous pouvez ajouter les éléments spécifiques que vous souhaitez dans votre liste en utilisant le paramètre Formula1.

Le code suivant créera une liste déroulante de validation des données dans la cellule A2 :

123456 Sub DropDownListinVBA()Range ("A2").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _Formula1:="Orange,Pomme,Mangue,Poire,Pêche"Fin du sous-marin

Le résultat est:

Remplir une liste déroulante à partir d'une plage nommée dans VBA

Vous pouvez utiliser une plage nommée contenant les éléments pour remplir une liste déroulante dans VBA. Nous avons la gamme nommée Animaux ci-dessous :

Nous devons définir le paramètre Formula1 égal à la plage nommée. Le code suivant créera une liste déroulante de validation des données dans la cellule A7 en fonction des éléments de la plage nommée :

123456 Sub PopulateFromANamedRange()Range ("A7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _Formule1 :="=Animaux"Fin du sous-marin

Le résultat est:

Suppression de la liste déroulante

Vous pouvez utiliser la méthode Validation.Delete pour supprimer la liste déroulante de la cellule. Le code suivant supprimerait la liste déroulante de la cellule A7 dans l'exemple ci-dessus :

12345 Sub RemoveDropDownList()Plage("A7").Validation.SupprimerFin du sous-marin
wave wave wave wave wave