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
Bonjour à tous
En vba on peut créer des listes déroulantes, j'ai appris à le faire avec des tutoriels, seulement les différents choix sont présent sur une feuille de calcule
Pour un rendu finale, je voudrait que cette liste ne soit pas visible.
Est ce qu'il est possible de masquer la feuille concernée, pour obtenir un formulaire propre ?
En vba on peut créer des listes déroulantes, j'ai appris à le faire avec des tutoriels, seulement les différents choix sont présent sur une feuille de calcule
Pour un rendu finale, je voudrait que cette liste ne soit pas visible.
Est ce qu'il est possible de masquer la feuille concernée, pour obtenir un formulaire propre ?
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 liste déroulante excel - Forum Excel
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
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