OVH Cloud OVH Cloud

contenu cellule (texte) affiché partiellement

4 réponses
Avatar
jipaih
bonjour
je dois gérer des fichiers excel contenant des cellules avec des textes
assez longs (1000-2000 caractères je crois) et je n'ai pas encore
trouvé comment afficher la totalité du texte dans la cellule, aussi
bien écran que imprimante. Il en manque toujours. Rien à faire dans
format, affichage, etc...une astuce, un oubli ?
excel 2000
merci

--
Enlever NonNon dans l'adresse pour réponse directe. Merci

4 réponses

Avatar
Daniel
Bonjour.
Tu ne peux afficher que 1024 caractères. Dixit M$.
Cordialement.
Daniel
"jipaih" a écrit dans le message de news:

bonjour
je dois gérer des fichiers excel contenant des cellules avec des textes
assez longs (1000-2000 caractères je crois) et je n'ai pas encore trouvé
comment afficher la totalité du texte dans la cellule, aussi bien écran
que imprimante. Il en manque toujours. Rien à faire dans format,
affichage, etc...une astuce, un oubli ?
excel 2000
merci

--
Enlever NonNon dans l'adresse pour réponse directe. Merci



Avatar
jipaih
Bonjour.
Tu ne peux afficher que 1024 caractères. Dixit M$.
Cordialement.
Daniel
Merci.

afficher je veux bien comprendre mais imprimer ? pourquoi aussi 1024 ?

--
Enlever NonNon dans l'adresse pour réponse directe. Merci

Avatar
Patrick BASTARD
Bonjour, *jipaih*
J'ai lu ton post
avec le plus grand intéret :

Une alternative : découper ta cellule en tronçons :
http://cjoint.com/?hms1Rb1vik
Et le tour est joué...
Cela te convient-il ?


--
Bien amicordialement,
P. Bastard


bonjour
je dois gérer des fichiers excel contenant des cellules avec des
textes assez longs (1000-2000 caractères je crois) et je n'ai pas
encore trouvé comment afficher la totalité du texte dans la cellule,
aussi bien écran que imprimante. Il en manque toujours. Rien à faire
dans format, affichage, etc...une astuce, un oubli ?
excel 2000
merci


Avatar
PMO
Bonjour,

Une piste avec ce code VBA.
Copiez le code dans un module standard du VBE (pour y accéder Alt+F11)

CELA FAIT
1) Demande du nombre de caractères par ligne.
2) Découpe le texte en l'affichant sur plusieurs lignes dans une autre
feuille.

RESTRICTIONS
1) Ne fonctionne qu'avec une feuille ayant une seule colonne.
Pour détourner copiez la colonne dans une nouvelle feuille.
2) Ne fonctionne qu'avec une feuille ayant au moins 2 lignes
Pour détourner insérez une ligne et inscrivez un espace (par exemple)
3) Comme la macro découpe le texte et pour l'afficher ajoute des lignes
il y a la limite de lignes Excel soit 65536 lignes.
Ainsi si vous avez une feuille de 5000 lignes et pour chacune 2000
caractères et que vous voulez les découper en lignes de 100 caractères
(par ex)
5000 x 2000 / 100 = 100000 lignes (ça plante)
Pour détourner coupez vos lignes en plusieurs feuilles

**********
Sub PMO_AfficheTexte()
Dim TRANCHE
Dim R As Range
Dim var
Dim T()
Dim T2()
Dim A$
Dim B$
Dim i&
Dim x&
Dim Lig&
Set R = ActiveSheet.UsedRange
If R.Columns.Count > 1 Then
MsgBox "Le programme ne peut traiter qu'une colonne à la fois." & _
vbCrLf & "Copiez une colonne unique dans une autre feuille."
Exit Sub
End If
If R.Rows.Count = 1 Then
MsgBox "Le programme ne peut traiter une seule ligne." & _
vbCrLf & "Insérez une ligne et mettez une valeur quelconque."
Exit Sub
End If
refaire:
TRANCHE = Application.InputBox( _
prompt:="Quel nombre de caractères par ligne ?", _
Title:="Réorganise le texte par lignes", _
Type:=1)
If TRANCHE = False Then Exit Sub
If TRANCHE < 50 Or TRANCHE > 255 Then
MsgBox "Saisissez un nombre de 50 à 255"
GoTo refaire
End If
var = R
For i& = 1 To UBound(var, 1)
x& = Lig&
A$ = var(i&, 1)
Do Until (A$ = "")
B$ = Mid(A$, 1, TRANCHE)
If Right(B$, 1) = Chr(32) Or _
InStr(1, B$, Chr(32)) = 0 Then
x& = x& + 1
ReDim Preserve T(1 To x&)
If InStr(1, B$, Chr(32)) = 0 Then
T(x&) = B$
Else
T(x&) = Mid(B$, 1, Len(B$) - 1)
End If
A$ = Mid(A$, Len(B$) + 1)
Else
If Len(A$) > TRANCHE Then
Do Until Right(B$, 1) = Chr(32)
B$ = Mid(B$, 1, Len(B$) - 1)
Loop
End If
x& = x& + 1
ReDim Preserve T(1 To x&)
T(x&) = Mid(B$, 1, Len(B$) - 1)
A$ = Mid(A$, Len(B$) + 1)
End If
Loop
x& = 0
If Lig& < UBound(T) Then Lig& = UBound(T)
Next i&
Sheets.Add after:=Sheets(Sheets.Count)
ReDim T2(1 To Lig&, 1 To 1)
For i& = 1 To Lig&
T2(i&, 1) = T(i&)
Next i&
Range(Cells(1, 1), Cells(Lig&, 1)) = T2
End Sub
**********

Cordialement.
--
PMO
Patrick Morange



bonjour
je dois gérer des fichiers excel contenant des cellules avec des textes
assez longs (1000-2000 caractères je crois) et je n'ai pas encore
trouvé comment afficher la totalité du texte dans la cellule, aussi
bien écran que imprimante. Il en manque toujours. Rien à faire dans
format, affichage, etc...une astuce, un oubli ?
excel 2000
merci

--
Enlever NonNon dans l'adresse pour réponse directe. Merci