XL 2010 Quel est ce type d'userform

piga25

XLDnaute Barbatruc
Bonjour,

Sur un fil du forum j'ai découvert un type d'Userform que je ne connais pas.
Lorsque l'on va sur VBA et que l'on édit l'userfom aucun des labels et textbox n'apparait alors que lorsqu'il est utilisé sur la feuille tous les champs sont accessibles.

Ce qui est visible sur le feuille :
upload_2017-5-15_9-26-5.png


Ce qui est visible en VBA :
upload_2017-5-15_9-27-12.png


M'a question est comment est-il possible d'accéder à ces champs (labels et textbox)?

Origine : https://www.excel-downloads.com/threads/faire-une-macro.20017484/

Merci d'éclairer ma lanterne.
 

Pièces jointes

  • exemple basket.xlsm
    149.6 KB · Affichages: 42

piga25

XLDnaute Barbatruc
Bonjour à tous,
Salut Jean-Claude

Merci.
Par contre comment rendre non accessible les textbox dans l'Userform, en l'occurence ici les trois dernières (elles contiennent des formules et se renseignent donc elles mêmes).
 

JCGL

XLDnaute Barbatruc
Bonjour à tous,

Peux-être en modifiant cette partie dans l'Initialise :
VB:
With tbox_uf
            .Top = label_uf.Top - 5
            .Left = label_uf.Left + label_uf.Width + 10
            .Width = 150
            .Value = Cells(ActiveCell.Row, rge_cell.Column).Value
            If rge_cell.Column > 8 Then tbox_uf.Locked = True
        End With

A+ à tous

Edition : Ajout Fichier
 

Pièces jointes

  • JC exemple basket.xlsm
    151.1 KB · Affichages: 28
Dernière édition:

piga25

XLDnaute Barbatruc
Bonjour,
Affirmatif cela bloque bien la saisie dans ces textbox.

Pour plus de connaissance, y a t'il également un moyen de les masquer ?
Si oui lors de la saisie d'une nouvelle donnée
mais par contre visible (tout en étant verrouillé) lors de la consultation de donnée déjà saisie
 

piga25

XLDnaute Barbatruc
Bonjour,
J'ai modifié le code comme ceci pour masquer certains label et texbox et cela semble bien fonctionner.
VB:
........
Set label_uf = Me.Controls.Add("Forms.label.1", "Label_" & rge_cell.Value, True)
    With label_uf
        .Caption = rge_cell.Value
        If rge_cell.Column = 6 Then label_uf.Visible = False
        If rge_cell.Column > 9 Then label_uf.Visible = False
        .Top = (((i_nb_control - 1) Mod i_nb_lignes_avant_saut_de_colonnes) + 1) * 20 + 5 + 14
        .Left = Me.SB_Ascenceur.Left + Me.SB_Ascenceur.Width + 6 + ((i_nb_colonnes - 1) * (40 + 150 + 10 + 10))
        .Width = 40
        .Height = 12
    End With
  
    Set tbox_uf = Me.Controls.Add("Forms.textbox.1", "Textbox_" & rge_cell.AddressLocal, True)
    With tbox_uf
        .Top = label_uf.Top - 5
        .Left = label_uf.Left + label_uf.Width + 10
        .Width = 150
        .Value = Cells(ActiveCell.Row, rge_cell.Column).Value
         If rge_cell.Column > 9 Then tbox_uf.Visible = False 'Locked = True
         If rge_cell.Column = 6 Then tbox_uf.Visible = False
    End With
.........

Merci Jean Claude de m'avoir éclairé.
Il n'est jamais trop tard pour apprendre.
 

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 786
Membres
101 817
dernier inscrit
carvajal