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.

  • 🧩 Commandes de l'interface graphique : Les boutons, les listes déroulantes, les cases à cocher et les étiquettes constituent l'interface avec laquelle un utilisateur interagit sur une feuille de calcul.
  • 🇧🇷 Contrôles de formulaire : Des commandes simples qui exécutent une seule macro assignée et fonctionnent sur les deux Windows et Mac Excel.
  • ⚙️ Contrôles ActiveX : Des contrôles plus riches, dotés de nombreuses propriétés et événements, codés en VBA, sont disponibles sur Windows Excel uniquement.
  • 🔧 Condition préalable: Activez l'onglet Développeur et enregistrez le fichier en tant que classeur prenant en charge les macros avant d'ajouter des contrôles.
  • ▶ ️ Exemple ActiveX : Un bouton de commande imprime la chaîne GuruTutoriel VBA 99 : Insérer dans la plage de cellules A1 à A10 au clic.
  • 🇧🇷 Evénements: Les contrôles ActiveX réagissent aux événements tels que Click, Change et GotFocus via des sous-routines dédiées.

Contrôles VBA dans Excel

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,

  1. Cliquez sur l'onglet développeur
  2. Cliquez sur le bouton Insérer la liste déroulante

Vous obtiendrez le panneau déroulant suivant

Contrôles de formulaire/interface graphique VBA dans Excel

Si vous passez la souris sur les contrôles de formulaire VBA, le nom du contrôle apparaîtra comme indiqué ci-dessous

Contrôles de formulaire/interface graphique VBA dans Excel

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

Ajout de contrôles GUI à une feuille de calcul

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

Définition des propriétés de contrôle de l'interface graphique

  1. Faites un clic droit sur le bouton égal que nous venons de créer
  2. Sélectionner le menu des propriétés
  3. Vous obtiendrez la fenêtre de propriétés suivante

Définition des propriétés de contrôle de l'interface graphique

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

Définition des propriétés de contrôle de l'interface graphique

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.

Prérequis

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

Prérequis

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.

Utiliser le contrôle ActiveX dans VBA

Étape 2) Pour insérer « clickcommandbutton1 », faites glisser le curseur de la souris vers la feuille Excel.

Utiliser le contrôle ActiveX dans VBA

Étape 3) Ensuite, cliquez avec le bouton droit sur le bouton de commande et sélectionnez l'option « Afficher ». Code ».

Utiliser le contrôle ActiveX dans VBA

É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 ».

Utiliser le contrôle ActiveX dans VBA

É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 Utiliser le contrôle ActiveX dans VBA à l'extrême gauche.

Utiliser le contrôle ActiveX dans VBA

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

Utiliser le contrôle ActiveX dans VBA

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

Utiliser le contrôle ActiveX dans VBA

Étape 8) Cliquez sur « CommandButton1 ». Cela imprimera « Guru99 Tutoriel VBA » dans la plage de cellules « A1 à A10 ».

Utiliser le contrôle ActiveX dans VBA

Téléchargez Excel contenant le code ci-dessus

Téléchargez le fichier Excel ci-dessus. Code

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

FAQ

Un contrôle de formulaire exécute une seule macro que vous lui assignez et fonctionne sur Windows et Mac. Un contrôle ActiveX est programmé en VBA, expose de nombreuses propriétés et événements, et est disponible sur Windows Excel uniquement.

Le menu Insertion pour les contrôles de formulaire et ActiveX se trouve dans l'onglet Développeur, masqué par défaut. Activez-le via Fichier > Options > Personnaliser l'onglet Développeur, puis cochez la case Développeur pour afficher les contrôles et l'éditeur VBA.

Le bouton est probablement encore en mode Création, comme l'indique la surbrillance verte dans l'onglet Développeur. Désactivez le mode Création pour que le contrôle exécute son code événementiel. Le classeur doit également être enregistré au format .xlsm (avec macros activées).

Oui. Les assistants IA comme Copilot génèrent la sous-routine de clic ou de modification à partir d'une simple description, par exemple « effacer la plage lorsque le bouton est enfoncé ». Le développeur la colle ensuite dans la fenêtre de code du contrôle et la teste.

Oui. Décrivez l'entrée dont vous avez besoin et un assistant IA vous suggérera un contrôle approprié, tel qu'une zone de liste déroulante pour une liste fixe ou une case à cocher pour une réponse par oui ou par non, et vous expliquera comment définir ses propriétés principales.

Résumez cet article avec :