Autres Simplifier une action

chilo27

XLDnaute Occasionnel
Bonsoir le forum

Est il possible de simplifier cette action
En effet, j'ai plus d'une trentaine de textbox, et je souhaiterai que les labels prennent la même longueur que les textbox
Label3.Width = Data3.Width
Il en est de même pour l'alignement

En vous remerciant par avance

Label3.Left = Data3.Left


Merci à vous
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Chilo,
Vous avez 4 paramètres pour regler un textbox :
1685389574635.png

avec cette macro :
VB:
Sub Essai()
    For i = 1 To 4
        Nom = "TextBox" & i
        With UserForm1.Controls(Nom)
            .Width = 100
            .Height = 25
            .Top = 15
        End With
    Next i
    UserForm1.Show
End Sub
Vous passez de :
1685389627577.png

A ça :
1685389650535.png
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
et si vous voulez dupliquer les paramètres de Textbox1 :
VB:
Sub Essai()
    For i = 2 To 4
        Nom = "TextBox" & i
        Width1 = UserForm1.TextBox1.Width
        Height1 = UserForm1.TextBox1.Height
        Top1 = UserForm1.TextBox1.Top
        With UserForm1.Controls(Nom)
            .Width = Width1
            .Height = Height1
            .Top = Top1
        End With
    Next i
    UserForm1.Show
End Sub
 

chilo27

XLDnaute Occasionnel
1685390719870.png
1685390719870.png
Je me suis peut être mal expliqué
1) Je souhaite que les labels prennent la même longueur que les textbox
je les fais ainsi label1.width = textbox1.width
Le problème j'ai 34 labels à aligner
Merci Sylvanu pour la conribution
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Avec :
VB:
Sub Essai()
    For i = 1 To 3
        NomLabel = "Label" & i
        Nomtextbox = "TextBox" & i
        With UserForm1.Controls(NomLabel)
            .Width = UserForm1.Controls(Nomtextbox).Width
            .Left = UserForm1.Controls(Nomtextbox).Left
        End With
    Next i
    UserForm1.Show
End Sub
Vous passez de ça à ça :
1685392122573.png
1685392154846.png

Mais cela ressemble à ce que vous avez fait.
Le problème va consister à faire coïncider les indices des textbox avec ceux des labels.
Label1 avec Textbox1, Label2 avec Textbox2, ....
Si ce n'est pas le cas, cela risque d'être plus long d'écrire le code ou de renommer chaque label que d'aligner l'ensemble à la main.
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 322
Membres
102 862
dernier inscrit
Emma35400