Le contrôle SpinButton (toupie) permet d’incrémenter ou de décrémenter une valeur d’un certain pas entre une valeur minimale et une valeur maximale.
Pour insérer un contrôle SpinButton, sélectionnez l’outil Toupie dans la boîte à outils, puis tracez le contour voulu dans la boîte de dialogue personnalisée. Selon votre tracé, le contrôle sera horizontal ou vertical :
Vous utiliserez essentiellement les propriétés suivantes dans un SpinButton :
Propriété | Signification |
Min | Valeur minimale |
Max | Valeur maximale |
SmallChange | Pas de progression |
A titre d’exemple, nous allons définir une boîte de dialogue personnalisée qui contient un contrôle MultiPage composé de deux pages : une pour définir les caractéristiques du SpinButton et une autre pour utiliser le SpinButton :
La mise en place des contrôles n’offre aucune difficulté.
Pour faire fonctionner cette boîte de dialogue personnalisée, nous allons écrire quelques lignes de code VBA.
Au clic sur le bouton de la première page :
- Les valeurs saisies dans les trois zones de texte sont affectées aux propriétés Min, Max et SmallChange du SpinButton.
- Le texte « Valeur actuelle : 0 » est affiché dans le label de la deuxième page.
- La boîte de dialogue bascule automatiquement sur la deuxième page.
Private Sub CommandButton1_Click() With SpinButton1 .Min = TextBox1.Value .Max = TextBox2.Value .SmallChange = TextBox3.Value End With Label4.Caption = "Valeur actuelle : 0" MultiPage1.Value = 1 'Active la deuxième page End Sub
Pour compléter la prise en compte du clic sur le bouton, il reste à prendre en compte le clic sur les boutons du SpinButton. La valeur du SpinButton est alors automatiquement modifiée. Il suffit de l’afficher dans le label :
Private Sub SpinButton1_Change() Label4.Caption = "Valeur actuelle : " & SpinButton1.Value End Sub