Modifier la taille de la police d'une étiquette

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

J'ai une étiquette dans laquelle il y a un texte très court :
Intervalles
>

Pour mettre en forme le texte j'au écrit la procédure suivante :

Private Sub LabelIntervallesDC1_Click()

With [LabelIntervallesDC1] 'Nom de l'étiquette
.Caption = "Intervalles" & vbCrLf & ">" 'Intervalles + à la ligne + >
.ForeColor = &HFFFFFF 'Texte en blanc
.BackColor = &H4D74 'Fond marron
End With

End Sub

jusque là pas de problème.

Maintenant je voudrais que ">" soit davantage mis en exergue, en conséquence je tente d'augmenter la taille de la police, mais uniquement pour ce caractère (les autres caractères ayant 7 comme taille). J'essaie le bidouillage suivant que je place juste avant End Sub :

[LabelIntervallesDC1].Select
With ActiveSheet.Shapes.Characters(Start:=12, Length:=1).Font
.Size = 9
End With

Echec lamentable.....

Si l'une ou l'un d'entre vous pouvait m'expliquer la raison.
 

James007

XLDnaute Barbatruc
Re : Modifier la taille de la police d'une étiquette

Bonjour,

A priori ton bidouillage aura toutes les chances de correctement fonctionner, si tu lances ce code à partir d'une autre macro ... après que ton code ait été effectué, et donc les changements initiaux pris en compte ...

J'espère que cela sera ... magique ... docteur ;)

A +
 

Magic_Doctor

XLDnaute Barbatruc
Re : Modifier la taille de la police d'une étiquette

La magie n'était pas au rendez-vous.

J'ai essayé avec toutes les combinaisons possibles et imaginables...
Toujours la même erreur : "L'objet n'admet pas cette propriété ou méthode"

Las, je suis allé sur un forum aux USA, et voilà ce qu'ils m'ont répondu :

You can't do that with a label unfortunately. (your code wouldn't have worked anyway as you didn't specify which Shape).

Donc, problème drastiquement réglé : c'est définitivement impossible !

Et m.... !!!
 

tora

XLDnaute Occasionnel
Re : Modifier la taille de la police d'une étiquette

La magie n'était pas au rendez-vous.

J'ai essayé avec toutes les combinaisons possibles et imaginables...
Toujours la même erreur : "L'objet n'admet pas cette propriété ou méthode"

Las, je suis allé sur un forum aux USA, et voilà ce qu'ils m'ont répondu :

You can't do that with a label unfortunately. (your code wouldn't have worked anyway as you didn't specify which Shape).

Donc, problème drastiquement réglé : c'est définitivement impossible !

Et m.... !!!

ouai un contrôle en général n'est pas aussi souple qu'une
cellule, donc les labels ne permettent pas autant de facéties ...
Sorry Magic Doc ... t'a vraiment aucun moyen de faire ton
truc dans une cellule et non un Label ?
 

Pièces jointes

  • tailles polices.xls
    13.5 KB · Affichages: 129

job75

XLDnaute Barbatruc
Re : Modifier la taille de la police d'une étiquette

Bonjour Magic Doctor, le fil, le forum,

Bien d'accord avec tora, un Label c'est rudimentaire.

Mais pas une Zone de texte (barre de menu Dessin).

Edit : mettre en route l'enregistreur de macro, puis clic droit sur la zone, clic dans le texte : on obtient tout le code.

Bonne journée.
 

Pièces jointes

  • Classeur1.xls
    28.5 KB · Affichages: 116
  • Classeur1.xls
    28.5 KB · Affichages: 123
  • Classeur1.xls
    28.5 KB · Affichages: 115
Dernière édition:

Magic_Doctor

XLDnaute Barbatruc
Re : Modifier la taille de la police d'une étiquette

Hola Job75, bonjour Tora,

Vous avez indéniablement raison, avec Excel il ne faut jamais s'entêter et, en cas d'enlisement, tenter de trouver une autre solution. En général ça marche.
La solution de Tora ne peut faire l'affaire, car pour des raisons techniques de présentation + look je dois mettre les titres de 2 enfilades verticales de Button Option avec des Labels ou autres "imagettes".
J'opterai donc pour la solution de Job.
Mais il n'empêche que cette limitation des Labels est quand même bizarre.

Encore merci pour vos conseils.
 

tora

XLDnaute Occasionnel
Re : Modifier la taille de la police d'une étiquette

Hola Job75, bonjour Tora,

Vous avez indéniablement raison, avec Excel il ne faut jamais s'entêter et, en cas d'enlisement, tenter de trouver une autre solution. En général ça marche.
La solution de Tora ne peut faire l'affaire, car pour des raisons techniques de présentation + look je dois mettre les titres de 2 enfilades verticales de Button Option avec des Labels ou autres "imagettes".
J'opterai donc pour la solution de Job.
Mais il n'empêche que cette limitation des Labels est quand même bizarre.

Encore merci pour vos conseils.

il reste cependant un petit point ... la couleur de police sera Ok
par contre je n'ai pas réussi a mettre un fond de couleur dans
cette zone de texte ... vous y arrivez vous ?
 

Magic_Doctor

XLDnaute Barbatruc
Re : Modifier la taille de la police d'une étiquette

Rebonjour Tora,

Ci-joint ce que je suis arrivé à faire.

En revanche j'ai tenté d'enregistrer une macro alors que je manipulais cette "imagette" et curieusement rien n'a été enregistré. Je voudrais en effet que le signe ">" soit jaune dans certaines conditions ou blanc si ces conditions ne sont pas satisfaites.

Ne pourrait-on donc pas manipuler ces "imagettes" par le biais d'une macro ???
 

Pièces jointes

  • Réponse à Tora.xls
    32 KB · Affichages: 99

job75

XLDnaute Barbatruc
Re : Modifier la taille de la police d'une étiquette

Rebonjour à tous,

Pas de problème pour manipuler la forme par macro, mais il faut d'abord la sélectionner.

Exemple dans le code de la feuille, pour l'entrée en F3 :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$F$3" Then Exit Sub
ActiveSheet.Shapes("1 Rectángulo").Select
With Selection.Characters(13, 1).Font
.Size = 20
.ColorIndex = IIf(Target = 1, 6, 2)
End With
ActiveCell.Select
End Sub

J'ai laissé dans le module la macro enregistrée avec toutes les propriétés.

A+
 

Pièces jointes

  • Réponse à Tora...et Job.xls
    46 KB · Affichages: 110
Dernière édition:

job75

XLDnaute Barbatruc
Re : Modifier la taille de la police d'une étiquette

Re,

La fonction IIf en VBA se comporte comme SI dans une feuille de calcul :

IIf(Target = 1, 6, 2) renvoie 6 si Target = 1, et 2 dans le cas contraire.

Mais attention, VBA calcule tous les arguments avant de renvoyer sa valeur, et la macro plante si l'un d'eux est une valeur d'erreur (contrairement à SI). Dans ce cas il faut utiliser If... Then...Else.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 069
Messages
2 085 040
Membres
102 763
dernier inscrit
NICO26