Eléments de contrôle dans un UserForm, Excel VBA

 VBA dispose d’un riche ensemble de contrôles intégrés que vous pouvez utiliser sur votre formulaire. En les utilisant, il est facile de créer n’importe quelle interface utilisateur qui satisfera toutes les exigences d’une interface dans l’environnement Windows. Les éléments de contrôle sont créés à l’aide de la barre d’outils Boîte à outils, qui s’affiche à l’écran, ou en choisissant le menu Affichage | Boîte à outils, ou en cliquant sur le bouton de la barre d’outils Standard.

La boîte à outils contient des boutons utilisés pour construire des contrôles. Tous les boutons de la barre d’outils, à l’exception du bouton Sélectionner des objets, sont utilisés pour créer des contrôles. En cliquant sur le bouton Sélectionner des objets, vous pouvez sélectionner un élément de contrôle déjà créé dans le formulaire pour une édition ultérieure (redimensionnement ou déplacement).

Le tableau suivante représente la liste des commandes principaux et des boutons correspondants de la boîte à outils.
Tableau: Boutons et commandes de la boîte à outils

                Nom info-bulle Présentation
Label Intitulé Affiche des informations
TextBox Zone de texte Permet la saisie d’informations
ComboBox Zone de liste modifiable Permet le choix et/ou la saisie dans une liste
ListBox Zone de liste Permet le choix dans une liste
CheckBox Case à cocher Retourne la valeur Vrai ou Faux
OptionButton Bouton d’option Permet un choix dans une “liste” d’options
ToggleButton Bouton bascule Retourne la valeur Vrai ou Faux
Frame Cadre Conteneur. Sert à regrouper des contrôles.
CommandButton Bouton de commande Sert à lancer des actions (Sub/Function)
TabStrip Contrôle onglet Ajoute des onglets à l’UserForm
MultiPage MultiPage Permet de disposer de plusieurs pages
ScrollBar Barre de défilement Incrémente et/ou décrémente des valeurs
SpinButton Toupie Incrémente et/ou décrémente des valeurs
Image Image Permet d’insérer une image
RefEdit RefEdit Récupère l’adresse d’une plage de cellules.

 

Pour placer un contrôle sur le formulaire, cliquez sur le bouton correspondant dans la barre d’outils Boîte à outils et utilisez la souris pour faire glisser le cadre de contrôle vers l’emplacement souhaité. Après cela, le contrôle peut être déplacé, redimensionné, copié dans le presse-papiers, collé à partir du presse-papiers et supprimé du formulaire.

1 L’Intitulé (Label)
Le contrôle Label est utilisé pour afficher les informations ou légendes. L’utilisateur ne peut pas modifier le texte affiché dans la légende pendant l’exécution du programme. La propriété principale de la légende est la propriété Caption, qui définit le texte qui y est affiché.

Une Intitulé n’affiche pas les valeurs des sources de données ou des expressions ; il est toujours non lié et ne change pas lorsque vous passez d’un enregistrement à l’autre.


Figure: Exemples d’Intitulé ou Label

L’exemple suivant montre différents types d’Intitulé : simples, avec une image et avec une bordure. Pour implémenter ce projet, créez une forme dans laquelle vous placez trois Intitulés. Le fichier image D: \ chiennoir.jpg est utilisé. Dans le module formulaire, tapez le code suivant :

Private Sub UserForm_Initialize()
   Me.Caption = "DemoIntitule"
   Label1.Caption = "Une légende simple"
   Label2.Caption = "Une légende avec image"
   Label2.Picture = LoadPicture("chiennoir.jpg")
   Label2.PicturePosition = fmPicturePositionRightCenter
   Label3.Caption = "Une légende avec bordure"
   Label3.BorderStyle = fmBorderStyleSingle
   Label3.WordWrap = True
End Sub

Commentaires 

■ Dans la fenêtre Propriété de Label2, l’image est chargée avec la propriété Picture. La propriété PicturePosition détermine la position relative de l’image et du texte.

■ Dans la fenêtre Propriété de Label3, La propriété BorderStyle définit si la zone de texte est affichée avec ou sans bordure.

■ La propriété WordWrap renvoie ou définit une valeur de type Boolean qui spécifie si le contenu d’un contrôle est automatiquement renvoyé à ligne en fin de ligne, ou si le contrôle s’étend pour s’ajuster à la taille du texte.

2 Zone de texte (TextBox)
Le contrôle zone de texte ou TextBox , est principalement utilisé pour saisir du texte par l’utilisateur, qui est ensuite utilisé dans le programme, ou pour y sortir les résultats des calculs du programme. Le texte saisi dans la zone de texte du code peut être converti en nombres ou en formules. L’événement principal associé à la zone de texte est l’événement Change. Le tableau suivante répertorie les principales propriétés de la zone de texte.
Tableau: Propriétés de base de la zone de texte

Propriété La description
Name Définie le nom de la zone de texte
Text Renvoie le texte contenu dans la zone de texte
Multiline Paramètre booléen qui définit la zone de texte sur une entrée de texte multiligne
ScrollBars Définit le mode d’affichage du champ des barres de défilement.
SelLenght, SelStart, SelText Ces propriétés caractérisent le fragment de texte sélectionné dans la zone de texte.
MaxLength Définit le nombre maximum de caractères autorisés dans la zone de texte.
PasswordChar Définit le caractère affiché lors de la saisie d’un mot de passe.
ControlTipText Les contrôles peuvent être définis sur une info-bulle à l’aide de la propriété ControlTipText, qui apparaît sous la forme d’une zone avec un texte explicatif affiché en regard du contrôle sur lequel pointe la souris.
Enabled La propriété Enabled, lorsqu’elle est définie sur False, verrouille complètement le contrôle pour l’utilisateur, et ce contrôle ne peut même pas recevoir le focus.
Lock La propriété Lock, lorsqu’elle est définie sur True, empêche l’utilisateur d’apporter des modifications dans la zone de texte.

2.1 Additionner deux nombres
À titre d’exemple avec les zones de texte, créons un projet dans lequel la somme des deux nombres saisis dans deux zones de texte est trouvée, et le résultat est affiché dans la troisième zone de texte, comme le montre la figure suivante.

                                             

Donc, créez un formulaire sur lequel placer trois Intitulé (Label), trois zones de texte et deux boutons de commande et, à l’aide de la fenêtre Propriétés, définissez leurs valeurs de propriété, comme indiqué dans le tableau suivante.
Tableau : Valeurs de propriété définies dans la fenêtre Propriétés

Objet Propriété Valeur
UserForm Caption c = a + b
Intitulé ou Label Caption A
Zone de texte ou TextBox Name txtA
Intitulé ou Label Caption B
Zone de texte ou TextBox Name txtB
Intitulé ou Label Caption C
Zone de texte ou TextBox Name txtC               
Bouton de commande ou CommandButon Name cmdOK
Caption OK
Bouton de commande ou CommandButon Name cmdANNULER
Caption ANNULER

Dans le module formulaire, saisissez le code suivant :

Private Sub cmdOK_Click()
Dim a As Double, b As Double, c As Double
   a = txtA.Text
   b = txtB.Text
   c = a + b
   txtC.Text = c
End Sub
Private Sub cmdANNULER_Click()
   Unload Me
End Sub

Commentaires :

■ Les deux nombres sont entrés dans les zones de texte a et b et la somme est calculer dans la zone de texte c lorsque vous cliquez sur OK.

■ La syntaxe Unload Me permet de fermer la fenêtre en appuyant sur le bouton ANNULER.2.2 Bouton de raccourci clavier
La propriété Accelerator d’un contrôle désigne une touche alphabétique ou numérique qui, lorsqu’elle est enfoncée, simultanément avec la touche <Alt>, exécute la gestion des événements en cliquant sur le contrôle. Dans ce cas, la lettre ou le nombre de cette clé doit être inclus dans la chaîne qui spécifie la valeur de la propriété Caption du contrôle, et cette lettre ou ce nombre sera affiché souligné. Par exemple, si vous ajoutez la procédure d’initialisation de formulaire suivante au code de la section précédente, les boutons OK et ANNULER sont équivalents aux combinaisons de touches <Alt> + <O> et <Alt> + <A>.

Private Sub UserForm_Initialize()
    cmdOK.Accelerator = "O"
    cmdANNULER.Accelerator = "A"
End Sub

NOTE                                                                                                                

Lors du lancement d’un formulaire Excel, une série d’événements se produisent. L’un de ces événements est appelé Initialize. C’est un événement qui se produit après le chargement d’un controle, mais avant son affichage.

2.3 Touches <Entrée> et <Echap>
La propriété Default, lorsqu’elle est définie sur True, désigne le bouton pour lequel l’événement Click est déclenché si l’utilisateur appuie sur la touche <Entrée>. La propriété Cancel, lorsqu’elle est définie sur True, désigne le bouton pour lequel l’événement Click est déclenché si l’utilisateur appuie sur la touche <Echap>. Ainsi, les touches <Entrée> et <Echap> se voient attribuer les fonctions des boutons OK et ANNULER, c’est-à-dire qu’une pression sur la touche <Entrée> trouvera la somme requise et les touches <Échap> fermeront la fenêtre.

Private Sub UserForm_Initialize()
    cmdOK.Default = True
    cmdCancel.Cancel = True
End Sub

2.4 Somme avec résultat de verrouillage pour l’utilisateur
La propriété Enabled, lorsqu’elle est définie sur False, verrouille complètement le contrôle pour l’utilisateur, et ce contrôle ne peut même pas recevoir le focus. La propriété Lock, lorsqu’elle est définie sur True, empêche l’utilisateur d’apporter des modifications dans la zone de texte. Le code suivant bloque complètement la zone de texte c pour l’utilisateur :

Private Sub UserForm_Initialize()
    txtC.Enabled = False
End Sub

2.5 Comment empêcher un bouton de recevoir le focus lorsque je clique dessus?
Lorsque le bouton est enfoncé, il reçoit le focus, et par conséquent, pour ressaisir la valeur dans le champ de saisie, il doit d’abord recevoir ce focus. Vous pouvez faire en sorte que lorsque l’utilisateur clique sur le bouton, il ne reçoive pas le focus, c’est-à-dire que le focus reste sur le même élément qu’il avait avant le clic. La propriété TakeFocusOnClick, lorsqu’elle est définie sur False, bloque le transfert de focus.

Private Sub UserForm_Initialize()
    cmdOK.TakeFocusOnClick = False
End Sub

2.6 Déplacer le focus entre les champs en appuyant sur <Entrée>

Pour déplacer le focus entre les champs lorsque la touche <Entrée> est enfoncée, l’événement KeyDown doit être géré dans les zones de texte afin d’identifier la touche enfoncée, et s’il s’agit de la touche <Entrée>, la méthode SetFocus doit définir le focus sur le champ de saisie requis. Dans l’exemple initial, appuyer sur la touche <Entrée> pendant que le champ a a le focus déplace le focus sur le champ b. Lorsque la touche <Entrée> est enfoncée lorsque le champ b a le focus, le focus se déplace vers le champ a, et, en outre, la procédure de gestion de l’événement Click du bouton OK est exécutée, c’est-à-dire que la somme requise est trouvée. La zone de texte c est verrouillé sur l’utilisateur, mais il peut recevoir le focus.

Private Sub txtA_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, _
    ByVal Shift As Integer)
        If KeyCode = vbKeyReturn Then
            txtB.SetFocus
        End If
End Sub
Private Sub txtB_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)
    If KeyCode = vbKeyReturn Then
        cmdOK_Click
        txtA.SetFocus
    End If
End Sub
Private Sub UserForm_Initialize()
    txtC.Locked = True
End Sub

Commentaires

■ La méthode SetFocus déplace le focus vers la fenêtre spécifiée. Sa syntaxe est objet.SetFocus.

2.7 Info-bulle
Les contrôles peuvent être définis sur une info-bulle à l’aide de la propriété ControlTipText, qui apparaît sous la forme d’une zone avec un texte explicatif affiché en regard du contrôle sur lequel pointe la souris. Dans l’exemple suivant, les info-bulles sont attribuées à trois zone de texte et à deux boutons.

Private Sub cmdOK_Click()
   Dim a As Double, b As Double, c As Double
   a = txtA.Text
   b = txtB.Text
   c = a + b
   txtC.Text = c
End Sub
Private Sub cmdANNULER_Click()
   Unload Me
End Sub
Private Sub UserForm_Initialize()
   txtA.ControlTipText = "Valeur de a"
   txtB.ControlTipText = "Valeur de b"
   txtC.ControlTipText = "Valeur de c"
   cmdOK.ControlTipText = "Somme de a + b"
   cmdANNULER.ControlTipText = "Annuler l’opération"
End Sub

2.8 Champ de saisie du mot de passe
Le contrôle zone de texte ou TextBox vous permet de créer un champ de saisie de mot de passe. Les caractères qui y apparaissent sont appelés caractères d’écho et sont définis par la propriété PasswordChar.
Prenons un exemple d’une application de saisie de mot de passe simple. Il y a un champ de saisie de mot de passe et un bouton de commande. Le bouton est verrouillé lors de l’initialisation de la fenêtre. Si l’utilisateur entre le mot de passe correct dans le champ de saisie, alors le bouton est déverrouillé, s’il est faux, il est reverrouillé.


Alors, créez un formulaire sur lequel placer la zone de texte et le bouton de commande. À l’aide de la fenêtre Propriétés, définissez leurs valeurs de propriété comme indiqué dans le tableau suivante.
Tableau: Valeurs de propriété définies dans la fenêtre Propriétés

Objet Propriété Valeur
Userform Caption Mot de passe
Zone de texte Name TxtMotpasse
Bouton de commande Name CmdMessage
Caption Cliquez ici

Dans le module formulaire, saisissez le code suivant :

Private motdepasse As String
Private Sub UserForm_Initialize()
   cmdMessage.Enabled = False
   txtMotpasse.PasswordChar = "*"
   motdepasse = "chancelin"
End Sub
Private Sub txtMotpasse_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, _
                            ByVal Shift As Integer)
   If KeyCode = vbKeyReturn Then
       If LCase(txtMotpasse.Text) = LCase(motdepasse) Then
           cmdMessage.Enabled = True
       Else
          cmdMessage.Enabled = False
       End If
   End If
End Sub
Private Sub cmdMessage_Click()
   MsgBox "Le mot de passe est entré correctement"
End Sub

Commentaires :

■ Pour simplifier la saisie du mot de passe, on ne prend pas en compte la différence entre la majuscule et la minuscule. Ceci est accompli en convertissant toutes les lettres entrées en minuscules à l’aide de la fonction LCase ().

■ La propriété Enabled indique si un contrôle peut recevoir le focus et répondre à des événements générés par l’utilisateur. La syntaxe de la propriété Enabled est objet.Enabled.

La syntaxe de la propriété Enabled présente les éléments suivants :

Élément Description
Object Obligatoire. Un objet valide.
Boolean Facultatif. Indique si l’objet peut réagir aux événements générés par l’utilisateur.

2.9 Champ de saisie multiligne
La zone de texte peut être utilisé comme un champ multiligne. Pour ce faire, définissez la valeur de la propriété MultiLine sur True. À titre d’exemple, construisons un projet simple qui convertit les euros en dollars. Ce projet a deux zones de texte: simple et multiligne. Dans la zone de texte simple, le montant initial est entré, qui, lorsque la touche <Entrée> est enfoncée, il est converti en dollars, et le résultat est affiché dans la zone de texte multiligne comme le montre la figure suivante :

Figure: Conversion de la money


Créez donc un formulaire sur lequel vous placez deux zones de texte et, à l’aide de la fenêtre Propriétés, définissez leurs valeurs de propriété, comme indiqué dans le tableau. .
Tableau: Valeurs de propriété définies dans la fenêtre Propriétés

Objet Propriété Valeur
Zone de texte Name TxtMonant
Zone de texte Name TxtConversion

Dans le module formulaire, saisissez le code :

Private taux As Double

Private Sub UserForm_Initialize()
   taux = 1.19
   txtConversion.MultiLine = True
   txtConversion.Locked = True
End Sub
Private Sub txtMontant_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, _
                             ByVal Shift As Integer)
   If KeyCode = vbKeyReturn Then
      Dim r As Double
      Dim d As Double
      r = txtMontant.Text
      d = FormatNumber(r / taux, 2)
      txtConversion.Text = "Monatnt à convertie en euros " & r & vbCr & _
                       "Taux de conversion " & taux & vbCr & _
                       "Montant convertir " & d & " Dollars"
   End If
End Sub

Commentaires

■ Pour éviter que l’utilisateur ne corrige les résultats du calcul, le champ multiligne est bloqué avec la propriété Locked.

■ L’instruction VbCr, équivalent à Chr(13) est un caractère de saut de paragraphe.

2.10 Partager des valeurs entre les formulaires
S’il existe plusieurs formulaires dans le projet, ils peuvent échanger des valeurs via des variables publiques et les variables doivent être déclarées dans le module standard. Un exemple d’échange de valeurs est présenté dans le code suivant. Nous allons créer deux formulaires. Dans le premier, placez deux zones de texte (TextBox) et un bouton de commande (CommandButton). Dans le second, une zone de texte. Lorsque le bouton est enfoncé dans le premier formulaire, les valeurs de ses champs sont lues, puis elles sont additionnées, le premier formulaire est fermé, le second est affiché et le somme trouvée est affichée dans sa zone de texte.

Premier module de formulaire

Private Sub CommandButton1_Click()
    valeurechange = CDbl(TextBox1.Text) + CDbl(TextBox2.Text)
    Unload Me
    UserForm2.Show
End Sub

Deuxième module de formulaire

Private Sub UserForm_Initialize()
    TextBox1.Text = valeurechange
End Sub

Module standard

Public valeurechange As Double

Commentaire

■ La fonction CDbl convertit une valeur numérique en nombre à virgule (type Doule.

3 CheckBox (Case à cocher) et ToggleButton (Bouton bascule)
La case à cocher  (CheckBox)  et le bouton bascule (ToggleButton) donnent à l’utilisateur un choix. La propriété principale de ces contrôles est la propriété Value, qui renvoie leur état indiquant s’il est sélectionné ou non. Une valeur True indique que le CheckBox est sélectionné, False indique qu’il est effacé; et la valeur Null indique qu’elle n’est ni sélectionnée ni désactivée, et la case à cocher apparaîtra grisée dans ce cas. La valeur de la propriété TripleState doit être définie (peut être définie dans la fenêtre Propriétés ou à l’aide d’une macro ou d’un code vba) sur True pour que CheckBox ait une valeur Null.

3.1 Gérer la visibilité des contrôles
La propriété Visible gère la visibilité du contrôle. Si sa valeur est True, alors il est visible, et si False, alors il est invisible. L’exemple suivant montre comment utiliser une case à cocher pour contrôler la visibilité du contrôle Zone de texte. Alors, créez un formulaire et dans le module de code de formulaire, tapez le code suivant :

Private Sub UserForm_Initialize()
   CheckBox1.Caption = "Afficher"
   TextBox1.Visible = True
   CheckBox1.Value = True
End Sub
Private Sub CheckBox1_Change()
   If CheckBox1.Value Then
      TextBox1.Visible = True
   Else
      TextBox1.Visible = False
  End If
End Sub

Si la case à cocher Afficher est cochée, la zone de texte s’affiche et, s’il est désélectionné, il est masqué.

Figure: Contrôle de la visibilité des contrôles

 

3.2 Gérer l’accessibilité des contrôles aux utilisateurs
La propriété Enabled gère la disponibilité des contrôles pour l’utilisateur. Si la propriété a la valeur True, le contrôle peut recevoir le focus et être disponible pour l’utilisateur. L’exemple suivant montre comment utiliser une case à cocher pour contrôler l’accessibilité d’un contrôle (bouton de commande).

Figure: Accessibilité des contrôles

Alors, créez un formulaire et dans le module de code tapez le code suivant :

Private Sub UserForm_Initialize()
   CommandButton1.Caption = "ACCESSIBLE"
   CheckBox1.Caption = "Verrouiller"
   CheckBox1.Value = True
End Sub
Private Sub CheckBox1_Change()
   If CheckBox1.Value Then
      CommandButton1.Enabled = False
   Else
      CommandButton1.Enabled = True
   End If
End Sub
Private Sub CommandButton1_Click()
   MsgBox "Bonjour! (-:"
End Sub

Commentaires

■ Si la case Verrouiller est cochée, le bouton ACCESSIBLE est verrouillé, et s’il n’est pas coché, il est disponible.

4 Frame (Cadre)
Le contrôle Cadre ou Frame  est utilisé pour regrouper les contrôles. La propriété principale du cadre est Capture, qui définit la légende du cadre. Les cases à cocher et les boutons d’option peuvent également être regroupés dans le code à l’aide de la propriété GroupName.

5 OptionButton (Bouton d’option)

Le contrôle OptionButton ou bouton d’option  vous permet de sélectionner une ou plusieurs alternatives mutuellement exclusives. Les boutons d’option sont généralement affichés dans des groupes. Le regroupement est effectué à l’aide du contrôle Frame ou de la propriété GroupName de l’objet OptionButton. Les événements principaux du Bouton d’option sont les événements Click et Change, et la propriété principale est la propriété Value, qui renvoie ou définit son état. Si la valeur de cette propriété est True, le bouton d’option est sélectionné, si False, il est désélectionné.

5.1 Sélection de l’opération à effectuer

Nous allons reprendre l’exemple de la section 2.1 : Additionner deux nombres. L’opération à effectuer est définie en sélectionnant le bouton d’option approprié.
Figure  : Sélection de l’opération résultante

Ainsi, créez un formulaire sur lequel placer trois Intitulés, trois zones de texte et deux boutons commande, ainsi qu’un cadre dans lequel, comme dans un conteneur, placez deux boutons d’option et, à l’aide de la fenêtre Propriétés, définissez leurs valeurs de propriété comme indiqué dans le tableau suivante.
Tableau: Valeurs de propriété définies dans la fenêtre Propriétés

Objet Propriété Valeur
Intitulé Caption A
Zone de texte Name TxtA
Intitulé Caption B
Zone de texte Name TxtB
Intitulé Caption C
Zone de texte Name TxtC
Bouton Name CmdOK
Caption OK
Bouton Name CmdANNULER
Caption ANNULER
Cadre Caption Opérations
Bouton d’option Name OptAddition
Caption Addition
Bouton d’option Name OptSoustraction
Caption Soustraction

Dans le module de formulaire, tapez le code suivant :

Private Sub UserForm_Initialize()
   optAddition.Value = True
End Sub
Private Sub cmdOK_Click()
   Dim a As Double, b As Double, c As Double
   a = txtA.Text
   b = txtB.Text
   If optAddition.Value Then
      c = a + b
   End If
   If optSoustraction.Value Then
      c = a - b
   End If
   txtC.Text = c
End Sub
Private Sub optAddition_Click()
   Me.Caption = "Addition"
End Sub
Private Sub optSoustraction_Click()
   Me.Caption = "Soustraction"
End Sub

Commentaires

■ Dans la procédure de gestion de l’événement Click du bouton, le bouton d’option sélectionné est identifié et, sur cette base, le calcul est effectué selon la formule correspondante.

■ La gestion des événements Click du bouton d’option affiche le nom de l’opération sélectionnée dans l’en-tête du formulaire.

6 ScrollBar (Barre de défilement) et SpinButton (Toupie)
Le contrôle ScrollBar ou Barre de défilement  est utilisé pour définir une valeur numérique positive. L’événement principal de la Barre de défilement est Change, et les propriétés principales sont les propriétés Value, Min et Max, qui définissent respectivement les valeurs actuelle, minimale et maximale. Le contrôle SpinButton ou Toupie   est similaire dans ses fonctionnalités à une barre de défilement, mais ne possède pas de curseur.

Nous allons prendre un exemple qui vous permet de synchroniser le contrôle zone de texte et du contrôle Toupie. Ainsi l’exemple vous permet de définir une valeur entière, qui peut ensuite être affichée dans la zone de texte. Le compteur et la zone de texte doivent gérer de manière cohérente les événements de modification.

Figure: Synchronisation le contrôle zone de texte et du contrôle Toupie


Alors, créez un formulaire dans lequel placer une zone de texte et une Toupie. Dans le module formulaire, saisissez le code suivant ;

Private Sub UserForm_Initialize()
   SpinBouton.Min = 
   SpinBouton.Max = 10
End Sub
Private Sub SpinBouton_Change()
   txtZonetexte.Text = SpinBouton.Value
End Sub
Private Sub txtZonetexte _Change()
   Dim v As Variant
   v = txtZonetexte.Text
   If IsNumeric(v) Then
      If SpinBouton.Min <= v And v <= SpinBouton.Max Then
         SpinBouton.Value = v
      End If
   End If
End Sub

Commentaires

■ Lors de la lecture des données d’une zone de texte, avant de l’affecter à la valeur du compteur, vous devez vous assurer que les données sont un nombre, ce qui peut être fait à l’aide de la fonction IsNumeric ().

■ De plus, il est nécessaire de vérifier si le nombre appartient à la plage de valeurs définir par le contrôle Toupie, c’est-à-dire s’il se situe dans la plage déterminée par les propriétés Min et Max.

■ Dans cet exemple, les valeurs de ces propriétés sont définies sur 1 et 10 lorsque le formulaire est initialisé.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x