Passer à la ligne dans un CommandButton [Résolu]

Messages postés
25
Date d'inscription
jeudi 14 décembre 2006
Dernière intervention
10 mai 2008
- 5 janv. 2007 à 11:04 - Dernière réponse :
Messages postés
25
Date d'inscription
jeudi 14 décembre 2006
Dernière intervention
10 mai 2008
- 8 janv. 2007 à 12:29
Bonjour,

J'ai mis dans une cellule Excel un texte de 3 lignes. J'aimerai que ce texte soit repris dans la légende du bouton que j'ai créé dans un UserForm. Pour cela, j'ai utilisé la fonction CommandButton1.Caption = range("APV"). J'aimerai maintenant que le texte passe à la ligne dans le bouton pour qu'il apparaisse complètement. Est-ce possible ? Si oui, quelle démarche dois-je suivre ?

Merci pour vos conseils,

Estelle
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
- 5 janv. 2007 à 11:22
3
Merci
Salut,
Essaies de mette la propriété WordWrap de Ton commandButton  a TRUE
@+: Ju£i?n
Pensez: Réponse acceptée

Merci jrivet 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de jrivet
Meilleure réponse
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 5 janv. 2007 à 19:39
3
Merci
AH.... Mais tu es peut-être sous VBA et n'a dans ce cas pas de picturebox !

Si tel est le cas, tu peux faire la même chose, mais en remplaçant la picturebox Picture1 par un userform2
remplacer alors partout le mot Picture1 par le mot UserForm2

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de jmfmarques
Meilleure réponse
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 8 janv. 2007 à 11:09
3
Merci
Je n'ai pas VBA !

Il va te falloir attendre un peu.

J'en suis pour l'instant à "perfectionner mon tir" pour déposer une source qui traitera, sous VB, les boutons de commande, les Optionbuttons et les CheckBoxes

Tu me dis que textwidth n'est pas reconnu sous VBA (dommage).

Quand j'en aurai fini avec VB, je te proposerai un essai (avec des fonctions de l'API de Windows) pour VBA.

Si tu veux commencer : Textwidth et Textheight retournent la taille graphique d'une chaîne de caractères, pour une police de caractéristiques précisées.

TextWidth et TextHeight peuvent être remplacés par l'utilisation de la fonction GetTextExtentPoint32  de la librairie gdi32.dll (VB utilise d'ailleurs tout simplement cette fonction pour donner ses résultats de TexWidth et TextHeight).

Ce ne sera donc pas là la vraie difficulté, mais plutôt dans l'utilisation d'une userform complémentaire pour remplacer la picturebox utilisée sous VB...

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de jmfmarques
Messages postés
2247
Date d'inscription
lundi 29 mai 2006
Dernière intervention
29 mai 2008
- 5 janv. 2007 à 11:06
0
Merci
Salut soit faire un split sur le texte et mettre des vbcrlf ou alors ajuster la taille du bouton pour avoir le text sur trois ligne!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06
Messages postés
25
Date d'inscription
jeudi 14 décembre 2006
Dernière intervention
10 mai 2008
- 5 janv. 2007 à 11:26
0
Merci
Parfait, c'est exactement ce que je voulais. Merci. Y-a-t-il également possibilité d'ajuster le texte au format Justifié plutôt que centré au aligné à gauche ou à droite ?
Commenter la réponse de Estelle_BNP
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 5 janv. 2007 à 18:08
0
Merci
Oui, mais il te faudra faire un peu de gymnastique et le me demande si c'est "justifié" (un petit jeu de mot à 4 sous).


Si tu y tiens vraiment, je te dirai comment, mais ça aloudira un peu ton code pour pas grand-chose ...Tu dis ...
Commenter la réponse de jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 5 janv. 2007 à 19:17
0
Merci
Tiens...
Le vieux a voulu faire joujou, alors ....

Sur une Form :

- Un bouton de commande Command1, avec sa propriété Style = Graphical et des dimensions suffisantes pour y écrire au moins le texte d'essai (ici "Nous voilà)

- une picturebox Picture1

Code (un peu bâclé, mais bon...) :

Private Sub Form_Activate()
  Command1.Caption = "Nous voilà"
  With Font
    .Name = Command1.FontName
    .Size = Command1.FontSize
  End With
  With Picture1
    .Visible = False
    .FontName = Command1.FontName
    .FontSize = Command1.FontSize
    .AutoRedraw = True
    .FontBold = Command1.FontBold
    .Width = Command1.Width
    .Height = Command1.Height
  End With
  esp = (Picture1.Width - TextWidth(Command1.Caption)) / (Len(Command1.Caption) + 2)
 Picture1.CurrentX = esp
  For i = 1 To Len(Command1.Caption)
    Picture1.CurrentY = (Picture1.Height - TextHeight(Command1.Caption)) / 2
    Picture1.Print Mid(Command1.Caption, i, 1)
    DoEvents
    Picture1.CurrentX = esp + (esp * i) + TextWidth(Left(Command1.Caption, i))
  Next
  Command1.Picture = Picture1.Image
  Command1.Caption = ""
End Sub

Lance et vois !

Puis modifie à ta guise les dimensions de ton Command1 et vois ...


 


 


Voilà ! C'est justifié, maintenant
Commenter la réponse de jmfmarques
Messages postés
25
Date d'inscription
jeudi 14 décembre 2006
Dernière intervention
10 mai 2008
- 8 janv. 2007 à 10:04
0
Merci
Merci jmfmarques pour ces informations. Je développe en effet mon programme sous VBA. J'ai essayé de faire tourner ta macro, mais il ne reconnaît pas tout le code notamment TextWidth (Sub ou function non définie). Peux-tu me donner le code en VBA ?
Commenter la réponse de Estelle_BNP
Messages postés
25
Date d'inscription
jeudi 14 décembre 2006
Dernière intervention
10 mai 2008
- 8 janv. 2007 à 10:04
0
Merci
Merci jmfmarques pour ces informations. Je développe en effet mon programme sous VBA. J'ai essayé de faire tourner ta macro, mais il ne reconnaît pas tout le code notamment TextWidth (Sub ou function non définie). Peux-tu me donner le code en VBA ?
Commenter la réponse de Estelle_BNP
Messages postés
25
Date d'inscription
jeudi 14 décembre 2006
Dernière intervention
10 mai 2008
- 8 janv. 2007 à 12:29
0
Merci
Merci, je vais attendre.
Commenter la réponse de Estelle_BNP

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.