Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisez un contrôle d’onglet pour présenter plusieurs pages d’informations sur un seul formulaire. Un contrôle d’onglet est utile lorsque votre formulaire contient des informations qui peuvent être triées en deux ou plusieurs catégories.
Dans la plupart des méthodes, un contrôle d’onglet fonctionne comme les autres contrôles sur un formulaire et peut être appelé comme un membre d’une collection de formulairecontrôles. Par exemple, pour faire référence à un contrôle d’onglet nommé TabControl1 sur un formulaire nommé Formulaire1, vous pouvez utiliser l’expression suivante:
Form1.Controls!TabControl1
Toutefois, étant donné que la collection Controls est la collection par défaut de l’objet Form , vous n’avez pas besoin de faire explicitement référence à la collection Controls . Autrement dit, vous pouvez omettre la référence à la collectionContrôlesà partir de l’expression comme suit:
Form1!TabControl1
Voir l’ensemble des Pages
Un contrôle d’onglet contient une ou plusieurs pages. Chaque page d’un contrôle d’onglet est référencée en tant que membre du contrôle d’onglet de la collectionPages. Chaque page dans la collectionPages permet d’être référencé par soit son paramètre de la propriétéPageIndex(qui reflète la position de la page dans la collection en commençant par 0) , ou par le paramètre de la propriété de la pagenom.
Il n’existe aucune collection par défaut pour l’objetTabControl, par conséquent lorsque vous faites référence à des éléments de la collectionPagespar leur valeur index ou aux propriétés de la collection Pages, vous devez faire explicitement référence à la collectionPages.
Par exemple, pour modifier la valeur de la propriétélégende pour la première page d’un contrôle d’onglet nommé Contrôleonglet1 en faisant référence à sa valeur d’index dans la collectionPages, Vous pouvez utiliser l’instruction suivante:
TabControl1.Pages(0).Caption = "First Page"
Étant donné que chaque page est un membre du formulaire de la collectioncontrôles, vous pouvez faire référence à une page uniquement par sa propriéténomsans faire référence au nom du contrôle d’onglet ou sa collectionPages. Par exemple, pour modifier la valeur de la propriété Caption d’une page avec sa propriété Name définie sur Page1, utilisez l’instruction suivante :
Page1.Caption = "First Page"
Remarque
Si un utilisateur ou un code modifie la propriété PageIndex d’une page, la référence à l’index et à la position de la page est modifiée dans l’ordre de la page. Dans ce cas, si vous souhaitez garder une référence absolue à une page, consultez la propriété de la pageNom.
La collectionPagespossède une propriété, Count, qui renvoie le nombre de pages dans un contrôle d’onglet. Notez que cette propriété n’est pas une propriété du contrôle d’onglet lui-même, mais de sa collectionPages, de sorte que vous devez explicitement reporté à la collection. Par exemple, pour identifier le nombre de pages dans TabControl1, utilisez l’instruction suivante:
TabControl1.Pages.Count
Voir et modifier la page active
La propriété du contrôle d’un onglet par défaut est Valeur, qui renvoie un nombre entier qui identifie la page active : 0 pour la première page, 1 pour la deuxième page et ainsi de suite. La propriétéValeur est disponible uniquement dans le code VBA ou dans des expressions. En lisant la propriété Value lors de l'exécution, vous pouvez déterminer quelle page est actuellement la première. Par exemple, l'instruction suivante renvoie la valeur de la page actuelle de TabControl1 :
TabControl1.Value
Remarque
Étant donné que la propriété Value est la propriété par défaut d’un contrôle tabulation, vous n’avez pas à y faire référence explicitement. Pour cette raison, vous pouvez omettre .Value
à partir de l’exemple précédent.
Définition d’un contrôle d’onglet de la propriétéValeur au moment de l’exécution modifie le focus vers la page spécifiée, rendre la page active. Par exemple, l’instruction suivante place le focus sur la troisième page du Contrôleonglet1 :
TabControl1 = 2
Ceci est utile si vous définissez un contrôle d’onglet Style Propriété Aucune (qui n’affiche aucun onglet) et à utiliser les boutons de commande sur le formulaire pour déterminer quelle page a le focus. Pour utiliser un bouton de commande pour afficher une page, ajouter une procédure événementielle sur le bouton OnClick événement qui définit le contrôle d’onglet valeur propriété à l’entier inférieur qui identifie la page appropriée.
À l’aide de la propriétéValeur avec la collectionPages, vous pouvez définir des propriétés au moment de l’exécution de la page qui est visible. Par exemple, vous pouvez masquer la page active et tous ses contrôles en définissant la propriété de la page Visible à faux. L’instruction suivante masque la page active de TabControl1 :
TabControl1.Pages(TabControl1).Visible = False
Chaque page d’un contrôle d’onglet possède également une propriétéPageIndexqui spécifie la position d’une page dans la collectionPages à l’aide de la séquence de numérotation même que la propriété du contrôle d’onglet Valeur: 0 pour la première page, 1 pour la deuxième page et ainsi de suite. Définition de la valeur de la propriété d’une pagePageIndexmodifie l’ordre dans lequel les pages apparaissent dans le contrôle d’onglet. Par exemple, si vous souhaitez rendre une page nommé Page1 la deuxième page, vous utiliseriez l’instruction suivante :
Page1.PageIndex = 1
La propriétéPageIndexest définie plus généralement au moment de la conception dans la feuille de propriétés d’une page. Vous pouvez également définir l’ordre des pages en cliquant sur la bordure d’un contrôle onglet, puis en cliquant sur ordre des pages dans le menu contextuel.
Font référence aux contrôles d’une page de contrôle onglet
Les contrôles que vous placez sur une page de contrôle d’onglet font partie de la même collection que tous les contrôles du formulaire. Par conséquent, chaque contrôle d'une page de contrôle Onglet doit avoir un nom unique par rapport à tous les autres contrôles du même formulaire. Reportez-vous aux contrôles d’une page de contrôle d’onglet en utilisant la même syntaxe pour les contrôles d’un formulaire sans contrôle d’onglet.
Forms!Employees!HomePhone
Étant donné que chaque contrôle d’un formulaire possède sa propre collection Controls, vous pouvez également faire référence aux contrôles sur un contrôle Onglet en tant que membres de sa collection Controls. Par exemple, le code suivant énumère contrôle (listes) de tous les contrôles dans l’onglet du formulaire employé.
Sub ListTabControlControls()
Dim tabCtl As TabControl
Dim ctlCurrent As Control
On Error GoTo ErrorHandler
' Return reference to tab control on Employees form.
Set tabCtl = Forms!Employees!TabCtl0
' List all controls on the tab control in the Debug window.
For Each ctlCurrent In tabCtl
Debug.Print ctlCurrent.Name
Next ctlCurrent
Set tabCtl = Nothing
Set ctlCurrent = Nothing
Exit Sub
ErrorHandler:
MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Sub
Par ailleurs, chaque page sur un contrôle d’onglet possède sa propre collectionContrôles. À l’aide de la collection Controls d’une page, vous pouvez faire référence aux contrôles de chaque page. Le code suivant énumère les contrôles de chaque page du contrôle Onglet du formulaire Employees.
Sub ListPageControls()
Dim tabCtl As TabControl
Dim pagCurrent As Page
Dim ctlCurrent As Control
Dim intPageNum As Integer
On Error GoTo ErrorHandler
' Return reference to tab control on Employees form.
Set tabCtl = Forms!Employees!TabCtl0
' List all controls for each page on the tab control in the
' Debug window.
For Each pagCurrent In tabCtl.Pages
intPageNum = intPageNum + 1
Debug.Print "Page " & intPageNum & " Controls:"
For Each ctlCurrent In pagCurrent.Controls
Debug.Print ctlCurrent.Name
Next ctlCurrent
Debug.Print
Next pagCurrent
Set tabCtl = Nothing
Set ctlCurrent = Nothing
Set pagCurrent = Nothing
Exit Sub
ErrorHandler:
MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Sub
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.