[XL2010 + VBA] masquer texte se chevauchant

Résolu/Fermé
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 - Modifié le 23 mai 2019 à 14:35
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 - 23 mai 2019 à 16:33
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.

1 réponse

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
23 mai 2019 à 15:46
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 mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 1
23 mai 2019 à 16:33
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