Intercaler un "Webdings" dans une chaîne au moyen d'une fonction

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Supposons que, dans une chaîne, je veuille qu'il y ait la petite araignée que l'on trouve dans la police "Webdings" et qui normalement correspond à "!" ---> blablabla petite araignée popopo <=> blablabla ! popopo

J'ai essayé de la manière suivante :
VB:
Function SimboloEnFrase(nom1 As String, nom2 As String, sep As String, Optional police As String) As String
Dim cadena As Variant
'- nom1 : 1er mot
'- nom 2 : 2ème mot
'- sep : symbole qui sépare dans la chaîne mot1 de mot2
'- police : nom de la police de caractères "exotiques" pour "sep" (si l'on veut que le séparateur soit
'           vraiment atypique, un symbole de "Webdings" par exemple)

cadena = nom1 & sep & nom2

If police <> "" Then
    cadena.Characters(Start:=Len(nom1) + 1, Length:=Len(sep)).Font.Name = police
End If

SimboloEnFrase = cadena

End Function

Évidemment, ça ne marche pas. cadena devrait être un Range.
Peut-on y parvenir ?

Merci pour tout commentaire.
 

job75

XLDnaute Barbatruc
Re : Intercaler un "Webdings" dans une chaîne au moyen d'une fonction

Bonjour Magic_Doctor,

On ne peut pas individualiser la mise en forme des caractères renvoyés par une formule.

Il faut donc une procédure Sub à la place de ta fonction.

Elle entrera les textes "en dur" dans les cellules et les mettra en forme.

A+
 

Magic_Doctor

XLDnaute Barbatruc
Re : Intercaler un "Webdings" dans une chaîne au moyen d'une fonction

Bonsoir job,

Avant de te lire je me posais déjè des questions. Tu as tout à fait raison, les fonctions ne renvoyant que des valeurs numériques ou autres ne peuvent aller au-delà de leurs possibilités (et de leur rôle). Il faut donc passer par une macro traditionnelle.

@+
 

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 107
dernier inscrit
cdel