Comment centrer un texte dans un userform

  • Initiateur de la discussion Diop
  • Date de début
D

Diop

Guest
Bonjour à tous,


je voulais savoir s'il est possible de centrer un texte dans la barre de titre d'un userform. C'est possible d'utiliser le curseur mais ce n'est aps tres commode

merci de votre aide
 
S

Sebb

Guest
Salut !

A ma connaissance, ce n'est pas possible
Il serait peut-être possible de procéder ainsi :

calculer le nombre de caractères contenus dans le titre
et selon la taille de l'userform, insérer un certain nombre d'espaces avant le titre

Après pour la réalisation, je suis pas très doué lol
 
E

Eric C

Guest
Bonjour le Forum
Bonjour Diop & Sebb

Voici L'UNE des RUSES de LaurentTBT
// Centrer le titre d'un USF


Tout d'abord, je cherche la police utilisée dans cette barre de titre. Cette police est définie par windows, car elle est commune à toutes les fenêtres.
Par un clic droit sur le bureau windows, j'obtiens un menu, et je choisis "Propriétés". Ensuite, je regarde dans l'onglet "Apparence"
Là, on me présente justement l'apparence des fenêtres. Le détail est donné en dessous, dans la liste "Elément" sous windows 98, où via un bouton "avancé" sous windows XP. Pour les autres OS, ce doit être aussi accessible.
Enfin, dans cette liste, je choisis "Barre de titre active", ce qui me permets de découvrir quelle est la police utilisée, sa taille, et si c'est en gras ou en italique.

Bon, passons au code:
Dans mon UserForm1, je rajoute un label, dont je fixe dans la fenêtre propriété les points suivants:
Je lui donne la même police, avec taille et attributs (gras ou italique) identique à celle des fenêtres de Windows.
Je lui impose encore 3 propriétés:
WordWrap à False, Autosize à true et enfin, je le masque (visible=false).

Maintenant, l'astuce est la suivante: dans le code qui doit modifier la barre de titre du UserForm, voilà ce que j'écris, en ayant défini auparavant une variable Dim Espaces as Byte

Me.Label1 = Worksheets("Feuil1").Range("B3")
Do Until Me.Label1.Width >= Me.InsideWidth
Me.Label1 = " " & Me.Label1 & " "
Espaces = Espaces + 1
Loop
Me.Caption = Mid(Me.Label1, 2, Len(Me.Label1) - Espaces)

En fait, tu l'as compris, je calcule le nombre d'espaces qu'il faut rajouter devant (et donc autant derrière) pour que le texte soit centré. Et je ruse en utilisant un label qui s'ajuste

@ ++ Eric C
 
D

Diop

Guest
Bonjour eric je te remercie tout d'abord du tuyau
mais j'avais deux questions à te poser:

1) voilà j'ai créer le label mais je ne sais pas où mettre le code qui modifie le titre de la barre d'outil;
2) que vient faire "feuil 1" dans la macro;

MERCI
 
E

Eric C

Guest
Bonjour le forum
Bonjour Diop

Excuses moi mais je nai pas beaucoup de temps en ce moment.
Je prend connaissance ce matin de tes questions et t'y répond dans la foulée.
1/ Exemple joint.
2/ Le titre qui figurera dans le caption de ton USF se situe dans la cellule B de la feuille 1. Tu le places où bon te semble et même en couleur d'écriture blanche pour ne pas le voir dans ta feuille. Pour ma part, la barre active de Windows XP ==> Police Trebuchet MS - Taille 10 - Bold pour gras -
En espérant avoir correctement répondu.
@ ++ Eric C
 

Pièces jointes

  • TitreUSF_Centre.zip
    7.8 KB · Affichages: 169
D

Diop

Guest
salut je te remercie du fichier exemple que j'ai utilisé à bon escient
mais j'ai un autre probleme car j'ai déjà un userform à workbook_open, alors que le titre que j'essaie de centrer est sur un workbook_activate
et dès que j'active le fichie il me beugue

si quelqu'un a une solution à ce probleme

merci de votre aide
 
E

Eric C

Guest
Re le forum
Re Diop

Le code fourni est à placer dans le code de ton UserForm1 ou 2 ou 3 ou 1000 et il s'exécute à l'initialisation donc cela n'a rien à voir avec ce que tu avances. Sub Userform1_Initialize () .
WorkBook_Open est pour faire appel à ton USF lors de l'ouverture de ton classeur (Ex module AutoOpen).
Sinon mets ton appli sur ce post et quelqu'un y regardera. Je reviendrai vers 12H.
A propos, c'est pour l'esthétisme que tu désires centrer le titre ?

@ ++ Eric C
 
E

Eric C

Guest
Re le forum
Re Diop

Une lecture très intéressante sur les évènements. N'étant pas un bon professeur, je te laisse découvrir.
@ ++ Eric C
 

Pièces jointes

  • Les_Evenements.zip
    14.6 KB · Affichages: 162

Discussions similaires

Réponses
3
Affichages
238

Statistiques des forums

Discussions
312 078
Messages
2 085 110
Membres
102 783
dernier inscrit
Basoje