Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

  • Initiateur de la discussion Initiateur de la discussion cp4
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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+
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 😉
 
Ne jamais utiliser VBA pour piloter les gros bateaux Ne jamais utiliser VBA pour piloter les gros bateaux
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 ..."
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…