Incérer le caractère code décimal 128 de la police "Webdings"

Bonjour à tous,

Je bloque bêtement.

Je n'arrive pas en cours de fonctionnement du programme à créer un Label et à lui incérer le caractère code décimal 128 de la police "Webdings".

De 0 à 127 pas de problème mais plus après !

Si vous avez des solutions...

Merci par avance.

bonjour,

Sub Macro1()
ActiveCell = ChrW(128)
ActiveCell.Font.Name = "Webdings"
End Sub

A+

Merci, mais c'est pour un 'Label', pas pour une cellule 'Cells'.

Après de longs tâtonnements j'ai découvert que ce qui ne fonctionne pas c'est le changement de police de caractère.

En fait le ' Font.Name = "Webdings" ' ne fonctionne pas. Mais je ne comprends pas pourquoi !

Et il est où ce Label dans un UserForm ou sur une feuille ?

C'est pas ton truc toi, joindre un fichier... YFO te tirer les vers du nez à chaque fois !

Le Label est sur un UserForm.

Mon ordi Excel est coupé d'intenet...

Effectivement la difficulté est de lui attribuer la Police Webdings.

Je contournerai le problème en créant un Control Label (sans caption) déjà formaté en Webdings : Il sera ainsi invisible.

Le moment venu YORAPUKA lui affecté la propriété Caption )ChrW(128)

A+

Je reformule le problème de manière très simple pour que tout le monde le saisisse bien:

Dans un UserForm je crée avec la boîte à outils un intitulé (Label) qui par défaut est en Times New Roman et que je nomme A.

Par copier coller je crée son identique B.

Dans les propriétés de A je change la police, je mets Webdings.

Je lance le programme suivant :

A.Caption = ChrW(33)

B.Caption = ChrW(33)

A affiche une araignée et B un '!'. C'est normal.

Je lance le programme suivant :

A.Caption = ChrW(246)

B.Caption = ChrW(246)

A affiche un chat et B un 'Ö'. C'est normal.

Je lance le programme suivant :

A.Caption = ChrW(33)

B.Font.Name = "Webdings"

B.Caption = ChrW(33)

A affiche une araignée et B une araignée. C'est normal.

Je lance le programme suivant :

A.Caption = ChrW(246)

B.Font.Name = "Webdings"

B.Caption = ChrW(246)

A affiche un chat et B un 'Ö'. Et là je ne comprends pas du tout ce qui se passe !

-

Moralité : Apparemment le changement de police ne fonctionne que jusqu'à ChrW(127) !

Merci de votre aide afin de résoudre et non pas de contourner ce problème...

Oui, le problème existe aussi avec d'autres polices VBA n'accepte des ChrW > 127 que si on reste sur la police de construction. Si on change de police, il n'accepte que des ChrW < 128 et si ensuite on change encore, chez moi (2016) ça n'affiche rien. J'ai même essayé de transiter par une variable string...

Et c'est encore pire si on utilise la méthode Add !

Sur ce plan c'est un des rares cas ou même l'aide de Microsoft est un peu "flou". On arrive à y trouver des "en principe..." : Ils préfères ne pas s'étendre sur le sujet !

Moi personnellement je comprend que cette histoire de Font c'est un peu du "capillot-tracté" On a inséré une propriété Font à un objet qui en réalité n'en possède pas : En vérité c'est le texte qui est à l'intérieur qui possède cette propriété. Les développeurs de VBA ont senti venir la difficulté : Au lieu d'exiger du Control.Characters.Text comme dans les les cellules ou les objets EXCEL, ils ont interfacé une pseudo propriété Font inappropriée à ces objets qui par essence ne devraient pas en comporter. De même tu ne peux pas faire une conversion en Majuscule de ce texte sauf à passer transiter par une variable string. (Mais ça ne marcherait pas non plus avec des ChrW !)

Bon... Excel est un tableur hein ! Pas un Traitement de Texte. A plus forte raison les Labels ne sont que des éléments secondaires d'interface... Mais je parierai bien ma chemise que le même problème existe avec les TextBox.

Depuis qu'Excel à abandonné le RichText, ça n'a jamais trop embarrassé pour faire des calculs ! Il existe bien d'autres langages pour faire des progs élaborées...

A+

Merci galopin01 pour tes lumières.

En attendant mieux, si le mieux existe un jour, je vais créer un Label par police utilisée et le cacher puis le rendre visible quand nécessaire.

Et là il faudra bien que cela fonctionne !

Au plaisir de nouvelles aventures Excelesques...

Bonjour …

Fenêtre des propriétés du contrôle : en caption : (caractère Euro) puis Font = Webdings

euro

Malheureusement le nouveau caractère n’est pas gardé à l’ouverture du formulaire !

On peut quand même biaiser, non ?

Voilà, tout faussaire que je suis, je l’ai fait dans l’exemple joint

16faux-caractere.xlsm (52.79 Ko)

Avis à la population :

Je confirme que créer un Label par police utilisée et le cacher puis le rendre visible quand nécessaire fonctionne parfaitement !
Problème réglé de manière acceptable.

Merci à tous.

Bonjour Excel-75011, Le Forum,

Sinon, crée une image de ton caractère caractériel puis applique là au Label souhaité.

Donc en dessous de 128 c'est par caption, au dessus de 127 c'est par image.

Tu peux ainsi même passer en écriture Word-Art.

Rechercher des sujets similaires à "incerer caractere code decimal 128 police webdings"