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

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 :

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 :

A ça :
 

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
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 :

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…