Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lister toute les feuilles du classeur

4 réponses
Avatar
Elodie
Salut

J'ai un UserForm avec une ComboBox.
Dans celle-ci je voudrais lister toute les feuilles du=20
classeur sauf la premi=E8re feuille.

Comment faire...

Merci =E0 tous

4 réponses

Avatar
Denis Michon
Bonjour Élodie,

essaie ceci :

'----------------------
Private Sub UserForm_Initialize()

For a = 1 To Sheets.Count
Me.Combobox1.AddItem Sheets(a).Name
Next

End Sub
'----------------------


Salutations!



"Elodie" a écrit dans le message de news:1c4cd01c38851$49c96610$
Salut

J'ai un UserForm avec une ComboBox.
Dans celle-ci je voudrais lister toute les feuilles du
classeur sauf la première feuille.

Comment faire...

Merci à tous
Avatar
Pierre Fauconnier
Bonsoir Elodie

Voici une macro qui fait cela. Elle peut être placée dans la procédure
évènementielle "Activate" de la boite de dialogue.

Dim i As Integer
' Vider les items de la liste
With ComboBox1
For i = 1 To .ListCount
.RemoveItem i
Next i
' Remplir la liste avec les nom de classeur
For i = 2 To Worksheets.Count
.AddItem Sheets(i).Name
Next i
End With


Note bien que la macro exclut de la liste l'onglet 1, c-a-d le plus à
gauche, et que si l'utilisateur modifie l'ordre des onglets, le résultat ne
sera peut-être pas celui souhaité.


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)
Elodie wrote:
Salut

J'ai un UserForm avec une ComboBox.
Dans celle-ci je voudrais lister toute les feuilles du
classeur sauf la première feuille.

Comment faire...

Merci à tous


Avatar
Elodie
merci pour la réponse, mais meme en déclarant
la variable a, ca ne marche pas.



-----Message d'origine-----
Bonjour Élodie,

essaie ceci :

'----------------------
Private Sub UserForm_Initialize()

For a = 1 To Sheets.Count
Me.Combobox1.AddItem Sheets(a).Name
Next

End Sub
'----------------------


Salutations!



"Elodie" a écrit dans le message de
news:1c4cd01c38851$49c96610$

Salut

J'ai un UserForm avec une ComboBox.
Dans celle-ci je voudrais lister toute les feuilles du
classeur sauf la première feuille.

Comment faire...

Merci à tous


.



Avatar
Pierre Fauconnier
Attention qu'en plaçant le code dans Initialize, l'évènement ne se passera
qu'au chargement de la feuille, c'est-à-dire lors du premier userform1.show,
mais pas des suivants, si la feuille a été simplement cachée par
userform1.Hide.
Pour que l'évènement Initialize ait lieu au deuxième userform (et donc
tienne compte de la modification éventuelle des noms...) il faut avoir
utilisé UnLoad UserForm1 plutôt que UserForm1.Hide


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)

Elodie wrote:
merci pour la réponse, mais meme en déclarant
la variable a, ca ne marche pas.



-----Message d'origine-----
Bonjour Élodie,

essaie ceci :

'----------------------
Private Sub UserForm_Initialize()

For a = 1 To Sheets.Count
Me.Combobox1.AddItem Sheets(a).Name
Next

End Sub
'----------------------


Salutations!



"Elodie" a écrit dans le message de
news:1c4cd01c38851$49c96610$

Salut

J'ai un UserForm avec une ComboBox.
Dans celle-ci je voudrais lister toute les feuilles du
classeur sauf la première feuille.

Comment faire...

Merci à tous


.