OVH Cloud OVH Cloud

ajuster hauteur de ligne

4 réponses
Avatar
Philippe
Bonjour,

j'ai des utilisateurs qui doivent saisir du texte dans une cellule excel
je voudrais que la hauteur de la ligne se redimensionne lorsqu'ils quittent
la cellule (enter ou tab)
d'autant plus que la feuille est destinée à être imprimée (sur plusieurs
pages si nécessaire)

naturellement la propriété de la cellule est renvoyer à la ligne
automatiquement

auriez vous une piste ?
Merci d'avance,
Philippe

4 réponses

Avatar
anonymousA
Bonjour

A placer dans le module de feuille concernée

Private Sub Worksheet_Change(ByVal Target As Range)
Target.WrapText = True
End Sub

A+
Avatar
Philippe
Merci encore pour ton aide anonymousA.



Placé dans le module de la feuille
...project......excel objects feuil2(p3)
je pense être au bon endroit,

mais ça ne fonctionne pas :

lorsque je modifie une celulle : blabla alt+enter blabla blo alt+enter, la
ligne ne se redimensionne pas, et donc le texte n'apparait pas en entier.

c'est la première fois que je touche à ces feuille là
je supposes que ça ce lit : évènement la feuille change, le changement est
fait par byval (une cellule je suppose) j'affecte le range de byval dans
target et je lui dis de wraptext


Bonjour

A placer dans le module de feuille concernée

Private Sub Worksheet_Change(ByVal Target As Range)
Target.WrapText = True
End Sub

A+




Avatar
Philippe
doit yavoir un truc sur ma feuille ou mon classeur,
parce que ça marche dans un classeur vierge, même sans macro

le truc c'est peut-être qu'il s'agit d'une cellule fusionnée !



Bonjour

A placer dans le module de feuille concernée

Private Sub Worksheet_Change(ByVal Target As Range)
Target.WrapText = True
End Sub

A+




Avatar
anonymousA
Re,

tu as compris. Si tu changes une valeur de la feuille dans laquelle a
été placée la procédure ( dans le module de feuille bien sur),
alors la procédure se déclenche. Target renvoie le range qui a
changé. Donc si on lui dit .wraptext=true , alors elle autorise le
renvoi automatique à la ligne de ce range.Ceci dit, ces "bor..." de
cellules fusionnées font la zouba aussi bine d'ailleurs à la main que
par programmation.
Ce que je peux faire de mieux avec ces affaires ( mais ce n'est pas
parfait)
With Target
If .MergeCells = True Then
temp = .MergeArea.Address
.UnMerge
.Cells(1).Rows.AutoFit
Range(temp).Merge
Else
.WrapText = True
End If
End With

A+