Boucle à travers les contrôles dans Excel VBA - Macros Excel faciles

Table des matières

Avec seulement quelques lignes de code, nous pouvons facilement parcourir les commandes en boucle sur un Formulaire utilisateur Excel VBA. Le formulaire utilisateur que nous allons créer se présente comme suit :

Pour créer ce formulaire utilisateur, exécutez les étapes suivantes.

1. Ouvrez l'éditeur Visual Basic. Si l'Explorateur de projets n'est pas visible, cliquez sur Affichage, Explorateur de projets.

2. Cliquez sur Insérer, Formulaire utilisateur. Si la boîte à outils n'apparaît pas automatiquement, cliquez sur Affichage, Boîte à outils. Votre écran doit être configuré comme ci-dessous.

3. Ajoutez l'étiquette, les cases à cocher (d'abord en haut, la seconde en dessous du premier et ainsi de suite) et le bouton de commande. Une fois cette opération terminée, le résultat doit être cohérent avec l'image du formulaire utilisateur présentée précédemment. Par exemple, créez un contrôle de case à cocher en cliquant sur CheckBox dans la boîte à outils. Ensuite, vous pouvez faire glisser une case à cocher sur le formulaire utilisateur.

4. Vous pouvez modifier les noms et les légendes des champs. Les noms sont utilisés dans le code Excel VBA. Les légendes sont celles qui apparaissent sur votre écran. C'est une bonne pratique de changer les noms des contrôles, mais ce n'est pas nécessaire ici car nous n'avons que quelques contrôles dans cet exemple. Pour modifier le libellé du formulaire utilisateur, l'étiquette, les cases à cocher et le bouton de commande, cliquez sur Affichage, Fenêtre Propriétés et cliquez sur chaque contrôle.

5. Pour afficher l'Userform, placez un bouton de commande sur votre feuille de calcul et ajoutez la ligne de code suivante :

Private Sub CommandButton1_Click()
UserForm1.Show
Fin du sous-marin

Nous avons maintenant créé la première partie du Userform. Bien que cela ait déjà l'air soigné, rien ne se passera encore lorsque nous cliquons sur le bouton Effacer.

6. Ouvrez l'éditeur Visual Basic.

7. Dans l'Explorateur de projets, double-cliquez sur UserForm1.

8. Double-cliquez sur le bouton Effacer.

9. Ajoutez les lignes de code suivantes :

Private Sub CommandButton1_Click()
Dim control Comme contrôle
Pour chaque contr dans UserForm1.Controls
Si TypeName(contr) = "CheckBox" Alors
contr.Value = Faux
Fin si
Prochain
Fin du sous-marin

Explication : Excel VBA parcourt tous les contrôles du formulaire utilisateur. La fonction TypeName est utilisée pour filtrer les contrôles de case à cocher. S'il s'agit d'un contrôle de case à cocher, Excel VBA décoche la case. contr est choisi au hasard ici, vous pouvez utiliser n'importe quel nom. N'oubliez pas de faire référence à ce nom dans le reste de votre code.

Résultat lorsque vous cliquez sur le bouton Effacer :

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave