XL 2010 Explication sur propriété .tag

herve62

XLDnaute Barbatruc
Bonjour
J'ai retrouvé un vieil exemple de !!! 2015 , je pense que c'était Roland qui me l'avait fourni ; mais je ne pige pas le fait des box entrelacées dans l'usf qui en plus n'apparaissent pas ??? je n'ai pas vu de visible=false . Par contre je ne connais pas le .tag ?
Comme j'aime bien comprendre ce que j'utilise , quelqu'un pourrait-il me détailler un peu plus ce contrôle ( rôlr , utilisation , etc ) , rien de compréhensible sur le net ( surtout MS !!!)
Merci bien
 

Robert

XLDnaute Barbatruc
Bonjour Hervé,

L'utilité exacte de [Tag] je ne la connais pas. En revanche je l'utilise énormément dans les contrôles qui récupèrent des données d'un tableau ou qui renvoient leur valeur dans le tableau. je leur attribue la lettre de la colonne dans laquelle la valeur doit s'afficher. Après je boucle sur les contrôles avec, pour récupérer les données du tableau vers l'UserForm, u code du style :

VB:
Dim CTRL As Control 'déclare la variable CTRL (ConTRôLe)
Dim LI As Integer 'déclare la variable LI (Ligne)

LI = ActiveCell.Row 'définit la ligne LI
For Each CTRL In Me.Controls 'boucle sur tous les contrôle de l'UserForm en cours
    If CTRL.Tag <> "" Then 'condition : si la propriété [Tag] du contrôle n'est pas vide
        CTRL.Value = Cells(LI, CTRL.Tag).Value 'récupère la valeur de la cellule ligne = LI colonne =propiété [Tag] du contrôle
    End If 'fin de la condition
Next CTRL 'prochaine contrôle de la boucle
à adapter pour des checkboxes ou optionbuttons...

Si je veux renvoyer les données de l'UserForm vers le tableau le même type de code :

Code:
Dim CTRL As Control 'déclare la variable CTRL (ConTRôLe)
Dim LI As Integer 'déclare la variable LI (Ligne)

LI = Cells(Application.Rows.Count, "A").End(xlUp).Row + 1 'définit la ligne LI
For Each CTRL In Me.Controls 'boucle sur tous les contrôle de l'UserForm en cours
    If CTRL.Tag <> "" Then 'condition : si la propriété [Tag] du contrôle n'est pas vide
        Cells(LI, CTRL.Tag).Value = CTRL.Value 'renvoie la valeur du contrôle vers la cellule ligne = LI colonne = propriété [Tag] du contrôle
    End If 'fin de la condition
Next CTRL 'prochaine contrôle de la boucle
En fait cette propriété te permet de stocker dans le contrôle une donnée qui te servira plus tard (la colonne, la ligne, une couleur, etc.)
 

eriiiic

XLDnaute Barbatruc
Bonjour à tous,

.Tag est une propriété sans autre rôle que d'être mise à disposition.
Elle contient une chaine liée à l'objet que tu l'utilises comme tu veux, c'est toi qui décide.
Taguer=marquer

Ici il s'en sert pour repérer le bouton jour en cours de traitement (1 à 42)
eric
 
Dernière édition:

herve62

XLDnaute Barbatruc
Bonsoir
Bon , j'ai pas tout détaillé en pas à pas , mais donc les box masquées , je vois rien sur Pj ( visible ou pas) ?
cette var. est utilisée pour traitement Date , mais la box n'est jamais affichée ?? je pige pas la méthode utilisée !!
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas