Bonjour à tous,
Après avoir fait pas mal de recherches sans succès pour trouver une astuce pour se libérer de la limitation de la hauteur de ligne sous excel, j'ai fini par arriver à quelque chose de pas trop mal pour pouvoir afficher un texte plus long que la limite imposée par le logiciel.
Je me suis dit que ça pourrait être utile à ceux qui aurait le même soucis que j'ai eu pour un programme quelconque ou bien même intéressant pour ceux qui aiment résoudre des problèmes.
Voici ce à quoi je suis arrivé:
Dans cet exemple, un long texte est dans la cellule "E2" de la feuille 1 et on veut pouvoir afficher l'intégralité dans la cellule "A1" de la feuille 1
sub gerer_remarques()
b = 0
ligne=1
c=0
Remarques = Split(ActiveWorkbook.Worksheets(1).Range("A1"), Chr(10)) 'on découpe le texte à chaque retour à la ligne
Rema = "" 'on vide la variable tampon
n = UBound(Remarques) ' on récupère le nombre de lignes découpées
While n > 0
With Sheets(2).Rows(ligne + c)
.Insert
.Copy
.Offset(-1, 0).PasteSpecial Paste:=xlPasteFormats
End With 'on insère une ligne identique à celle visée
If n > 26 Then 'si il y a plus de 26 lignes (limite de lignes dans mon cas, à adapter en fonction de la taille de la cellule et de la police d'écriture)
For l = 0 + b To 26 + b 'on copie les 26 premières lignes du message dans la variable tampon
Rema = Rema & Remarques(l) & Chr(10)
Next
ActiveWorkbook.Worksheets(2).Range("A" & 1 + c).Value = Rema ' on écrit dans la cellule A1
Rema = ""
ElseIf n <= 26 Then 'si on arrive à la fin du message à copier
For l = UBound(Remarques) - n To UBound(Remarques)
Rema = Rema & Remarques(l) & Chr(10)
Next
ActiveWorkbook.Worksheets(2).Range("A" & 1 + c).Value = Rema
End If
c = c + 1 'on passe à la ligne suivante (cellule du dessous)
n = n - 27 'on précise qu'au prochain tour on ne s'occupe pas des 26 premières lignes (déjà traitées)
b = b + 27
Wend
End sub
Voila j'espère que mon exemple est compréhensible et que cela aidera.
cependant cela ne fait qu'écrire un message sur deux/trois/dix cellules distinctes, j'ai essayé de les fusionner mais ça n'a pas résolu le problème.
Si vous avez de meilleures idées pour pallier au problème de la limitation de la hauteur de cellule n'hésitez pas!
J'ai l'impression de n'avoir que bidouillé et pas véritablement codé, un exemple plus propre serait le bienvenu
Partager