Liste déroulante vba
Fermé
Tito.5310
Messages postés
1
Date d'inscription
vendredi 16 juin 2017
Statut
Membre
Dernière intervention
16 juin 2017
-
16 juin 2017 à 16:49
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 16 juin 2017 à 18:46
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 16 juin 2017 à 18:46
A voir également:
- Liste déroulante vba
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Google sheet liste déroulante - Accueil - Guide bureautique
- Supprimer une liste déroulante excel - Forum Word
- Supprimer liste déroulante excel - Forum Excel
1 réponse
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
16 juin 2017 à 18:46
16 juin 2017 à 18:46
Bonjour,
Bien sur, il suffit d'afficher la feuille avant le remplissage de la Combobox et ensuite de la masquer comme ceci avec un UserForm:
Voici une méthode avec une liste déroulante de formulaire (Feuille)
Les données pour remplir la combobox sont stockées dans un tableau:
Formule-Gestionnaire de noms
Mettre ce code dans le module de la feuille concernée:
Voilà 2 méthodes
Bien sur, il suffit d'afficher la feuille avant le remplissage de la Combobox et ensuite de la masquer comme ceci avec un UserForm:
Private Sub UserForm_Initialize() Dim j As Integer Sheets("Feuil3").Visible = True Sheets("Feuil3").Select 'Récupère les données de la colonne A... For j = 1 To Range("A65536").End(xlUp).Row ComboBox2 = Range("A" & j) '...et filtre les doublons If ComboBox2.ListIndex = -1 Then ComboBox2.AddItem Range("A" & j) Next j Sheets("Feuil3").Visible = False End Sub
Voici une méthode avec une liste déroulante de formulaire (Feuille)
Les données pour remplir la combobox sont stockées dans un tableau:
Formule-Gestionnaire de noms
Mettre ce code dans le module de la feuille concernée:
Option Explicit 'Allez dans Formule- Gestionnaire de nom pour voir le tableau Sub SauvTab() Dim A As Variant A = Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aoùt", "septembre", "octobre", "novembre", "decembre") Names.Add Name:="MonTableau", RefersTo:=A Names("MonTableau").Visible = False 'cache le tableau, mettre à True pour le voir End Sub Sub RécupTab() Dim monTab As Variant Dim i monTab = [MonTableau] ComboBox1.Clear For i = 1 To 12 ComboBox1.AddItem (monTab(i)) Next ComboBox1.ListIndex = 0 End Sub Private Sub ComboBox1_Change() MsgBox ComboBox1.Value End Sub Private Sub Worksheet_Activate() SauvTab RécupTab End Sub
Voilà 2 méthodes