Traduction de texte d'après mots piochés dans un glossaire

Bonjour à tous !

Je bloque sur une partie de mon code et j'ai besoin d'une solution.

But de la macro :
Dans un onglet liste, remplacer les mots de chaque cellule de la colonne B par leur équivalents pris dans un glossaire (feuille glossaire)
Ecrire la chaine de caractères "traduite" dans la colonne voisine
boucler sur les 6 langues du glossaire

compter et écrire le nombre de mots non traduits

mettre en rouge les mots non traduits dans la chaine traduite

Subtilités à considérer :
1/ les expressions contenant un espace comme "matière principale" doivent être considérées comme un seul mot. Du coup vous verrez que dans mon code je crée une colonne temporaire C où dans ces expressions spécifiquement je remplace l'espace par un tiret. "matière principale" devient "matière-principale"
Au passage je modifie le glossaire pour que "matière-principale" ait une traduction sans tiret (ex. Main material)

2/ les données chiffrées ne sont pas à traduite (ex 50%) et ne doivent pas incrémenter le compteur des mots non traduits

3/ si les textes à traduire contiennent des saut de ligne (chr(10)) il faut les conserver. Dans ma colonne temporaire je remplace chr(10) par " saut-de-ligne " que je ne traduit pas et remplace par un saut de ligne pour la mise en forme finale

4/ les signes de ponctuation qui terminent un mot doivent-être ignorés et conservés dans la version finale. exemple "Matière, " fera chercher le mot "matière" dans le glossaire et sera traduit par "material, "

Mon code reste à cleaner et à améliorer car constitué de bouts de macros que j'ai faites. Ne critiquez donc pas cette partie.

LA OU JE BLOQUE :

c'est l'écriture avec le format texte rouge sur les colonnes finales D à I (6 langues). La mise en forme ne se fait que sur ma colonne temporaire C. j'ai l'impression que la couleur de texte saute quant j'effectue la concaténation des mots traduits / non traduits : cell.Offset(0, j).Value = Replace(Join(mots, " "), " saut-de-ligne ", chr(10))

En PJ mon fichier test

Merci pour vos lumières !

NB : une autre méthode plus simple consisterait à faire traduire chaque cellule dans un traducteur en ligne (microsoft translate je crois). Mais ça demande un compte avec une carte bleue enregistrée... ce que je ne souhaite pas.

Rechercher des sujets similaires à "traduction texte mots pioches glossaire"