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

XL 2013 Afficher texte avec mise en forme dans un label

yannick64

XLDnaute Junior
Bonjour à tous,

Je dois afficher du texte d'une cellule dans un userform pour faire une sorte d'aide. Je pensais le faire avec un label.
Mon souci c'est que le texte qui s'affiche perd toute mise en page (couleur et gras ou italique).
J'utilise ce type de code :
Code:
Private Sub Label1_Click()
Label1.Caption = Feuil1.[A1&char(13)&A2&char(13)&A3]
End Sub

Est ce qu'il est possible d'afficher du texte dans un userform avec un label ou autre chose en gardant la mise en page?

Merci pour votre aide
Yannick
 

job75

XLDnaute Barbatruc
Re : Afficher texte avec mise en forme dans un label

Bonjour yannick64,

Le texte que vous mettez dans le Label est celui de 3 cellules.

Les mises en forme dans un Label (ou un autre contrôle) s'appliquent à tout le texte.

Voyez les propriétés ForeColor et Font.

A+
 
Dernière édition:

yannick64

XLDnaute Junior
Re : Afficher texte avec mise en forme dans un label

Oui c'est bien ça mon problème la mise en page est différente au sein d'une même cellule.
J'ai pensé aussi à une Textbox... mais ça ne fonctionne pas non plus

Yannick
 

job75

XLDnaute Barbatruc
Re : Afficher texte avec mise en forme dans un label

Re,

Evidemment on peut toujours faire compliqué n'est-ce pas

Alors créez un fichier JPEG à partir d'une photo (CopyPicture) des cellules.

Et vous chargerez ce fichier JPEG dans un contrôle Image de l'UserForm.

Il y a pas mal d'exemples sur le forum (j'en ai fait).

A+
 

job75

XLDnaute Barbatruc
Re : Afficher texte avec mise en forme dans un label

Bonjour Yannick, le forum,

Voyez ci-joint ce que l'on peut faire avec cette macro :

Code:
Private Sub Image1_Click()
Dim P As Range, dh, fichier$
'---plage à copier---
Set P = Feuil1.[A1:A3].Offset(3 * Val(Image1.Tag))
Image1.Tag = 1 - Val(Image1.Tag)
'---dimensions---
Image1.Width = P.Width: Me.Width = P.Width
dh = P.Height - Image1.Height
Image1.Height = P.Height: Me.Height = Me.Height + dh
'---fichier JPEG---
fichier = ThisWorkbook.Path & "\MonImage.jpg"
P.CopyPicture
With Feuil1.ChartObjects.Add(0, 0, P.Width, P.Height).Chart
  .Paste
  .Export fichier, "JPG"
  .Parent.Delete
End With
Image1.Picture = LoadPicture(fichier)
Me.Repaint 'MAJ
Kill fichier
End Sub
Edit : mots clés pour recherche ultérieure creer image

Bonne journée.
 

Pièces jointes

  • Image USF(1).xlsm
    21.7 KB · Affichages: 34
Dernière édition:

job75

XLDnaute Barbatruc
Re : Afficher texte avec mise en forme dans un label

Re,

En ajoutant un Frame :

Code:
Private Sub Image1_Click()
Dim P As Range, dh, fichier$
'---plage à copier---
Set P = Feuil1.[A1:A6]
'---dimensions---
dh = P.Height / 2 - Frame1.Height
Frame1.Width = P.Width + 12: Frame1.Height = P.Height / 2
Frame1.ScrollHeight = P.Height
Image1.Width = P.Width: Me.Width = Frame1.Width
Image1.Height = P.Height: Me.Height = Me.Height + dh
'---fichier JPEG---
fichier = ThisWorkbook.Path & "\MonImage.jpg"
P.CopyPicture
With Feuil1.ChartObjects.Add(0, 0, P.Width, P.Height).Chart
  .Paste
  .Export fichier, "JPG"
  .Parent.Delete
End With
Image1.Picture = LoadPicture(fichier)
Me.Repaint 'MAJ
Kill fichier
End Sub
Fichier (2).

A+
 

Pièces jointes

  • Image USF(2).xlsm
    22.4 KB · Affichages: 40
Dernière édition:

Discussions similaires

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