Afficher ds ListBox les feuilles à partir de la feuille active

Lio59

XLDnaute Nouveau
Bonsoir à tous,

Je souhaite faire une macro, mais comme dit, découpons le problème..

Alors voilà, je souhaite afficher dans une ListBox (userForm) le nom des feuilles du classeur... oui mais pas toutes...
J'ai un bouton de commande sur chaque feuille et doit s'afficher dans la listbox le nom des feuilles, seulement celles de la feuille active jusqu'à la dernière.
Exemple :
si je sélectionne le commandButton2 de la feuille 2 s'affiche dans la listbox (feuille2, feuille3,.......feuillefin)
si je sélectionne le commandButton2 de la feuille 3 s'affiche dans la listbox (feuille3, feuille4,.......feuillefin)

Le code suivant me donne le nom de toutes les feuilles

Private Sub UserForm_Initialize()
For i = 1 To Sheets.Count
Me.ListBox1.AddItem Sheets(i).Name
Next i
End Sub

Le nom des feuilles est Sem1,Sem2, Sem3, etc...

ActiveSheet.name = worksheets("sem & i")???

Je n'arrive pas à trouver la syntaxe me permettant :
d'initialiser la boucle à la feuille active
Feuille active = Nom de la feuille ("Sem & i)
à partir de la feuille ("Sem & i") jusquà la dernière feuille
etc....

Merci à tous
Lio
 

Mytå

XLDnaute Occasionnel
Re : Afficher ds ListBox les feuilles à partir de la feuille active

Salut le forum

Sans fichier, ou code dur dur

Pour la feuille active
Code:
Right(ActiveSheet.Name, Len(ActiveSheet.Name) - 3)
Mytå
 
Dernière édition:

Lio59

XLDnaute Nouveau
Re : Afficher ds ListBox les feuilles à partir de la feuille active

Bonjour Myta et à tous,

oui, il est facile d'expliquer un problème lorsque l'on a le fichier sous les yeux.

Je n'ai pas su insérer le code correctement pour que cela fonctionne...

Voici le fichier

Merci

Lio
 

Pièces jointes

  • ListBoxLio.xls
    47 KB · Affichages: 128
Dernière édition:

job75

XLDnaute Barbatruc
Re : Afficher ds ListBox les feuilles à partir de la feuille active

Bonjour Lio59, Myta,

Essayer :

Code:
Private Sub UserForm_Initialize()
Dim i%
For i = ActiveSheet.Index To Sheets.Count
If Sheets(i).Name Like "Sem*" Then Me.ListBox1.AddItem Sheets(i).Name
Next i
End Sub

A+
 

Lio59

XLDnaute Nouveau
Re : Afficher ds ListBox les feuilles à partir de la feuille active [Résolu]

Bon... merci Job75, cela fonctionne! Je n'aurais pas trouvé tt seul....

Index donne donc la référence de départ, c'est à dire la feuille active. Mais oui comme Index pour une listbox... non, je n'aurais vraiment pas fait le //

Pour tester j'ai repris une partie de mon code
Private Sub UserForm_Initialize()
Dim i As Integer
For i = ActiveSheet.Index To Sheets.Count
Me.ListBox1.AddItem Sheets(i).Name
Next i
end sub

Votre code avec If permet de prendre en compte uniquement les feuilles intitulées sem.... oui, pas mal! Une précaution supplémentaire!
If Sheets(i).Name Like "Sem*" Then
Me.ListBox1.AddItem Sheets(i).Name

Grand merci!

Lio
 

Discussions similaires

Statistiques des forums

Discussions
312 272
Messages
2 086 691
Membres
103 372
dernier inscrit
BibiCh