Bonjour,

Je débute à peine sur le language VBA. Je suis en train de faire un formulaire qui comporte 30 SpinButton et 30 Label associés.J'arrive à faire l'initialisation des 30 SpinButton dans l'évènement UserForm_Initialize() via une boucle comme suit

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Private Sub Userform_Initialize()
 
    ' -----------------Initialisation des SpinButtons -----------------
    i = 1
    For i = 1 To 30
        Controls("SpinButton" & i).Min = 0
        Controls("SpinButton" & i).Max = 50
        Controls("SpinButton" & i).Value = 0
 
        j = i + 30
        Controls("TextBox" & j) = Controls("SpinButton" & i).Value
    Next i
End Sub
Pour assigner la valeur de mon SpinButton lorsqu'il est modifié par l'utilisateur du formulaire, je crois avoir compris qu'il fallait utiliser l'évènement _change() comme suit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Private Sub SpinButton1_Change()
    Label31 = SpinButton1.Value
End Sub
Cependant, je voudrais trouver une solution qui m'éviterais d'écrire ces 3 lignes 30 fois. Il faudrait donc qu'a chaque changement de SpinButton, je récupère sa valeur et je la met sur le label ayant l'indice (i+30).

J'ai beaucoup cherché sur les forums et je ne trouve malheureusement rien qui m'aide. J'ai parfois trouver des sujets similaires mais mon manque de connaissance sur ce language n'aide pas.

J'espère avoir été clair et avoir donné un maximum d'information pour pouvoir m'aider.
Merci beaucoup d'avance.