Label dans le sens vertical

Pierre31

XLDnaute Junior
Bonjour à toutes et tous,

Je cherche depuis un bon moment pour faire pivoter un Label de 90° (actuellement dans le sens horizontal) dans un UserForm, de manière que celui-ci soit dans le sens vertical. En allant dans les propriétés du Label je ni arrive pas. :(

D'avance merci pour vos réponses.

Cordialement
Pierre
 
G

Guest

Guest
Re : Label dans le sens vertical

Bonjour Pierre,

Pas possible avec un label.
Solution possible:

1 - remplacer le label par un controle image
2 - dans une feuille de calcul, afficher la barre d'outils dessin
3 - mettre une forme automatique (rectangle)
4 - click-droit sur la forme, Format de la forme automatique, onglet alignement, choisir l'alignement désiré
5 - y mettre un texte et éventuellement retourner la forme avec sa poignée verte.

6 - quant tout est ok, copier la forme et la coller dans la propriété 'Picture' du contrôle image du userform.

A+
 

tototiti2008

XLDnaute Barbatruc
Re : Label dans le sens vertical

Bonjour à tous,

Je trouve ce sujet intéressant, j'en profite pour remercier Hasco de son truc de l'image que je ne connaissais pas et Softmama pour sa démonstration.

Je me demandais seulement si on peut éviter, pour une mise à jour de l'image, de l'enregistrer sur le disque et passer par le presse-papiers, bref comme on le fait manuellement.

Autant mettre l'image dans le presse-papiers avec un CopyPicture ne doit pas poser de problèmes, autant affecter la propriété Picture du controle Image me pose problème...

Est-ce que certains ont des pistes ?

Merci
 

Softmama

XLDnaute Accro
Re : Label dans le sens vertical

Bonjour le fil, bonjour tototiti2008,

Pour ma part, c'est tout d'abord ce que j'ai essayé de faire : trouver le moyen de copier l'image et la plaquer directement dans l'USF, mais je n'y suis pas parvenu autrement que manuellement, alors j'ai effectivement biaisé en exportant l'image comme objet graphique au format .jpg (donc copié sur le disque) et en affectant son chemin à la propriété Picture ds l'USF.

Si qq1 a des billes pour éviter une exportation au format .jpg sans le faire manuellement, je suis également intéressé.
 

Softmama

XLDnaute Accro
Re : Label dans le sens vertical

Re le fil,

Je me suis penché sur le pb soulevé par tototiti2008 et en farfouillant sur le net, je suis tombé sur la perle de S Bullen et sa fonction Pastepicture. Je l'ai intégrée à notre problème de label vertical, et ma foi, le résultat est concluant : plus de création de fichier temporaire sur le DD et de plus l'image est de bonne qualité désormais.

cf fichier joint à cette adresse
 

tototiti2008

XLDnaute Barbatruc
Re : Label dans le sens vertical

Bonjour Softmama,

Merci beaucoup, en fouillant j'avait vu le code en question mais je n'avais pas encore eu le temps de tester ;)

Visiblement, pas trop facile de manipuler l'objet Clipboard, il n'est pas disponible directement en VBA...
 

PhilippeB

XLDnaute Nouveau
Re : Label dans le sens vertical

Bonjour
Je pense que la réponse a mon problème ce trouve dans ce Topic malheureusement pour moi les fichiers ne sont plus disponible..
Je cherche a récupérer un shapes d'un feuille d'un classeur afin de l'afficher dans un USF de CE MEME Classeur....
Si en plus je pouvais éviter de la copier temporairement sur le DD ce serai génial!
Sur le Net je trouve pour exporter un Chart mais je n'arrive pas a l'adapté pour une image (contenue dans un groupe)

Merci de vos lumières... et joyeuses Fêtes
 

Softmama

XLDnaute Accro
Re : Label dans le sens vertical

Bonjour PhilippeB,

Je te joins un fichier répondant à ta demande.
La macro a été développée par STEPHEN BULLEN, Business Modelling Solutions Ltd. Tu la trouveras dans le module1. (il suffit de le copier pour l'utiliser où bon te semble).
Dans le fichier, le 2ème cas t'intéressera puisque le shape appelé toto est copié et affiché dans l'USF. Le 1er permet de copier une image d'un texte mis en forme dans un USF.

Le code de l'usf_initialize devient :
VB:
Private Sub UserForm_Initialize()
'Shape nommé toto (à adapter)
With ActiveSheet.Shapes("Toto")
    'Dimensions de l'usf adaptées à l'image
    UserForm2.Height = .Height + 25
    UserForm2.Width = .Width + 10
    
    'Copie de l'image
    .CopyPicture , xlBitmap
    
    'Vers le fond de l'USF
    Set UserForm2.Picture = PastePicture(xlBitmap)
End With
End Sub


Cordialement
 

Pièces jointes

  • USF_Images Feuille.xls
    162.5 KB · Affichages: 462

Discussions similaires

Statistiques des forums

Discussions
312 273
Messages
2 086 701
Membres
103 376
dernier inscrit
marionromeo