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é.