Ah mince :p
Si j'avais su que la question avait déjà été posée je me serais pas embêter à codifier tout sa :
Private Sub UserForm_initialize()
Dim a As Long, b As Long
Dim x As Long, y As Long
Dim Top As Long, Height As Long, TopButton As Long, HeightUser As Long
Dim Ctrl As Control
a = 0
Top = 12
Height = 42
TopButton = 54
HeightUser = 113.25
x = Worksheets.Count
UserForm1.Width = 191.25
Frame1.Width = 168
For Each Ctrl In Controls
If TypeName(Ctrl) = "OptionButton" Then a = a + 1
Next Ctrl
For b = 1 To a
If b > x Then UserForm1.Controls("OptionButton" & b).Visible = False
Next
For y = 1 To x
UserForm1.Controls("OptionButton" & y).Caption = Sheets(y).Name
UserForm1.Controls("OptionButton" & y).Top = Top
UserForm1.Controls("OptionButton" & y).Left = 12
UserForm1.Controls("OptionButton" & y).Visible = True
Frame1.Height = Height
UserForm1.Height = HeightUser
CommandButton1.Top = TopButton
Top = Top + 18
HeightUser = HeightUser + 18
TopButton = TopButton + 18
Height = Height + 18
Next
End Sub
Private Sub CommandButton1_Click()
Dim x As Long
Dim Ctrl As Control
x = 1
For Each Ctrl In Controls
If UserForm1.Controls("OptionButton" & x).Value = True Then Exit For
x = x + 1
Next Ctrl
Sheets(UserForm1.Controls("OptionButton" & x).Caption).Select
Unload Me
End Sub
En gros, l'Userform s'adapte au nombre et au nom des feuilles.
Dans mon exemple, on peux avoir de 1 à 72 feuilles prisent en compte, et il faut ajouter des OptionButton pour en avoir des nouvelles.
Bref! Je le pose quand même la si jamais quelqu'un cherche à faire des boucles sur des Items ^^ !
Restant à dispo
Edit : En plus j'étais HS parce que c'était par ListBox qu'il fallait passer xD