eviter que le texte déborde de la cellule

  • Initiateur de la discussion Initiateur de la discussion ripo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ripo

XLDnaute Junior
Bonjour,
Comment éviter qu'un texte déborde de la cellule quand la largeur de la colonne est plus petite que la taille du texte?

facile non?... pas pour moi! 🙂

Merci, A+
 
Re : eviter que le texte déborde de la cellule

Bonjour à tous !!

Pour quoi as tu opté ?

-ajuster ne m'arrange pas, l’écriture devient vraiment minuscule..
-renvoie à la ligne non plus, ça élargit ma cellule..
-l'espace non plus, le faire sur > 2000lignes..

N'y a t il pas un moyen de tout simplement stopper le texte au bord de la cellule ?😉

Bien à vous
TH
 
Re : eviter que le texte déborde de la cellule

bonsoir à tous,

il n'y a pas 36 solutions, soit,
tu occupes la cellule en face mais tu n'en veux pas
tu élargies la colonne mais tu n'en veux pas
tu essayes de diminuer la police mais tu dis que c'est riqiqi mini
tu renvoies à la ligne mais tu n'en veux pas
...
bref, il ne te reste plus qu'à raccourcir ton texte !? mais tu ne voudras pas non plus !

perso, lorsque j'ai une colonne susceptible de recevoir une trop grande longueur de texte
je place cette colonne en dernier dans mon tableau.
pas toujours évident, mais bon, il faut bien à un moment donné trancher !




Bonjour à tous !!

Pour quoi as tu opté ?

-ajuster ne m'arrange pas, l’écriture devient vraiment minuscule..
-renvoie à la ligne non plus, ça élargit ma cellule..
-l'espace non plus, le faire sur > 2000lignes..

N'y a t il pas un moyen de tout simplement stopper le texte au bord de la cellule ?😉

Bien à vous
TH
 
Re : eviter que le texte déborde de la cellule

bonsoir à tous,

il n'y a pas 36 solutions, soit,
tu occupes la cellule en face mais tu n'en veux pas
tu élargies la colonne mais tu n'en veux pas
tu essayes de diminuer la police mais tu dis que c'est riqiqi mini
tu renvoies à la ligne mais tu n'en veux pas
...
bref, il ne te reste plus qu'à raccourcir ton texte !? mais tu ne voudras pas non plus !

perso, lorsque j'ai une colonne susceptible de recevoir une trop grande longueur de texte
je place cette colonne en dernier dans mon tableau.
pas toujours évident, mais bon, il faut bien à un moment donné trancher !

Vous avez raison il faut parfois savoir faire des concessions !

Va pour l'espace..
 
Bonjour à tous

Je suis tombé tout à fait par hasard sur ce thème.
Alors peut-être un début de solution.

VB:
Sub TailleCarac_Par_Taillecellule2()
'ajuster les caractère à la taille de la cellule (largeur)
Dim NbCar%, TailleC%, Large&, Taille%, Text$, Hauteur&

Text = Cells(2, 3).Value
TailleC = Cells(2, 3).Font.Size
NbCar = Len(Text)
'----------------
Large = Cells(2, 3).ColumnWidth
TailleC = (Large * 11.3) / NbCar
Cells(2, 3).Font.Size = TailleC
Hauteur = TailleC * 1.3
Cells(2, 3).RowHeight = Hauteur
If Hauteur < 15 Then Cells(2, 3).RowHeight = 15
Cells(2, 3).VerticalAlignment = xlCenter
Range("C2").Font.Name = "Arial Narrow"
End Sub

A+ Jean-Paul
 
Bonjour à toutes et tous

J'ai creusé un peu plus le sujet.
le nouveau module traite la cellule unique ou fusionnée sur la même ligne.
Tel qu'elle est la sub traite une cellule quelconque.

VB:
Sub TailleCarac_Par_Taillecellule3()
'ajuster les caractère à la taille de la cellule (largeur)
'ou cellules fusionnées sur la même ligne
Dim NbCar%, TailleC%, Large&, Taille%, Text$, Hauteur&
Dim Adr$, Adr1$, Lg&, Col%, NbF%, i%

Adr = ActiveCell.Address
Col = Range(Adr).Column
Text = Range(Adr).Value
NbF = ActiveCell.MergeArea.Cells.Count 'Nb colonne
TailleC = Range(Adr).Font.Size
NbCar = Len(Text): If NbCar = 0 Then Exit Sub
Large = Range(Adr).ColumnWidth
'--- Largeur total cellules fusionnées ---
Lg = 0
For i = Col To NbF + Col - 1
    Large = Cells(1, i).ColumnWidth
    Lg = Large + Lg
Next i
'-----------------------------------------
TailleC = (Large * Lg) * 0.8 / NbCar
Range(Adr).Font.Size = TailleC
Hauteur = TailleC * 1.3
Range(Adr).RowHeight = Hauteur
If Hauteur < 15 Then Range(Adr).RowHeight = 15
Range(Adr).VerticalAlignment = xlCenter
Range(Adr).HorizontalAlignment = xlCenter
Range(Adr).Font.Name = "Algerian" '"Arial Narrow"
End Sub

Salutation
Jean-Paul
 
Salut

je procède ainsi
upload_2018-11-9_13-43-4.png
 
Bonjour le fil, salut VIARD, Si...
-l'espace non plus, le faire sur > 2000lignes..
Ce n'est pas un problème avec ce code :
Code:
Sub LimiteTexte()
ActiveSheet.UsedRange.Replace " ", "", xlWhole 'RAZ
With ActiveSheet.UsedRange 'redéfinit le UsedRange
    .Columns(.Columns.Count + 1) = " "
    On Error Resume Next 'si aucune SpecialCell
    .SpecialCells(xlCellTypeBlanks) = " "
End With
End Sub
A+
 
Bonjour JOB, SI et à tous

ok, les cellules fusionnées n'étaient pas prévues au programme,
mais pour titrer un tableau c'est pratique ou un tableau de bord.
@SI, oui bien sur c'est ton choix.
@job, bien le code, mais il supprime le texte des cellules fusionnées.

Amicalement
Jean-Paul
 
Re,
@job, bien le code, mais il supprime le texte des cellules fusionnées.
S'il y a des cellules fusionnées on utilisera un tableau VBA, très rapide :
Code:
Sub LimiteTexte()
Dim t, ub%, i&, j%
ActiveSheet.UsedRange.Replace " ", "", xlWhole 'RAZ
With ActiveSheet.UsedRange 'redéfinit le UsedRange
    With .Resize(, .Columns.Count + 1)
        t = .Formula 'matrice, plus rapide
        ub = UBound(t, 2)
        For i = 1 To UBound(t)
            For j = 1 To ub
                If t(i, j) = "" Then t(i, j) = " "
        Next j, i
        .Formula = t 'restitution
    End With
End With
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
47
Réponses
5
Affichages
500
Retour