Labels des textbox avec les titres de la première ligne

Bonjour amis du Forum.

Dans un classeur de M. BOISGONTIER, j'ai vu que l'on pouvait nommer les labels des textbox avec les titres de la première ligne.

J'ai tenté à tâtons d'isoler le bout de code pour pouvoir le comprendre et l'utiliser dans mes futurs projets , mais en vain.

Après des heures de recherche sur le Net, je n'ai pas trouvé de solution avec juste un exemple sans autre contrôle sur l'Userform.

Y a t'il quelqu'un pour m'aider pour ce bout de code ?

Par avance, merci

Licaon.

Bonjour Licao, bonjour le forum,

Pas très clair tout ça !... Une Label c'est un contrôle, une TextBox c'est est un autre. Du coup, "nommer les labels des textbox avec les titres de la première ligne", ça veut pas dire grand chose... D'autre part, si tu as 15 données dans la première ligne, il me semblerait logique que tu aies 15 textboxes, non ?

le code qui va bien :

Private Sub UserForm_Initialize()
Dim I As Byte 'déclare la variable I (Incrément)

For I = 1 To 15 'boucle sur 15 éléments
    Me.Controls("TextBox" & I).Value = Sheets("Feuil1").Cells(1, I).Value 'renvoie dans la textbox I la valeur de la cellule ligne 1 colonne I
Next I
End Sub

Bonjour,

J'ai tenté à tâtons d'isoler le bout de code pour pouvoir le comprendre et l'utiliser dans mes futurs projets , mais en vain.

Et à tout hasard, quel est ce bout de code ?

Bonjour MFERRAND

Le fichier concerné se trouve ici :

http://boisgontierjacques.free.fr/fichiers/Formulaire/FormFiltreListBoxComboBoxTri.xls

Cordialement.

Licaon.

Tu as parlé d'un bout de code ! Quel est-il ?

Bonjour,

Il y a 2 choses:

1/ Titres de la ListBox et calcul des largeurs de colonnes de la ListBox

Sub EnteteListBox()
   X = Me.ListBox1.Left + 8
   Y = Me.ListBox1.Top - 20
   For c = 1 To NbCol
     pos = Application.Match(c, colVisu, 0)
     If Not IsError(pos) Then
       'k = c
       Set Lab = Me.Controls.Add("Forms.Label.1")
       Lab.Caption = Range(NomTableau).Offset(-1).Item(1, c)
       Lab.ForeColor = vbWhite
       Lab.Top = Y
       Lab.Left = X
       Lab.Height = 24
       Lab.Width = Range(NomTableau).Columns(c).Width * 1#
       X = X + Range(NomTableau).Columns(c).Width * 1
       tempcol = tempcol & Range(NomTableau).Columns(c).Width * 1# & ";"
     Else
       X = X + 0
       tempcol = tempcol & 0 & ";"
     End If
   Next c
   tempcol = tempcol & "20"
   On Error Resume Next
   Me.ListBox1.ColumnWidths = tempcol
   On Error GoTo 0
End Sub

2/ Renomme les labels pour la saisie et modifie la largeur des textbox

Sub LabelsTextBox()
   For c = 1 To NbCol
      Me("textbox" & c).Width = Range(NomTableau).Columns(c).Width * 1.3
      tmp = Range(NomTableau).Offset(-1).Item(1, c)
      Me("label" & c).Caption = tmp
      lg = Len(tmp): If Len(tmp) > 11 Then lg = 11
      Me("label" & c).Width = lg * 6
   Next
End Sub

Ceuzin

Merci ceuzin !

J'avais bien repéré tes procédures, mais j'aurais bien aimé que notre ami précise le bout de code censé lui poser problème, de façon à être fixé...

Rechercher des sujets similaires à "labels textbox titres premiere ligne"