[XL2010 + VBA] masquer texte se chevauchant

Résolu
SpcCwb Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -  
SpcCwb Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour CCM,

Deux fois en deux jours, aucun doute Excel me fera toujours m'arracher les cheveux!

Tout d'abord mon fichier est ici: https://www.cjoint.com/c/IExmswYqi7I

Mon problème est simple (comme toujours n'est-ce pas?):
En cellule A16 j'ai un du texte (qui est coller dans cette cellule par une macro), et en C16 j'ai une formule qui est toujours présente (que la macro précédente ait été lancée ou non pour coller le texte en A16). Le problème c'est que lorsque le texte en A16 est trop long, il se chevauche avec celui en C16. Ce qui rend le résultat illisible.

Ce que je souhaite:
Lorsque le texte en A16 est trop long et se chevauche avec celui en C16, je souhaite qu'il passe "derrière" C16 et qu'on ne le voit plus du tout. Il doit cependant être tel qu'il a été copié à la base, sans plus ni moins de caractères.

Difficultés:
-je ne peux pas modifier la mise en page, la largeur des colonnes est définie telle quelle car j'en ai besoin pour le reste du document.
-je ne peux pas aligner le texte en C16 sur la gauche car en D16 j'ai également du texte.
-lors de la copie du texte en A16 via la macro, je ne peux pas rogner le texte en trop car j'ai besoin que le contenu de la cellule soit identique à la cellule d'origine qui a été copiée.
-je ne peux pas non plus faire de retour à la ligne.

Je sais que ça ne va pas être facile et je vous remercie d'avance pour le temps que vous m'accorderez.
A voir également:

1 réponse

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

En bricolant un peu
Dans ta macro, lorsque tu colles ton texte T en A16, si le nombre de caractères de T est supérieur à 15 (environ) et si B16 est vide, tu mets un espace en B16

Cdlmnt
1
SpcCwb Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

Pas bête effectivement. Mais ça me fait perdre de la place.

J'ai opté pour une coloration partielle du texte en blanc à partir du 35ème caractère en A16.

            With d
.Characters(38, 50).Font.ColorIndex = 2
End With


Merci encore du coup de main ;-)
0