Création de Spin Buttons dans un UserForm, Excel VBA

Création de Spin Buttons dans un UserForm, Excel VBA
Un SpinButton est un contrôle qui permet à l’utilisateur d’incrémenter ou de décrémenter une valeur à l’aide de flèches (haut ou bas). Il est souvent utilisé lorsqu’un utilisateur doit sélectionner un nombre dans une plage spécifique.
Étapes pour créer un SpinButton dans un UserForm :
1. Ouvrir l’éditeur VBA :

  • Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA dans Excel.

2. Insérer un UserForm :

  • Dans l’éditeur VBA, allez dans Insertion > UserForm pour insérer un nouveau formulaire.

3. Ajouter un contrôle SpinButton :

  • Dans la boîte à outils (généralement visible sur le côté gauche), cliquez sur le contrôle SpinButton et placez-le sur le UserForm.

4. Ajouter des Labels ou TextBoxes pour afficher les valeurs :

  • Pour afficher la valeur actuelle, vous pouvez ajouter un contrôle Label ou TextBox. Cela permettra à l’utilisateur de voir la valeur sélectionnée via le SpinButton.

5. Définir les propriétés :

  • Sélectionnez le SpinButton et dans la fenêtre des propriétés, vous pouvez définir plusieurs propriétés essentielles comme :
  • Min : La valeur minimale du SpinButton (par exemple, 1).
  • Max : La valeur maximale du SpinButton (par exemple, 10).
  • SmallChange : La valeur d’incrément pour chaque clic (par exemple, 1).
  • LargeChange : La valeur d’incrément pour un plus grand changement (par exemple, 5).
  • LinkedCell : Si vous voulez lier directement le SpinButton à une cellule Excel, vous pouvez utiliser cette propriété.

6. Écrire le code : Voici un exemple détaillé de code qui gère l’interaction entre le SpinButton et un TextBox.
Exemple de Code VBA :
1. Créer le UserForm avec les contrôles :
Dans votre UserForm, placez :

  • Un SpinButton (nommé SpinButton1).
  • Un TextBox (nommé TextBox1) pour afficher la valeur.

2. Ajouter le code : Maintenant, ajoutez le code suivant dans la fenêtre de code de votre UserForm.

Private Sub UserForm_Initialize()
    ' Définir les propriétés initiales du SpinButton
    SpinButton1.Min = 1        ' Valeur minimale
    SpinButton1.Max = 10       ' Valeur maximale
    SpinButton1.SmallChange = 1 ' Valeur d'incrément pour chaque clic
    SpinButton1.LargeChange = 2 ' Valeur d'incrément pour un grand changement
    TextBox1.Value = SpinButton1.Value ' Initialiser le TextBox avec la valeur du SpinButton
End Sub
Private Sub SpinButton1_Change()
    ' Mettre à jour le TextBox lorsque la valeur du SpinButton change
    TextBox1.Value = SpinButton1.Value
End Sub

Explication du Code :
1. UserForm_Initialize() :

  • Ce code s’exécute lorsque le UserForm est initialisé (ouvert).
  • Il définit les valeurs minimales (Min) et maximales (Max) pour le SpinButton. Ces valeurs peuvent être ajustées selon vos besoins.
  • La propriété SmallChange est définie à 1, ce qui signifie qu’à chaque clic du SpinButton, la valeur sera incrémentée ou décrémentée de 1. Si vous souhaitez un incrément plus grand, vous pouvez augmenter cette valeur.
  • La propriété LargeChange permet un incrément plus grand, souvent utilisé lorsque l’utilisateur maintient le bouton appuyé.
  • Enfin, la valeur initiale du SpinButton est affichée dans le TextBox (TextBox1.Value = SpinButton1.Value).

2. SpinButton1_Change() :

  • Cet événement est déclenché chaque fois que la valeur du SpinButton change (lorsque l’utilisateur clique sur les flèches haut ou bas).
  • À chaque changement de valeur, la valeur du TextBox est mise à jour pour refléter la nouvelle valeur.

Exécution du Code :

  • Après avoir saisi le code, appuyez sur F5 pour exécuter le UserForm.
  • Vous pourrez interagir avec le SpinButton, et la valeur dans le TextBox se mettra à jour à chaque clic sur les flèches.

Conseils pour améliorer le UserForm :

  • Vous pouvez lier le SpinButton à une cellule spécifique dans Excel en définissant la propriété LinkedCell dans la fenêtre des propriétés, ce qui mettra à jour la cellule dans la feuille Excel automatiquement.
  • Utilisez d’autres contrôles, comme des ComboBoxes ou des OptionButtons, pour créer une interface plus sophistiquée où le SpinButton pourrait contrôler différents paramètres.

Conclusion :
Ce code fournit une implémentation simple pour créer un SpinButton dans un UserForm. En ajustant les propriétés et en ajoutant des événements comme Change, vous pouvez créer une interface utilisateur interactive et personnalisable.

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x