Il faut ouvrir les yeux :
Tu écris : .Characters(InStr(1, .Value, "Gencod"), -2)
soit 1er caract. visé = InStr(1, .Value, "Gencod") soit le G de Gencod !!!
longueur : -2 !!! valeur incorrecte donc tout ce qui suit se met en gras !
J'avais écrit : .Characters(1, InStr(1, .Value, "Gencod") - 2)
1er caract visé : 1 soit le P de PAVE, ce qui fait une sacré différence !!!
longueur : InStr(1, .Value, "Gencod") - 2, soit le range du G, qui doit être 21 (ou 22 si présence d'un saut de ligne que je ne vois pas, mais c'est sans importance), et on retranche 2, ce qui fait 19
soit ordre de mettre en gras les 19 premiers caractères de la chaîne.