Créer un curseur (slider) dans un formulaire utilisateur (UserForm), Excel VBA

Créer un curseur (slider) dans un formulaire utilisateur (UserForm), Excel VBA

Voici une explication détaillée sur la façon de créer un curseur (slider) dans un formulaire utilisateur (UserForm) avec VBA dans Excel.
Étapes :
1. Configurer le UserForm :

  • Ouvrez l’éditeur VBA en appuyant sur Alt + F11.
  • Dans l’éditeur VBA, cliquez sur Insertion dans le menu et choisissez UserForm pour créer un nouveau formulaire.
  • Ensuite, faites un clic droit sur le UserForm et sélectionnez Propriétés. Changez la propriété Name en quelque chose comme frmSlider.

2. Ajouter un contrôle de curseur (Slider) :

  • Si vous ne voyez pas la bibliothèque Microsoft Forms 2.0 Object Library, vous devez l’activer. Pour ce faire :

                   1. Dans l’éditeur VBA, allez dans Outils > Références.
                   2. Faites défiler vers le bas et cochez Microsoft Forms 2.0 Object Library.
                   3. Cliquez sur OK.

  • Maintenant, sur le UserForm, ouvrez la boîte à outils (si elle n’est pas déjà ouverte, allez dans Affichage > Boîte à outils), puis cliquez sur le contrôle Scrollbar (cela représente votre curseur).
  • Faites glisser le Scrollbar sur le UserForm. Dans la fenêtre des propriétés, changez son nom en sliderControl.

3. Personnaliser le contrôle Slider :

  • Vous pouvez ajuster les propriétés du slider pour qu’il corresponde à vos besoins. Voici quelques propriétés utiles pour le contrôle Scrollbar :

                  1. Min : La valeur minimale que le curseur peut représenter (par exemple, 1).
                  2. Max : La valeur maximale que le curseur peut représenter (par exemple, 100).
                  3. SmallChange : Le nombre de pas que le curseur fait lorsque vous cliquez sur les flèches du curseur (par exemple, 1).
4. LargeChange : Le nombre de pas que le curseur fait lorsque vous cliquez sur la barre de défilement (par exemple, 10).
                  5. Value : La valeur actuelle du curseur.

4. Ajouter une étiquette pour afficher la valeur du curseur :

  • Vous pouvez ajouter un contrôle Label sur le UserForm pour afficher la valeur actuelle du curseur.
  • Changez le nom du label en lblSliderValue.

5. Écrire le code VBA :

  • Maintenant, vous devez ajouter du code pour mettre à jour l’étiquette en fonction de la valeur du curseur et gérer toute autre fonctionnalité nécessaire.

Voici un exemple de code pour implémenter cela :

' Ce code va dans le UserForm
Private Sub UserForm_Initialize()
    ' Initialiser les propriétés du slider
    sliderControl.Min = 1
    sliderControl.Max = 100
    sliderControl.SmallChange = 1
    sliderControl.LargeChange = 10
    sliderControl.Value = 50 ' Définir une valeur initiale
    ' Initialiser l'étiquette
    lblSliderValue.Caption = "Valeur du curseur : " & sliderControl.Value
End Sub
' Ce code met à jour l'étiquette lorsque la valeur du curseur change
Private Sub sliderControl_Change()
    ' Mettre à jour l'étiquette avec la valeur actuelle du curseur
    lblSliderValue.Caption = "Valeur du curseur : " & sliderControl.Value
End Sub

6. Exécuter le UserForm :

    • Pour exécuter le UserForm, créez une procédure simple dans un module pour afficher le UserForm :
Sub ShowSliderForm() 
    frmSlider.Show 
End Sub
  • Exécutez cette procédure (ShowSliderForm) en appuyant sur F5 ou manuellement depuis la fenêtre Immediate pour afficher le UserForm avec le curseur.

Explication du code :

  • UserForm_Initialize : Cette sous-routine est appelée lorsque le UserForm est chargé. Elle initialise les propriétés du curseur (par exemple, les valeurs minimales, maximales, la valeur initiale) et définit le texte de l’étiquette pour afficher la valeur initiale du curseur.
  • sliderControl_Change : Cette sous-routine est déclenchée chaque fois que la valeur du curseur change. Elle met à jour l’étiquette lblSliderValue pour refléter la nouvelle valeur du curseur.
  • ShowSliderForm : Une procédure distincte pour afficher le UserForm contenant le curseur.

Améliorations possibles :
Vous pouvez améliorer ce curseur en ajoutant des fonctionnalités supplémentaires, telles que :

  • Utiliser le curseur pour ajuster dynamiquement d’autres éléments (comme des valeurs de cellules, des séries de graphiques ou des formats).
  • Implémenter plusieurs curseurs pour contrôler différents paramètres.
  • Personnaliser l’apparence du UserForm et des contrôles.

Cela vous donne un curseur de base, mais totalement fonctionnel, dans Excel VBA avec un contrôle détaillé.

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