L
LaurentTBT
Guest
Bonsoir à tous
J'ai plusieurs cellules fusionnées sur une ligne. J'y inscrit du texte, et je voudrais ajuster la hauteur de la ligne en fonction du texte qui peut s'écrire sur plusieurs lignes. Malheureusement, que ce soit en manuel où sous VBA par l'intermédiaire de AutoFit, le dimensionnement auto ne s'effectue pas, alors que sur une cellule non fusionnée, cela fonctionne.
Première question: peut-on contourner le problème?
De mon côté, j'ai une petite usine à gaz qui me permet d'y remédier. Je recopie le contenu de ma cellule dans une seule cellule beaucoup plus sur la droite (en colonne BA), colonne que j'ai élargie pour qu'elle représente la même largeur de saisie que mes cellules fusionnées initiales. Et là, l'autofit est pris en compte.
Voici la procédure:
Private Sub Worksheet_Change(ByVal Target As Range)
Target.EntireRow.Range("BA1") = Target
Target.EntireRow.AutoFit
a = Target.RowHeight
Target.EntireRow.Range("BA1").ClearContents
Target.RowHeight = Application.WorksheetFunction.Max(a, 18)
Nouveau problème:
J'ai un bug à Target.EntireRow.Range("BA1") = Target,
lorsque la ligne comporte un texte très long
J'ai remplacé par Target.EntireRow.Range("BA1") = Target.text,
mais cela ne me copie pas tout le texte (limitation à 256 caractères???)
Comment puis-je copier une cellule qui contient tant de caractères?
Merci et bonne soirée.
J'ai plusieurs cellules fusionnées sur une ligne. J'y inscrit du texte, et je voudrais ajuster la hauteur de la ligne en fonction du texte qui peut s'écrire sur plusieurs lignes. Malheureusement, que ce soit en manuel où sous VBA par l'intermédiaire de AutoFit, le dimensionnement auto ne s'effectue pas, alors que sur une cellule non fusionnée, cela fonctionne.
Première question: peut-on contourner le problème?
De mon côté, j'ai une petite usine à gaz qui me permet d'y remédier. Je recopie le contenu de ma cellule dans une seule cellule beaucoup plus sur la droite (en colonne BA), colonne que j'ai élargie pour qu'elle représente la même largeur de saisie que mes cellules fusionnées initiales. Et là, l'autofit est pris en compte.
Voici la procédure:
Private Sub Worksheet_Change(ByVal Target As Range)
Target.EntireRow.Range("BA1") = Target
Target.EntireRow.AutoFit
a = Target.RowHeight
Target.EntireRow.Range("BA1").ClearContents
Target.RowHeight = Application.WorksheetFunction.Max(a, 18)
Nouveau problème:
J'ai un bug à Target.EntireRow.Range("BA1") = Target,
lorsque la ligne comporte un texte très long
J'ai remplacé par Target.EntireRow.Range("BA1") = Target.text,
mais cela ne me copie pas tout le texte (limitation à 256 caractères???)
Comment puis-je copier une cellule qui contient tant de caractères?
Merci et bonne soirée.