Bonjour
je souhaite créer un userform afin d'y faire défiler les données d'une feuille de calcul à l'aide d'un spinbutton!
Est-ce possible ?
Version imprimable
Bonjour
je souhaite créer un userform afin d'y faire défiler les données d'une feuille de calcul à l'aide d'un spinbutton!
Est-ce possible ?
Un exemple, un TextBox alimenté par la colonne A
Dans un module standard, déclare une variable globaleet dans le module de l'usfCode:Public Lig as Long
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Private Sub UserForm_Initialize() Lig = 1 Me.TextBox1 = Range("A" & Lig) Me.TextBox2 = Lig End Sub Private Sub SpinButton1_SpinUp() Lig = Lig + 1 End Sub Private Sub SpinButton1_SpinDown() If Lig > 1 Then Lig = Lig - 1 End Sub Private Sub SpinButton1_Change() If Lig >= 1 Then Me.TextBox1 = Range("A" & Lig) Me.TextBox2 = Lig End Sub
Bonjour et merci
je direct le mettre en résolu, je suis sur que cela fonctionne :ccool:
@+
je crois qu'il fait intervertir le up et down au niveau de l'incrémentation
Edit:
C'est symétrique, ça dépends de la vision des choses! bon, pour le code précédent, je ferai plutôt comme ceci
dans module publicet dans module de l'usfCode:
1
2 Public Lig As Long Public LigMax As Long
de cette façon, l'incrémentation est cycliqueCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Sub Afficher(ByVal i As Long) Me.TextBox1 = Range("A" & i) End Sub Private Sub UserForm_Initialize() Lig = 1 LigMax = Sheets("test").Cells(Rows.Count, 1).End(xlUp).Row Afficher 1 End Sub Private Sub SpinButton1_SpinUp() Lig = IIf(Lig >= LigMax, 1, Lig + 1) Afficher Lig End Sub Private Sub SpinButton1_SpinDown() Lig = IIf(Lig = 1, LigMax, Lig - 1) Afficher Lig End Sub