Aligner Colonnes ListBox avec Textbox[RESOLU]

cathodique

XLDnaute Barbatruc
Bonsoir:),

J'utilise un code pour afficher un formulaire en plein écran. Je voudrais ajuster l'alignement des colonnes d'une ListBox avec des textboxs correspondantes placées au-dessus de celle-ci.

Lorsque j'utilise la propriété ColumnWidths, c-à-d en entrant des valeurs; les colonnes sont décalées suivants les dimensions de l'écran. Or, c'est très gênants visuellement. En ajustant par code, je pense que ça résoudra le problème.

Merci pour votre aide.
 

Pièces jointes

  • Ajuster Colonnes Listbox sur Textbox.xlsm
    28.1 KB · Affichages: 30

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Cathodique, bonsoir le forum,

Je remplacerais les textboxes par une petite Listbox2 aux propriétés identiques à celle de ta ListBox1. Quand tu sélectionnes un élément de la ListBox1, tu renvoies les données de cet élément vers la ListBox2. Tu n'auras pas les séparations mais tu sera parfaitement aligné.
 

cathodique

XLDnaute Barbatruc
Bonjour Robert;),

Mon formulaire est beaucoup plus fourni en contrôles. Dans le fichier joint, j'ai simplifié ce dernier. J'ai laissé juste ce qu'il faut pour illustrer mon problème. Les textboxs en question me servent à modifier la ligne sélectionnée dans la Listbox. Je ne peux donc pas adopter ta proposition.

Je te remercie.

Bonne journée.
 

ChTi160

XLDnaute Barbatruc
Bonjour Cath
Bonjour le fil , le Forum
une approche (redimensionnement , alignement des Controls)
Edit : Tu peux modifier la couleur de fond et de texte des TextBox entêtes (Fond comme le Userform et le texte en Blanc)
Fichier changé.
jean marie
 

Pièces jointes

  • Ajuster Colonnes Listbox sur Textbox.xlsm
    28 KB · Affichages: 24
Dernière édition:

cathodique

XLDnaute Barbatruc
Bonjour Cath
Bonjour le fil , le Forum
une approche (redimensionnement , alignement des Controls)
Edit : Tu peux modifier la couleur de fond et de texte des TextBox entêtes (Fond comme le Userform et le texte en Blanc)
Fichier changé.
jean marie
Bonjour Jean Marie;),
Ce n'est pas du tout aligné ci-joint image
Capture.JPG

Merci pour l'essai.
Bonne journée.:)
 

cathodique

XLDnaute Barbatruc
Désolé Boisgontier :oops:, je n'avais pas rafraichi la page.
Justement, j'étais sur ton site et j'ai trouvé des exemples pour mettre en place des labels ajustés aux colonnes d'une listbox.
Par contre moi, je voudrais faire l'inverse, soit ajuster les colonnes par rapport aux textboxs.
Mais là, je ne sais pas comment m'y prendre.

Merci pour ton orientation. je vais essayer de m'y retrouver.

Bonne journée.;)
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Ce code à la fin de la UserForm_Activate a l'air pas mal :
VB:
   Dim TBx As MSForms.TextBox, I&, TCW$(0 To 7)
   For I = 0 To 7
      Set TBx = Me("TextBox" & Choose(I + 1, 2, 1, 5, 9, 8, 6, 7, 12))
      TCW(I) = TBx.Width & "pt"
      Next I
   Me.ListBox1.ColumnWidths = Join(TCW, ";")
 

cathodique

XLDnaute Barbatruc
Re
Une approche qui se base sur la Mise en forme des Controls d’entêtes du Userform.
nommés pour cela "Lbl_1" à "Lbl_8"
jean marie
Désolé @ChTi160 :oops:, un peu dépassé pour répondre à vos propositions.
En effet, ta solution est bonne. Je vais essayer de passer sur mon classeur de travail pour adapter et reviendrai aux nouvelles.

Tous mes remerciements à toi, @BOISGONTIER, @Dranreb et à tous ceux et celles qui auraient consulté cette discussion.

Bonne journée à vous.;)
 

cathodique

XLDnaute Barbatruc
Bonjour.
Ce code à la fin de la UserForm_Activate a l'air pas mal :
VB:
   Dim TBx As MSForms.TextBox, I&, TCW$(0 To 7)
   For I = 0 To 7
      Set TBx = Me("TextBox" & Choose(I + 1, 2, 1, 5, 9, 8, 6, 7, 12))
      TCW(I) = TBx.Width & "pt"
      Next I
   Me.ListBox1.ColumnWidths = Join(TCW, ";")
Merci beaucoup pour ta proposition, elle donne le même résultat que celle de @ChTi160 au post#8.
Bonne journée.
 

Statistiques des forums

Discussions
311 711
Messages
2 081 786
Membres
101 817
dernier inscrit
carvajal