/ / Excel VBA Controls Collection

Collection de contrôles VBA Excel

Lors de la création de Userforms dans Excel VBA, vous pouvez utiliser le Collection de contrôles pour parcourir facilement les contrôles et définir une propriété de chaque contrôle sur une valeur spécifique.

Le formulaire utilisateur que nous allons créer se présente comme suit:

Collection de contrôles dans Excel VBA

Pour créer ce Userform, exécutez les étapes suivantes:

1. Ouvrez Visual Basic Editor. Si l'explorateur de projet n'est pas visible, cliquez sur Affichage, Explorateur de projets.

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

Configuration de l'écran du formulaire utilisateur dans Excel VBA

3 Ajoutez l’étiquette, les zones de texte (la première en haut, la seconde en dessous de la première, etc.) et le bouton de commande. Une fois que cela est terminé, le résultat doit être cohérent avec l'image du Userform présentée précédemment. Par exemple, créez un contrôle de zone de texte en cliquant sur TextBox dans la Boîte à outils. Ensuite, vous pouvez faire glisser une zone de texte sur le Userform.

4. Pour modifier la légende du bouton Userform, label and command, cliquez sur View, Properties Window, puis sur chaque contrôle.

5. Pour afficher le formulaire utilisateur, placez un bouton de commande sur votre feuille de calcul et ajoutez la ligne de code suivante:

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

Explication: en ajoutant vbModeless, vous pouvez utiliser le Userform et travailler simultanément dans votre feuille de travail.

Nous avons maintenant créé la première partie du Userform. Bien que cela ait déjà l'air sympa, rien ne se passera quand on cliquera sur le bouton de commande du Userform.

6. Ouvrez Visual Basic Editor.

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

8. Double-cliquez sur le bouton de commande.

9. Ajoutez les lignes de code suivantes:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 To 10
    Controls("TextBox" & i).Value = Cells(i + 1, 1).Value
Next i

End Sub

Explication: Avec seulement quelques lignes de code, nous pouvons remplir les zones de texte avec les numéros de téléphone de la feuille. Nous avons utilisé l'opérateur & pour concaténer (joindre) les éléments. Ces lignes de code fonctionnent parce que nous n'avons pas changé les noms des contrôles de zone de texte (TextBox1, TextBox2, TextBox3, etc.). Pour changer les noms des contrôles, cliquez sur Affichage, Fenêtre Propriétés et cliquez sur chaque contrôle.

Résultat lorsque vous cliquez sur le bouton de commande de la feuille:

Résultat de la collecte de contrôles

Lisez aussi: