Bonjour Forum
je souhaite limité les feuilles dans ComboBox
a tittre exemple
je souhaite afficher dans mon combobox que 03 feuille titi toto et tata
MERCI
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
ComboBox1.List = Array("tata", "toto", "titi")
End Sub
Private Sub ComboBox1_Click()
Sheets(ComboBox1.Text).Visible = 1
End Sub
Bonjour laetitia90
merci pour la réponse c'est exactement ce que je cherchais,sinon est est ce que il n' ya pas autre astuce sans passer par le code a chaque fois que je souhaite ajouter une feuille?
Private Sub UserForm_Initialize()
ComboBox1.List = Array("tata", "toto", "titi")
End Sub
a+
Re
Peut être en travaillant sur les feuilles que tu ne veux pas Voir ???
Dans l'attente d'un fichier exemple de ce que tu as et de ce que tu veux !
bonne fin de journée
Amicalement
Jean marie
Bonjour
sans avoir besoin de dresser la liste (des fichiers cachés)
Code:
Private Sub UserForm_Initialize()
For Each c In Sheets
If c.Visible = 2 Then ComboBox1.AddItem c.Name
Next
End Sub
Nota : voir aussi la sortie pour éviter trop de "Deactivate"
Autre cas : Cas d’une Liste avec des onglets choisis (masqués ou pas)
Quand tu ajoutes une feuille, il te faut savoir si tu veux son nom dans la liste ou pas. Il te faut donc un critère commun.
Renommer, pour renommer une feuille dont le nom figurera dans la liste, sers-toi d’un signe distinctif propre à celles-ci*.
Si tu ajoutes, par exemple, un tiret devant chacun des noms à retenir, tu n’auras pas besoin de lister, citer ceux-ci et de modifier la macro
VB:
Private Sub UserForm_Initialize()
Dim Sh As Worksheet
For Each Sh In Sheets
If Sh.Name Like "-*" Then ComboBox1.AddItem Sh.Name
Next
End Sub
* attention au caractère choisi / \ ? * : [ ] ne sont pas acceptés et gare à la casse