Une zone de liste est une liste à partir de laquelle un utilisateur peut sélectionner un élément. Pour créer une zone de liste dans Excel VBA, exécutez les étapes suivantes.
1. Dans l’onglet Développeur, cliquez sur Insérer.
2. Dans le groupe Contrôles ActiveX, cliquez sur Zone de liste.
3. Faites glisser une zone de liste sur votre feuille de calcul.
Remarque: vous pouvez modifier le nom d’un contrôle en cliquant avec le bouton droit sur le contrôle (assurez-vous que le mode Création est sélectionné), puis en cliquant sur Propriétés. Pour l’instant, nous laisserons ListBox1 comme nom de la zone de liste.
Créez un événement d’ouverture de classeur. Le code ajouté à l’événement ouvert du classeur sera exécuté par Excel
VBA lorsque vous ouvrez le classeur.
4. Ouvrez l’éditeur Visual Basic.
5. Double-cliquez sur Ce classeur dans l’Explorateur de projets.
6. Choisissez Classeur dans la liste déroulante de gauche et choisissez Ouvrir dans la liste déroulante de droite.
7. Pour ajouter des éléments à la zone de liste, ajoutez les lignes de code suivantes à l’événement Open Workbook:
With Feuil1.TIB .AddItem "Cameroun" .AddItem "Ghana" .AddItem "Angleterre" End with
Remarque: utilisez Feuil2 si votre zone de liste se trouve sur la deuxième feuille de calcul, Feuil3 si votre zone de liste se trouve sur la troisième feuille de calcul, etc. Si vous utilisez ces lignes de code en dehors de l’événement Workbook Open, vous souhaiterez peut-être ajouter la ligne de code suivante avant ces lignes de code. Cette ligne de code efface la zone de liste. De cette façon, vos éléments ne seront pas ajoutés plusieurs fois si vous exécutez votre code plusieurs fois.
ListBox1.Clear
8. Pour lier cette zone de liste à une cellule, cliquez avec le bouton droit sur la zone de liste (assurez-vous que le mode de conception est sélectionné) et cliquez sur Propriétés. Remplissez H9 pour LinkedCell.
Remarque: consultez également la propriété ListFillRange pour remplir une zone de liste avec une plage de cellules.
9. Enregistrez, fermez et rouvrez le fichier Excel.
Résultat:
Bien que dans certaines situations, il puisse être utile de placer directement une zone de liste sur votre feuille de calcul, une zone de liste est particulièrement utile lorsqu’elle est placée sur un formulaire utilisateur.
[…] Zone de liste dans Excel VBA – ExcelCorpo […]