Mettre en GRAS un mot variable dans une phrase, en VBA

Bonjour à tous

Celà fait des lustres que je ne suis plus revenu ici!

J'aurais besoin de vos lumières pour une petite bricole en VBA.

Je dois sur la première feuille afficher une phrase, en mettant en gras uniquement les caractères saisis dans la 2ème feuille.

Le nombre de caractère est donc variable, ainsi que leur nature (texte, chiffre). La phrase dans l'exemple est donc fabriquée avec une formule. Celà peut ne pas etre la solution finale. c'était juste pour vous montrer. La phrase pourrais très bien être compilée déjà en VBA à partir d'éléments de la feuille 2, puis affichée.

Ci dessous un petit fichier (où il n'y a pas grand chose), mais la question est assez simple finalement.

L'idéal serait une macro de type Worksheet_Change, pour que la phrase se change toute seule dès la modification.

Pour etre complet, il s'agit d'un long formulaire, c'est dans la feuille 2 que tous les choix seront fais.

Merci beaucoup

61invitations.xls (15.50 Ko)

Bonjour,

Une première piste en passant :

https://www.excel-pratique.com/fr/astuces_vba/mise_en_forme_caracteres.php

Cordialement,

Merci, super ce code.

En revanche, c'est un peu ce que je disais dans mon premier message, le code ne fonctione pas sur du texte élaboré à partir d'une formule.

Par exemple si en A1 le texte est écris comme ça :

="il y a "&B1&" invitations"

avec en B1, un nombre par exemple, eh bien la macro ne fonctionnera pas sur la cellule A1.

Je pense qu'il faudrait que je copie/collage valeur ma formule, pour faire bosser la macro sur ce résultat de valeur, là ca devrait fonctionner.

Mais je ne vois pas trop comment faire.

Une solution adaptée à ton fichier :

Sub test()
    nb_car_valeur_seconde_feuille = Len(Sheets("Feuil2").Range("C6"))
    Range("C8") = Range("C8") 'Suppr. de la formule
     Range("C8").Characters(7 + 1, nb_car_valeur_seconde_feuille).Font.Bold = True '7 => nb. car. de "il y a "
End Sub
83invitations.zip (6.93 Ko)

Cordialement,

Rechercher des sujets similaires à "mettre gras mot variable phrase vba"