VBA – Liste Déroulante (Validation des Données)

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on août 22, 2022

Ce tutoriel montre comment utiliser la validation des données pour travailler avec des listes déroulantes dans Excel en utilisant VBA.

La validation des données Excel vous permet de limiter les valeurs qui peuvent être saisies dans une cellule ou une plage. Vous pouvez limiter les entrées aux nombres entiers positifs, au texte, aux dates, et bien plus encore. Dans ce tutoriel, 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 à la liste déroulante de validation des données est un objet Zone de Liste (ListBox en anglais). Les ListBox peuvent être ajoutées aux feuilles de calcul Excel. Les ListBox peuvent déclencher des macros qui s’exécutent chaque fois que la valeur d’une 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

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

Creating a Drop Down List in VBA

Nous allons utiliser la méthode Validation.Add et préciser 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ée une liste déroulante de validation des données dans la cellule A2 :

Sub ListeDéroulanteEnVBA()

Range("A2").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,_
Formula1:="Orange,Pomme,Mangue,Poire,Pêche"

End Sub

Le résultat est le suivant :

Notez que si la cellule ou la plage effectée contient déjà une validation de données, le code générera une erreur. Il peut donc être utile, pour assurer le bon fonctionnement de votre code, de supprimer la validation existante dans la cellule avant de tenter d’en ajouter une. Voyez la section plus bas sur la suppression des validations de données.

Remplir une Liste Déroulante à Partir d’une Plage Nommée en VBA

Vous pouvez utiliser une plage nommée contenant des éléments, pour remplir une liste déroulante en VBA. Nous avons la plage nommée Animaux présentée ci-dessous :

Nous devons définir le paramètre Formula1 comme étant é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 :

Sub RemplirAvecPlageNommée()

Range("A7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Formula1:="=Animaux"

End Sub

Le résultat est le suivant :

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 :

Sub SupprimerListeDéroulante()

Range("A7").Validation.Delete

End Sub

La Programmation VBA simplifiée

Ne cherchez plus de code VBA en ligne. Découvrez AutoMacro – un générateur de code VBA qui permet aux débutants de coder leurs propres procédures, avec des connaissances minimales en programmation et de nombreuses fonctions permettant à tous les utilisateurs de gagner du temps!

alt text

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA