re,
>"je pense que tu vas savoir toi Dalida"

ah ! mort de rire !!!
je crois que tu me fais beaucoup de fleurs pour trois fois rien.

tout dabord, tu aurais du suivre le conseil de crenaud76 qui était bien plus enrichissant que ma réponse prédigérée !
d'autre part crenaud76 est certainement bien plus compétent car beaucoup plus expérimenté que nous deux réunis...
bon, trève de galanterie et revenons à nos moutons.
as-tu vraiment besoin d'une boucle ?
- pour seulement 5 items on peut s'en passer, en plus on fait disparaitre le Select Case qui ne doit pas être un opérateur des plus rapides.
quelles sont les propriétés à définir ?
- le nom et le texte qui sont créés à partir de l'index
- la position (mieux vaut utiliser la propriété Location, de toute façon une modification de Top entrainera la modification de Location, autant le faire direct)
(Visible = True par défaut donc inutile)
(la couleur est toujours la même)
(à ta place je définirais la propriété Size)
je te conseille donc d'écrire une fonction qui reprendra la partie redondante du code à savoir Déclaration, Instanciation et Initialisation du Button et te renverra le Button ainsi créé.
en paramètres tu passeras les valeurs des propriétés à définir (l'index et la position).
tu devrais obtenir au final un code ressemblant à ceci :
Me.Controls.Add(BuildButton(0, New Point(0,0)))
Me.Controls.Add(BuildButton(1, New Point(0,30)))
Me.Controls.Add(BuildButton(2, New Point(0,60)))
Me.Controls.Add(BuildButton(3, New Point(0,90)))
Me.Controls.Add(BuildButton(4, New Point(0,120)))
'si tu préfères la boucle :
'For index As Integer = 0 To 4
' Me.Controls.Add(BuildButton(index, New Point(0,CInt(index*30))))
'Next index
Private Function BuildButton(index as Integer, pos As Point) As Button
'déclarer, instancier et initialiser le nouveau Button puis le retourner
'Return ...
End Function
(>crenaud76 : as-tu finalement sombré du côté C de la force ? moi, suis dépassé... )
[ Dalida ]
pensez à indiquer le langage utilisé et sa version !