Autres Reconstituer Entete à partir de caption de Labels créés par code.

cp4

XLDnaute Barbatruc
Bonsoir :),

Je m'inspire beaucoup des exemples de Boisgontier. Le code ci-dessous permet de créer des labels qui prennent comme caption l’entête d'un tableau.
Je voudrais reconstituer l’entête sur une autre feuille à partir de ces labels.
Je sais qu'il est plus simple de faire un copier/coller en vba.
C'est seulement pour apprendre à manipuler ce type d'objets créés à la volée.
VB:
Sub EnteteListBox() 'Boisgontier
    Dim x As Integer, y As Integer, i As Byte, lab As Object, temp, Rng
    Set Rng = Sheets("bd").Range("A2:J" & f.[A65000].End(xlUp).Row)
    x = Me.ListBox1.Left + 8
    y = Me.ListBox1.Top - 12
    For i = 1 To Me.ListBox1.ColumnCount
        Set lab = Me.Controls.Add("Forms.Label.1")
        lab.Caption = Rng.Offset(-1).Cells(1, i)
        lab.Top = y
        lab.Left = x
        x = x + Int(Rng.Columns(i).Width * 1.1)
        temp = temp & Int(Rng.Columns(i).Width * 1.1) & ";"
    Next
    temp = Left(temp, Len(temp) - 1)
    Me.ListBox1.ColumnWidths = temp
End Sub
En vous remerciant par avance.
Bonne soirée.
 
Dernière édition:
Solution
Bonsoir cp4, jmfmarques, Bernard,

Placez dans l'UserForm :
VB:
Sub RestituerEntete()
Dim y, c As Control, col%
y = ListBox1.Top - 12 'à adapter
For Each c In Controls
    If TypeName(c) = "Label" And c.Top = y Then col = col + 1: ActiveSheet.Cells(1, col) = c.Caption 'ou précisez la feuille
Next
End Sub
Je ne vois pas vraiment l'intérêt de cette petite gymnastique.

A+

jmfmarques

XLDnaute Accro
Quand cela arrive, normalement on s'en rend vite compte et on corrige.
Et quand "cela" arrive fortuitement (y compris et surtout chez un utilisateur) ?
J'insiste donc : ne jamais se laisser bercer par les aptitudes "sans failles" (euh...) de VBA/Excel à utiliser ses "largesses" (qui ne sont pas - loin de là - toujours sans douleur)

PS : je suis certain de ce que le commandant de bord du Titanic s'est lui aussi très vite rendu compte de son erreur ;)
 

jmfmarques

XLDnaute Accro
Ne jamais utiliser VBA pour piloter les gros bateaux Ne jamais utiliser VBA pour piloter les gros bateaux
ni ne se fier aux facultés décisionnelles d'un robot là où il suffirait d'imposer l'observation totalement gratuite d'une discipline. Et ce : d'autant qu'on évite ainsi de générer une intervention - inutile et cause de ralentissement - d'un éventuel robot
Amitiés et bon confinement à tous.

PS : jer lis souvent, ici et/ou là, des expressions du genre :
il va sans dire que
Je ne sais pas ( en fait oui, je le sais) si le fait de dire qu'il "va sans dire que ...." fait gagner quoi que ce soit par rapport à celui de dire ce qu' "il va sans dire que ..."
 

Statistiques des forums

Discussions
312 224
Messages
2 086 409
Membres
103 201
dernier inscrit
centrale vet