Contrôles VBA dans Excel : Formulaires et ActiveX
⚡ Résumé intelligent
Dans Excel, les contrôles VBA sont des éléments interactifs, tels que des boutons, des cases à cocher et des zones de texte, qui constituent une interface utilisateur graphique. Cette page explique les contrôles de formulaire, les contrôles ActiveX, leurs différences et présente un exemple détaillé de bouton de commande ActiveX.

Contrôles VBA : contrôle de formulaire VBA et contrôles ActiveX dans Excel
Contrôles de formulaire/interface graphique VBA dans Excel
GUI est l'acronyme de Graphical User Interface. L'interface graphique est la partie du programme avec laquelle l'utilisateur interagit. Une interface graphique est composée de contrôles. Ces contrôles Excel VBA peuvent être utilisés dans un formulaire. Le tableau suivant présente certains des contrôles GUI VBA les plus couramment utilisés.
| Ratio S / N | Contrôle | Description |
|---|---|---|
| 1 | Command | Utilisé pour exécuter du code |
| 2 | Plusieurs tours en un Box | Utilisé pour présenter une liste déroulante aux utilisateurs |
| 3 | Vérifiez Box | Utilisé pour les valeurs vraies ou fausses. Plusieurs cases à cocher peuvent avoir une vraie valeur en même temps. |
| 4 | Liste Box | Utilisé pour présenter une liste simple aux utilisateurs |
| 5 | Texte Box | Utilisé pour accepter les entrées de l'utilisateur |
| 6 | Barre de défilement | Utilisé pour fournir une barre de défilement à des fins de navigation. |
| 7 | Bouton de rotation | Utilisé pour augmenter ou diminuer les valeurs numériques en cliquant sur les flèches haut ou bas qui apparaissent dans le bouton de rotation |
| 8 | Bouton d'option | Utilisé pour les valeurs vraies ou fausses. Un seul bouton d'option à la fois peut avoir une vraie valeur. |
| 9 | Étiquette | Utilisé pour afficher du texte statique à l'utilisateur |
| 10 | Image(s) | Utilisé pour afficher des images |
| 11 | TogglBouton e | Bouton qui a des états enfoncé et non enfoncé. |
Dans le contrôle GUI VBA,
- Cliquez sur l'onglet développeur
- Cliquez sur le bouton Insérer la liste déroulante
Vous obtiendrez le panneau déroulant suivant
Si vous passez la souris sur les contrôles de formulaire VBA, le nom du contrôle apparaîtra comme indiqué ci-dessous
Ajout de contrôles GUI à une feuille de calcul
Nous allons maintenant ajouter un bouton de commande à notre classeur, pour cela nous devons
- Cliquez sur la liste déroulante Insérer
- Cliquez sur le bouton de commande (contrôle ActiveX) comme indiqué dans l'image ci-dessus
- Faites glisser et dessinez le bouton sur la feuille
Définition des propriétés du contrôle GUI
Nous allons maintenant définir la légende du bouton sur quelque chose de plus descriptif
- Faites un clic droit sur le bouton égal que nous venons de créer
- Sélectionner le menu des propriétés
- Vous obtiendrez la fenêtre de propriétés suivante
- Définissez la propriété name sur btnButton. La propriété name permet d'identifier le contrôle dans la fenêtre de code. btn est le préfixe du bouton.
- Définissez la propriété Légende sur Cliquez sur moi. Le texte de la propriété caption correspond à ce que les utilisateurs verront sur le bouton.
Fermez la fenêtre lorsque vous avez terminé.
Vous obtiendrez les résultats suivants.
Différence entre les contrôles de formulaire et les contrôles ActiveX
Excel propose deux familles de contrôles, et choisir la bonne permet de simplifier un projet. Les contrôles de formulaire sont intégrés à Excel et exécutent une seule macro, tandis que les contrôles ActiveX sont des objets programmables qui réagissent à de nombreux événements via du code VBA. Le tableau ci-dessous compare les deux.
| Fonctionnalité | Contrôles de formulaire | Contrôles ActiveX |
|---|---|---|
| installation | C'est simple ; il suffit d'assigner une macro au contrôle. | Nécessite un code d'événement VBA pour répondre |
| Propriétés | Ensemble limité d'options | Complet, incluant la police, la couleur et le comportement |
| Événements | Action unique par clic | De nombreux événements tels que Click, Change et GotFocus |
| Compatibilité | Fonctionne sur Windows et Mac Excel | Fonctionne sur Windows Excel uniquement |
| Le mieux adapté pour | Des tâches rapides et simples sur une feuille de travail | Formulaires utilisateur interactifs et dynamiques |
En résumé, utilisez un contrôle Form lorsqu'une seule macro suffit, et choisissez un contrôle ActiveX lorsque l'interface nécessite des propriétés riches ou doit réagir à plusieurs événements utilisateur.
Prérequis
Avant de créer l'exemple ActiveX, préparez le classeur afin que les contrôles soient disponibles et que les macros puissent être enregistrées.
Configurer Microsoft Excel
Comme nous l'avons vu dans le didacticiel précédent, assurez-vous que votre ruban aura l'icône « Développeur » comme indiqué ici.
Maintenant, renommez la feuille 1 en « VBA Opera« tor », comme indiqué dans la capture d’écran ci-dessous. Enregistrez le classeur au format Excel Macro-Enabled Workbook (*.xlsm). (Voir l’image ci-dessous.)
Après cela, cliquez sur le bouton Enregistrer.
Comment utiliser le contrôle ActiveX dans VBA
Une fois le classeur prêt, nous pouvons ajouter un bouton ActiveX fonctionnel. Dans cette section consacrée aux contrôles ActiveX dans Excel, nous verrons comment intégrer un bouton « commandclick » en VBA et exécuter un programme à l'aide de ce bouton.
Étape 1) Dans cette étape, cliquez sur l'option « insérer un bouton » du contrôle Active X. Sélectionnez ensuite l’option du bouton de commande.
Étape 2) Pour insérer « clickcommandbutton1 », faites glisser le curseur de la souris vers la feuille Excel.
Étape 3) Ensuite, cliquez avec le bouton droit sur le bouton de commande et sélectionnez l'option « Afficher ». Code ».
Étape 4) Vérifiez que vous êtes sur la bonne feuille. Un éditeur de code s'ouvrira. Entrez votre code.
- Dans le code, nous avons défini la plage A1 à A10.
- Cette plage définit le numéro de cellule dans la feuille Excel de « A1 à A10 ».
- Ensuite, nous définissons la chaîne «GuruTutoriel VBA 99 en code
- Donc, lorsque vous cliquez sur le bouton « Commande » dans Excel, il devrait afficher « Guru99 Tutoriel VBA » dans la plage de cellules « A1 à A10 ».
Étape 5) À l'étape suivante, enregistrez le fichier de code, puis quittez l'éditeur. Pour revenir au fichier Excel cliquez sur l'icône de la feuille Excel à l'extrême gauche.
Étape 6) Dans la feuille Excel, vous verrez que l’onglet Mode Conception est activé. Assurez-vous qu'il est « OFF », sinon votre code ne fonctionnera pas.
Étape 7) Lorsque le mode conception est désactivé, il n’y aura pas de surbrillance verte. Vous pouvez maintenant cliquer sur le bouton de commande.
Étape 8) Cliquez sur « CommandButton1 ». Cela imprimera « Guru99 Tutoriel VBA » dans la plage de cellules « A1 à A10 ».
Téléchargez Excel contenant le code ci-dessus
Événements courants des contrôles ActiveX en VBA
Un contrôle ActiveX est puissant car il réagit aux événements, c'est-à-dire aux actions de l'utilisateur sur le contrôle. Chaque événement exécute sa propre sous-routine ; ainsi, un même bouton peut se comporter différemment selon l'action de l'utilisateur. Les événements les plus courants sont listés ci-dessous.
- Cliquez à nouveau – exécute le code lorsque l'utilisateur clique sur le contrôle, l'événement utilisé dans l'exemple ci-dessus.
- Changer – s'exécute lorsque la valeur d'un contrôle change, par exemple typing dans une zone de texte ou en sélectionnant un élément d'une liste déroulante.
- GotFocus / LostFocus – s'exécute lorsque le contrôle gagne ou perd le focus, utile pour valider les entrées.
- Appuyez sur la touche – s'exécute lorsque l'utilisateur appuie sur une touche pendant que la commande est active.
- Déplacement de la souris – s'exécute lorsque le pointeur de la souris se déplace sur le contrôle.
- Double-clic – s'exécute lorsque l'utilisateur double-clique sur le contrôle.
Pour ajouter du code à un événement, activez le mode Création, cliquez avec le bouton droit sur le contrôle et choisissez Afficher Code, et sélectionnez l'événement dans la liste déroulante située en haut de la fenêtre de code.
















