OVH Cloud OVH Cloud

VBA nombre de lignes (retours) dans la cellule

15 réponses
Avatar
LSteph
Bonjour,

Excel est avant tout un tableur , mais certains utilisateurs dans des
tableaux d=E9j=E0 fort grands utilisent parfois une colonne pour y rentrer
des observations qui peuvent s'averer un peu longues.
Or, lorsque le contenu d'une cellule est un peu long et en supposant
qu'on a fix=E9 une largeur et utilis=E9 le renvoi =E0 la ligne , lorsque
l'on veut alors proc=E8der =E0 un ajustement automatique de cette ligne,
Excel 2003 ne fait pas correctement cet ajustement, il reste du texte
qui n'appara=EEt pas sauf si on augmente manuellement la hauteur de
ligne.

Quelqu'un saurait il en VBA quelle propri=E9t=E9 donnerait le nombre de
lignes ou renvois =E0 la ligne (Alt+Entr=E9e inclus) d=E9coulant du contenu
de la cellule. Le but serait lorsque le n=E9cessaire exc=E8de la partie
visible de r=E9ajuster directement la hauteur, puisque je connais la
taille de la police utilis=E9e et la hauteur standard de ligne qui en
d=E9coule.
In fine cela me permettra d'adapter une procedure pour chaque
cellule d'une colonne distinctement.

Merci d'avance.

--
lSteph

5 réponses

1 2
Avatar
LSteph
Bonjour,

J'en suis arrivé à la conclusion en testant et pour finir en utilisant
ce qui suit qu'il reste le souci du renvoi à la ligne auto qui ne se
fait plus au dessus de 1024 chr

Merci pour votre aide.

--
lSteph

Sub ModifLg()
Dim c As Range, lng As Integer
If Selection.Cells.Count < 1 Then Exit Sub
On Error Resume Next
For Each c In Range("b2", [b65536].End(xlUp).Address).Cells
lng = Len(c) * 7.5 / 1.71
If lng > c.Columns.Width Then
c.RowHeight = 12.75 * ((lng / c.Columns.Width) + 1 _
+ Application.CountA(c, Chr(10)))
Else
c.Rows.AutoFit
End If
Next
End Sub
On 16 sep, 18:31, LSteph wrote:
Bonjour,

Excel est avant tout un tableur , mais certains  utilisateurs dans des
tableaux déjà fort grands utilisent parfois une colonne pour y rentre r
des observations qui peuvent s'averer un peu longues.
Or, lorsque le contenu d'une cellule est un peu long et en supposant
qu'on a fixé une largeur et utilisé le renvoi à la ligne , lorsque
l'on veut alors procèder à un ajustement automatique de cette ligne,
Excel 2003 ne fait pas correctement cet ajustement, il reste du texte
qui n'apparaît pas sauf si on augmente manuellement la hauteur de
ligne.

Quelqu'un saurait il en VBA quelle propriété donnerait le nombre de
lignes ou renvois à la ligne (Alt+Entrée inclus) découlant du conte nu
de la cellule. Le but serait lorsque le nécessaire excède la partie
visible de réajuster directement la hauteur, puisque je connais la
taille de la police utilisée et la hauteur standard de ligne qui en
découle.
 In fine  cela me permettra d'adapter une procedure pour chaque
cellule d'une colonne distinctement.

Merci d'avance.

--
lSteph


Avatar
michdenis
Bonjour LSteph,

| qu'il reste le souci du renvoi à la ligne auto qui ne se
| fait plus au dessus de 1024 chr

Les versions précédentes à excel 2007 ne permettent pas
d'afficher dans une cellule plus de 1024 caractères. Pour voir
le contenu du texte, il faut le voir via la barre de formule.




"LSteph" a écrit dans le message de groupe de discussion :

Bonjour,

J'en suis arrivé à la conclusion en testant et pour finir en utilisant
ce qui suit qu'il reste le souci du renvoi à la ligne auto qui ne se
fait plus au dessus de 1024 chr

Merci pour votre aide.

--
lSteph

Sub ModifLg()
Dim c As Range, lng As Integer
If Selection.Cells.Count < 1 Then Exit Sub
On Error Resume Next
For Each c In Range("b2", [b65536].End(xlUp).Address).Cells
lng = Len(c) * 7.5 / 1.71
If lng > c.Columns.Width Then
c.RowHeight = 12.75 * ((lng / c.Columns.Width) + 1 _
+ Application.CountA(c, Chr(10)))
Else
c.Rows.AutoFit
End If
Next
End Sub
On 16 sep, 18:31, LSteph wrote:
Bonjour,

Excel est avant tout un tableur , mais certains utilisateurs dans des
tableaux déjà fort grands utilisent parfois une colonne pour y rentrer
des observations qui peuvent s'averer un peu longues.
Or, lorsque le contenu d'une cellule est un peu long et en supposant
qu'on a fixé une largeur et utilisé le renvoi à la ligne , lorsque
l'on veut alors procèder à un ajustement automatique de cette ligne,
Excel 2003 ne fait pas correctement cet ajustement, il reste du texte
qui n'apparaît pas sauf si on augmente manuellement la hauteur de
ligne.

Quelqu'un saurait il en VBA quelle propriété donnerait le nombre de
lignes ou renvois à la ligne (Alt+Entrée inclus) découlant du contenu
de la cellule. Le but serait lorsque le nécessaire excède la partie
visible de réajuster directement la hauteur, puisque je connais la
taille de la police utilisée et la hauteur standard de ligne qui en
découle.
In fine cela me permettra d'adapter une procedure pour chaque
cellule d'une colonne distinctement.

Merci d'avance.

--
lSteph


Avatar
LSteph
Oui, c'est bien cela ma conclusion, ça résoud le pb mais
bien sûr dans la limite des 1024 chr en revanche
voilà tout de même que viendrait un bon point pour la version 2007

Merci d'avoir confirmé et pour l'info.

--
lSteph

On 17 sep, 15:03, "michdenis" wrote:
Bonjour LSteph,

| qu'il reste le souci du renvoi à la ligne auto qui ne se
| fait plus au dessus de 1024 chr

Les versions précédentes à excel 2007 ne permettent pas
d'afficher dans une cellule plus de 1024 caractères. Pour voir
le contenu du texte, il faut le voir via la barre de formule.

"LSteph" a écrit dans le message de groupe de disc ussion :

Bonjour,

J'en suis arrivé à la conclusion en testant et pour finir en utilisan t
ce qui suit qu'il reste le souci du renvoi à la ligne auto qui ne se
fait plus au dessus de 1024 chr

Merci pour votre aide.

--
lSteph

Sub ModifLg()
Dim c As Range, lng As Integer
If Selection.Cells.Count < 1 Then Exit Sub
On Error Resume Next
For Each c In Range("b2", [b65536].End(xlUp).Address).Cells
lng = Len(c) * 7.5 / 1.71
If lng > c.Columns.Width Then
c.RowHeight = 12.75 * ((lng / c.Columns.Width) + 1 _
+ Application.CountA(c, Chr(10)))
Else
c.Rows.AutoFit
End If
Next
End Sub
On 16 sep, 18:31, LSteph wrote:



> Bonjour,

> Excel est avant tout un tableur , mais certains  utilisateurs dans de s
> tableaux déjà fort grands utilisent parfois une colonne pour y rent rer
> des observations qui peuvent s'averer un peu longues.
> Or, lorsque le contenu d'une cellule est un peu long et en supposant
> qu'on a fixé une largeur et utilisé le renvoi à la ligne , lorsqu e
> l'on veut alors procèder à un ajustement automatique de cette ligne ,
> Excel 2003 ne fait pas correctement cet ajustement, il reste du texte
> qui n'apparaît pas sauf si on augmente manuellement la hauteur de
> ligne.

> Quelqu'un saurait il en VBA quelle propriété donnerait le nombre de
> lignes ou renvois à la ligne (Alt+Entrée inclus) découlant du con tenu
> de la cellule. Le but serait lorsque le nécessaire excède la partie
> visible de réajuster directement la hauteur, puisque je connais la
> taille de la police utilisée et la hauteur standard de ligne qui en
> découle.
>  In fine  cela me permettra d'adapter une procedure pour chaque
> cellule d'une colonne distinctement.

> Merci d'avance.

> --
> lSteph- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
michdenis
On peut afficher 32768 caractères dans une cellule de la version Excel 2007
comparativement à 1024 caractères pour les versions d'Excel précédentes.



"LSteph" a écrit dans le message de groupe de discussion :

Oui, c'est bien cela ma conclusion, ça résoud le pb mais
bien sûr dans la limite des 1024 chr en revanche
voilà tout de même que viendrait un bon point pour la version 2007

Merci d'avoir confirmé et pour l'info.

--
lSteph

On 17 sep, 15:03, "michdenis" wrote:
Bonjour LSteph,

| qu'il reste le souci du renvoi à la ligne auto qui ne se
| fait plus au dessus de 1024 chr

Les versions précédentes à excel 2007 ne permettent pas
d'afficher dans une cellule plus de 1024 caractères. Pour voir
le contenu du texte, il faut le voir via la barre de formule.

"LSteph" a écrit dans le message de groupe de discussion :

Bonjour,

J'en suis arrivé à la conclusion en testant et pour finir en utilisant
ce qui suit qu'il reste le souci du renvoi à la ligne auto qui ne se
fait plus au dessus de 1024 chr

Merci pour votre aide.

--
lSteph

Sub ModifLg()
Dim c As Range, lng As Integer
If Selection.Cells.Count < 1 Then Exit Sub
On Error Resume Next
For Each c In Range("b2", [b65536].End(xlUp).Address).Cells
lng = Len(c) * 7.5 / 1.71
If lng > c.Columns.Width Then
c.RowHeight = 12.75 * ((lng / c.Columns.Width) + 1 _
+ Application.CountA(c, Chr(10)))
Else
c.Rows.AutoFit
End If
Next
End Sub
On 16 sep, 18:31, LSteph wrote:



> Bonjour,

> Excel est avant tout un tableur , mais certains utilisateurs dans des
> tableaux déjà fort grands utilisent parfois une colonne pour y rentrer
> des observations qui peuvent s'averer un peu longues.
> Or, lorsque le contenu d'une cellule est un peu long et en supposant
> qu'on a fixé une largeur et utilisé le renvoi à la ligne , lorsque
> l'on veut alors procèder à un ajustement automatique de cette ligne,
> Excel 2003 ne fait pas correctement cet ajustement, il reste du texte
> qui n'apparaît pas sauf si on augmente manuellement la hauteur de
> ligne.

> Quelqu'un saurait il en VBA quelle propriété donnerait le nombre de
> lignes ou renvois à la ligne (Alt+Entrée inclus) découlant du contenu
> de la cellule. Le but serait lorsque le nécessaire excède la partie
> visible de réajuster directement la hauteur, puisque je connais la
> taille de la police utilisée et la hauteur standard de ligne qui en
> découle.
> In fine cela me permettra d'adapter une procedure pour chaque
> cellule d'une colonne distinctement.

> Merci d'avance.

> --
> lSteph- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
isabelle
oh, tout une différence, comme l'a dit lSteph, un bon point pour la
version 2007

isabelle



michdenis a écrit :
On peut afficher 32768 caractères dans une cellule de la version Excel 2007
comparativement à 1024 caractères pour les versions d'Excel précédentes.



"LSteph" a écrit dans le message de groupe de discussion :

Oui, c'est bien cela ma conclusion, ça résoud le pb mais
bien sûr dans la limite des 1024 chr en revanche
voilà tout de même que viendrait un bon point pour la version 2007

Merci d'avoir confirmé et pour l'info.

--
lSteph

On 17 sep, 15:03, "michdenis" wrote:

Bonjour LSteph,

| qu'il reste le souci du renvoi à la ligne auto qui ne se
| fait plus au dessus de 1024 chr

Les versions précédentes à excel 2007 ne permettent pas
d'afficher dans une cellule plus de 1024 caractères. Pour voir
le contenu du texte, il faut le voir via la barre de formule.

"LSteph" a écrit dans le message de groupe de discussion :

Bonjour,

J'en suis arrivé à la conclusion en testant et pour finir en utilisant
ce qui suit qu'il reste le souci du renvoi à la ligne auto qui ne se
fait plus au dessus de 1024 chr

Merci pour votre aide.

--
lSteph

Sub ModifLg()
Dim c As Range, lng As Integer
If Selection.Cells.Count < 1 Then Exit Sub
On Error Resume Next
For Each c In Range("b2", [b65536].End(xlUp).Address).Cells
lng = Len(c) * 7.5 / 1.71
If lng > c.Columns.Width Then
c.RowHeight = 12.75 * ((lng / c.Columns.Width) + 1 _
+ Application.CountA(c, Chr(10)))
Else
c.Rows.AutoFit
End If
Next
End Sub
On 16 sep, 18:31, LSteph wrote:




Bonjour,

Excel est avant tout un tableur , mais certains utilisateurs dans des
tableaux déjà fort grands utilisent parfois une colonne pour y rentrer
des observations qui peuvent s'averer un peu longues.
Or, lorsque le contenu d'une cellule est un peu long et en supposant
qu'on a fixé une largeur et utilisé le renvoi à la ligne , lorsque
l'on veut alors procèder à un ajustement automatique de cette ligne,
Excel 2003 ne fait pas correctement cet ajustement, il reste du texte
qui n'apparaît pas sauf si on augmente manuellement la hauteur de
ligne.

Quelqu'un saurait il en VBA quelle propriété donnerait le nombre de
lignes ou renvois à la ligne (Alt+Entrée inclus) découlant du contenu
de la cellule. Le but serait lorsque le nécessaire excède la partie
visible de réajuster directement la hauteur, puisque je connais la
taille de la police utilisée et la hauteur standard de ligne qui en
découle.
In fine cela me permettra d'adapter une procedure pour chaque
cellule d'une colonne distinctement.

Merci d'avance.

--
lSteph- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -







1 2