Table des matières:
- Déplacement et redimensionnement des contrôles
- Contrôles d'alignement et d'espacement
- Adaptation des utilisateurs du clavier
- Test d'un UserForm
Vidéo: Excel VBA - Comment utiliser la boite de dialogue InputBox 2024
Vous pouvez utiliser les contrôles de boîte de dialogue de VBA Excel 2016 de nombreuses façons. Alors, si vous êtes prêt pour cette étape, continue de lire. Ici, vous découvrez comment travailler avec les contrôles de boîte de dialogue dans un objet UserForm.
Déplacement et redimensionnement des contrôles
Après avoir placé un contrôle dans une boîte de dialogue, vous pouvez le déplacer et le redimensionner à l'aide des techniques de souris standard. Ou pour un contrôle précis, vous pouvez utiliser la fenêtre Propriétés pour entrer une valeur pour la propriété Height, Width, Left ou Top du contrôle.
Vous pouvez sélectionner plusieurs contrôles en appuyant sur Ctrl + en cliquant sur les contrôles. Ou vous pouvez cliquer et faire glisser pour "lasso" un groupe de contrôles. Lorsque plusieurs contrôles sont sélectionnés, la fenêtre Propriétés affiche uniquement les propriétés communes à tous les contrôles sélectionnés. Vous pouvez changer ces propriétés communes, et la modification sera apportée à tous les contrôles que vous sélectionnez, ce qui est beaucoup plus rapide que de les faire un à la fois.
Un contrôle peut cacher un autre contrôle; En d'autres termes, vous pouvez empiler un contrôle au-dessus d'un autre. Sauf si vous avez une bonne raison de le faire, assurez-vous de ne pas chevaucher les contrôles.
Contrôles d'alignement et d'espacement
Le menu Format de la fenêtre VBE fournit plusieurs commandes pour vous aider à aligner et espacer avec précision les contrôles d'une boîte de dialogue. Avant d'utiliser ces commandes, sélectionnez les contrôles avec lesquels vous voulez travailler. Ces commandes fonctionnent comme vous pouvez vous y attendre. Voici une boîte de dialogue avec plusieurs contrôles CheckBox sur le point d'être alignés.
Lorsque vous sélectionnez plusieurs contrôles, le dernier contrôle sélectionné apparaît avec des poignées blanches plutôt qu'avec les poignées noires normales. Le contrôle avec les poignées blanches est la base pour aligner ou redimensionner les autres contrôles sélectionnés lorsque vous utilisez le menu Format.
Adaptation des utilisateurs du clavier
De nombreux utilisateurs préfèrent naviguer dans une boîte de dialogue en utilisant le clavier: Appuyer sur Tab ou Maj + Tab fait défiler les commandes, tandis que l'appui sur une touche active instantanément un contrôle particulier.
Pour vous assurer que votre boîte de dialogue fonctionne correctement pour les utilisateurs de clavier, vous devez tenir compte de deux problèmes:
-
Ordre des onglets
-
Touches d'accélération
Modification de l'ordre des onglets
dans lequel les contrôles sont activés lorsque l'utilisateur appuie sur Tab ou Shift + Tab. Il détermine également quel contrôle possède le focus initial, c'est-à-dire quel contrôle est le contrôle actif lorsque la boîte de dialogue apparaît pour la première fois. Par exemple, si un utilisateur entre du texte dans un TextBox, le TextBox a le focus.Si l'utilisateur clique sur un bouton OptionButton, le bouton OptionButton a le focus. Le premier contrôle dans l'ordre de tabulation a le focus lorsque Excel affiche d'abord une boîte de dialogue.
Pour définir l'ordre des onglets de contrôle, choisissez Affichage → Ordre des onglets. Vous pouvez également cliquer avec le bouton droit sur la boîte de dialogue et choisir Ordre des onglets dans le menu contextuel. Dans les deux cas, Excel affiche la boîte de dialogue Ordre des onglets.
La boîte de dialogue Ordre des onglets.La boîte de dialogue Ordre des onglets répertorie tous les contrôles de l'UserForm. L'ordre de tabulation dans l'UserForm correspond à l'ordre des éléments dans la liste. Pour modifier l'ordre de tabulation d'un contrôle, sélectionnez-le dans la liste, puis cliquez sur le bouton Monter ou Descendre. Vous pouvez choisir plusieurs contrôles (cliquez tout en appuyant sur Maj ou Ctrl) et les déplacer tous en même temps.
Plutôt que d'utiliser la boîte de dialogue Ordre des onglets, vous pouvez définir la position d'un contrôle dans l'ordre des onglets en utilisant la fenêtre Propriétés. Le premier contrôle dans l'ordre de tabulation a une propriété TabIndex de 0. Si vous souhaitez supprimer un contrôle de l'ordre de tabulation, définissez sa propriété TabStop sur False.
Certains contrôles (tels que les contrôles Frame ou MultiPage) agissent comme des conteneurs pour d'autres contrôles. Les contrôles à l'intérieur d'un contrôle de conteneur ont leur propre ordre de tabulation. Pour définir l'ordre de tabulation d'un groupe de boutons OptionButtons dans un contrôle Frame, sélectionnez le contrôle Frame avant de choisir la commande View → Tab Order.
Réglage des touches d'accès rapide
Normalement, vous voulez attribuer une touche d'accélération, ou une touche d'accès rapide, aux commandes de la boîte de dialogue. Vous le faites en entrant une lettre pour la propriété Accelerator dans la fenêtre Propriétés. Si un contrôle n'a pas de propriété Accelerator (un TextBox, par exemple), vous pouvez toujours autoriser l'accès direct au clavier à l'aide d'un contrôle Label. C'est-à-dire, affectez une touche d'accélérateur à l'étiquette et placez l'étiquette directement devant la zone de texte dans l'ordre de tabulation.
Voici un UserForm avec trois TextBoxes. Les étiquettes qui décrivent les TextBox ont des raccourcis clavier, et chaque étiquette précède sa TextBox correspondante dans l'ordre de tabulation. En appuyant sur Alt + D, par exemple, active le TextBox à côté de l'étiquette de département.
Utilisez les étiquettes pour fournir un accès direct aux contrôles qui n'ont pas de raccourcis clavier.Test d'un UserForm
Le VBE propose trois méthodes pour tester un UserForm sans l'appeler à partir d'une procédure VBA:
-
Choisissez la commande Run → Run Sub / UserForm.
-
Appuyez sur F5.
-
Cliquez sur le bouton Run Sub / UserForm dans la barre d'outils Standard.
Lorsqu'une boîte de dialogue est affichée dans ce mode de test, vous pouvez essayer l'ordre des onglets et les touches de l'accélérateur.