Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

ajustement des textes dans des cellules fusionnées

chaelie2015

XLDnaute Accro
Bonjour forum

Quelqu’un peut m’expliquer comment faire pour ajuster les textes dans des cellules fusionnées

Dans mon exemple ne s’afficher pas complet et quand je mets « aperçu avant l’impression » il s’affiche bien ??????
merci
 

Pièces jointes

  • CHARLIE AJUSTEMENT.xlsx
    9.5 KB · Affichages: 48

eddy1975

XLDnaute Occasionnel
Re,
Les cellules sont fusionnées de la colonne A à X avec un alignement à droite. Voilà ce que j'ai en aperçu.
J'ai supprimé le mot "par" en doublon sur la deuxième ligne.
Dis mois ce qui ne te va pas par rapport à cette capture.
@+
 

DoubleZero

XLDnaute Barbatruc
Bonjour, chaelie2015, eddy1975, le Forum,

En attendant mieux et selon le nombre de caractères...
Code:
Option Explicit
Sub Ajuster()
    Dim c As Range
    For Each c In Columns(2).SpecialCells(xlCellTypeConstants)
        If Len(c) > 85 Then
            With c
                .RowHeight = 37
                .HorizontalAlignment = xlLeft
                .VerticalAlignment = xlTop
                .WrapText = True
            End With
        End If
    Next
End Sub
A bientôt
 

chris

XLDnaute Barbatruc
Bonjour

Excel n'est pas 100% WysiWyg : que les cellules soient ou non fusionnées, on a le problème, lié de plus au coeff de zoom.

Cependant quand les cellules ne sont pas fusionnées, elles débordent à l'affichage sur celle de droite (et/ou gauche selon l'alignement) si celles-ci sont vides.

A 90% de zoom cela s'affiche bien chez moi

Edit : bouh, je tape à côté du clavier...
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Bonjour tous le monde

Chris, j'ai un portable et le zoom n'affecte en rien la visualisation des lignes. Pour test j'ai supprimer les lignes vides entre les textes et mis une hauteur de 18 en utilisant la macro de DoubleZero.

 

chris

XLDnaute Barbatruc
Bonjour à tous

En ouvrant le fichier posté en #1, sans toucher à rien à part le zoom
Comme déjà dit cela, dépend de plein de paramètres d'affichages et peut-être aussi de l'imprimante (pilote), Excel n'étant pas Wysiwyg.
Il faut trouver le meilleur compromis : soit élargir les colonnes, soit jouer sur le zoom. Un des compromis permet un affichage proche de l'impression...
 

job75

XLDnaute Barbatruc
Bonjour chaelie2015, eddy1975, DoubleZero, chris, Lone-wolf,

Dans cette solution VBA l'astuce consiste à utiliser une TextBox auxiliaire (masquée) :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column <> 2 Then Exit Sub 'colonne B
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With TextBox1
  .Visible = False
  .AutoSize = False
  .Font.Name = ActiveCell.Font.Name
  .Font.Size = ActiveCell.Font.Size
  .Width = 5000
  .Value = ActiveCell
  .AutoSize = True
End With
ActiveCell.UnMerge
While ActiveCell.MergeArea.Width < TextBox1.Width
  Range(ActiveCell, ActiveCell.Offset(, 1)).Merge
Wend
ActiveCell.MergeArea.Select
End Sub
Fichier joint.

A+
 

Pièces jointes

  • CHARLIE AJUSTEMENT VBA(1).xlsm
    31.8 KB · Affichages: 37

job75

XLDnaute Barbatruc
Re,

Dans une TextBox il y a des marges.

On peut peaufiner en en tenant compte :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column <> 2 Then Exit Sub 'colonne B
Dim marge#
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With TextBox1
  .Visible = False
  .AutoSize = False
  .Font.Name = ActiveCell.Font.Name
  .Font.Size = ActiveCell.Font.Size
  TextBox1 = ""
  .AutoSize = True
  marge = TextBox1.Width - 1 'on conserve une petite marge de 1 point
  .AutoSize = False
  .Width = 5000
  .Value = ActiveCell
  .AutoSize = True
End With
ActiveCell.UnMerge
While ActiveCell.MergeArea.Width < TextBox1.Width - marge
  Range(ActiveCell, ActiveCell.Offset(, 1)).Merge
Wend
ActiveCell.MergeArea.Select
End Sub
Fichier (2).

A+
 

Pièces jointes

  • CHARLIE AJUSTEMENT VBA(2).xlsm
    32.2 KB · Affichages: 39

Discussions similaires

Réponses
2
Affichages
851
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…