Les contrôles MultiPage et TabStrip (contrôles Onglet) dans un formulaire personnalisé, Excel VBA

Le contrôle MultiPage  vous permet d’implémenter des boîtes de dialogue multipages. Les titres de page sont affichés dans des onglets. La transition de page en page se fait en cliquant sur l’onglet. Vous pouvez créer, renommer, supprimer ou déplacer manuellement une page dans un contrôle MultiPage en sélectionnant le raccourci de la feuille correspondante et en cliquant avec le bouton droit sur le menu contextuel. Un objet MultiPage contient la famille Pages, qui est la collection de toutes les pages qui composent cet objet.

Tableau. Propriétés de base d’un objet MultiPage

Propriété Description
Value Obtient ou définit le numéro de page actif. La numérotation est faite à partir de zéro
MultiRow Propriété booléenne. Si sa valeur est True, les étiquettes qui ne tiennent pas sur une seule ligne sont affichées sur plusieurs lignes. Si sa valeur est False, alors dans le cas où les raccourcis ne tiennent pas sur une ligne, une barre de défilement apparaît, vous permettant de vous déplacer de page en page
SelectedItem Renvoie la page sélectionnée

La famille Pages comprend tous les objets Page, c’est-à-dire les pages d’un objet MultiPage. La famille Pages a une seule propriété, Count, qui renvoie le nombre de membres de la famille. Les méthodes de la famille Pages sont répertoriées dans le tableau suivant.
Tableau. Méthodes de famille de pages

Méthode Description
Add Crée une nouvelle page
Clear Supprime toutes les pages de la famille Pages
Remove Supprime une page de la famille Pages
Item Renvoie la page avec l’index spécifié

Le contrôle TabStrip ou contrôles Onglet  crée plusieurs onglets dans une boîte de. L’objet TabStrip contient la famille Tabs, qui est une collection de tous les onglets. L’objet TabStrip et la famille Tabs ont les mêmes propriétés et méthodes que l’objet MultiPage et la famille Pages.
Nous allons reprendre et améliorer l’exemple de la section Contrôle RefEdit dans un formulaire personnalisé: Détermination des paramètres statistiques de plage. Créez un formulaire sur lequel placer un ensemble de pages. Sur la première page, définissez Caption sur Calculer, placez un contrôle RefEdit, une zone de texte et un bouton de commande. Sur la deuxième page, définissez Caption sur Options, placez trois cases à cocher.

Figure: Un exemple de contrôle MultiPage


À l’aide de la fenêtre Propriétés, définissez les valeurs des propriétés des contrôles comme indiqué dans le tableau suivant.
Tableau : Valeurs de propriété définies dans la fenêtre Propriétés

Objet Propriété Valeur
Zone de texte Name TxtStat
Bouton de commande Name CmdOK
Caption OK
Case à cocher Name ChkSomme
Caption Somme
Case à cocher Name ChkMax
Caption Maximum
Case à cocher Name ChkMin
Caption Le minimum

Dans le module de formulaire, entrez le code suivant :

Private Sub UserForm_Initialize()
   txtStat.Locked = True
   txtStat.MultiLine = True
   txtStat.BackColor = BackColor
End Sub
Private Sub cmdOK_Click()
   Dim r As String
   Dim m As Double
   Dim max As Double
   Dim min As Double
   Dim somme As Double
   r = RefEdit1.Value
   Dim rgn As Range
   Set rgn = Range(r)
   Dim msg As String
   If chkSomme.Value Then
      somme = WorksheetFunction.Sum(rgn)
      msg = "somme = " & somme & vbCr
   End If
   If chkMax.Value Then
      max = WorksheetFunction.max(rgn)
      msg = msg & "max=" & max & vbCr
   End If
   If chkMin.Value Then
      min = WorksheetFunction.min(rgn)
      msg = msg & "min=" & min & vbCr
   End If
   If msg = Empty Then
      txtStat.Text = "Sélectionner au moins une case de la page Options"
   Else
      txtStat.Text = msg
   End If
End Sub

Commentaires

■ Dans la zone de texte, les statistiques intégrées sont affichées sur plusieurs lignes dont les paramètres sont définis par les cases à cocher de la page Paramètres.

■ La zone de texte est verrouillé pour que l’utilisateur corrige les résultats.

■  En outre, la couleur d’arrière-plan du champ est définie sur la couleur d’arrière-plan du formulaire. Par conséquent, visuellement, le champ de saisie est perçu comme une inscription enfoncée dans le formulaire.

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