Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

(INFO) À quoi sert la propriété Tag des contrôles ActiveX

1 réponse
Avatar
Clément Marcotte
Bonjour,

En lisant un livre sur la programmation en VB6, je suis tombé sur un
passage parlant de la propriété Tag des contrôles ActiveX. Cette
propriété permet d'appliquer un traitement différent à un contrôle
ActiveX, notamment dans une boucle. N'écoutant que ma curiosité, je
suis allé voir si c'était disponible dans VBA. Je sais maintenant
qu'elle existe au moins pour le TextBox et le CommandButton d'Excel et
de Word 2002, et je ne suis pas allé voir plus loin.

Pour essayer cela, je me suis donc bâti un UserForm dans Excel, avec 3
TextBoxes et un CommandButton.
J'ai mis "Ici" comme propriété Tag de TextBox2 et "Oublie moi" comme
propriété Tag du CommandButton, parce que CommandButton n'a pas de
propriété value et que la procédure génère un message d'horreur quand
elle passe sur le bouton de commande. (En fait, dans ce cas, cela peut
être n'importe quoi d'autre que de laisser vide ou de mettre ici.)

Ensuite, j'ai mis cela dans le CommandButton_Click() et Bingo!

Private Sub CommandButton1_Click()
Dim ct As Object
For Each ct In Me.Controls
If ct.Tag = "Ici" Then
'mettre «Marcotte» dant un TextBox "taggé" «ici»
ct.Value = "Marcotte"
ElseIf ct.Tag = "" Then
'mettre "Clément" dans les autres TextBoxes
ct.Value = "Clément"
Else
'Pour le CommandButton, mettre autre chose dans la
'propriété Tag pour éviter un message d'horreur.
'ct.value n'étant pas reconnu pour un bouton de commande
End If
Next
End Sub

1 réponse

Avatar
Clément Marcotte
Si j'étions allé voir sur Google avant, j'aurions vu que ce n'est pas
une découverte estradinaire.


"Clément Marcotte" a écrit dans le
message de news:
Bonjour,

En lisant un livre sur la programmation en VB6, je suis tombé sur un
passage parlant de la propriété Tag des contrôles ActiveX. Cette
propriété permet d'appliquer un traitement différent à un contrôle
ActiveX, notamment dans une boucle. N'écoutant que ma curiosité, je
suis allé voir si c'était disponible dans VBA. Je sais maintenant
qu'elle existe au moins pour le TextBox et le CommandButton d'Excel
et

de Word 2002, et je ne suis pas allé voir plus loin.

Pour essayer cela, je me suis donc bâti un UserForm dans Excel, avec
3

TextBoxes et un CommandButton.
J'ai mis "Ici" comme propriété Tag de TextBox2 et "Oublie moi" comme
propriété Tag du CommandButton, parce que CommandButton n'a pas de
propriété value et que la procédure génère un message d'horreur
quand

elle passe sur le bouton de commande. (En fait, dans ce cas, cela
peut

être n'importe quoi d'autre que de laisser vide ou de mettre ici.)

Ensuite, j'ai mis cela dans le CommandButton_Click() et Bingo!

Private Sub CommandButton1_Click()
Dim ct As Object
For Each ct In Me.Controls
If ct.Tag = "Ici" Then
'mettre «Marcotte» dant un TextBox "taggé" «ici»
ct.Value = "Marcotte"
ElseIf ct.Tag = "" Then
'mettre "Clément" dans les autres TextBoxes
ct.Value = "Clément"
Else
'Pour le CommandButton, mettre autre chose dans la
'propriété Tag pour éviter un message d'horreur.
'ct.value n'étant pas reconnu pour un bouton de commande
End If
Next
End Sub