XL 2016 Ajustement automatique de la largeur d'une colonne

crocrocro

XLDnaute Impliqué
Bonjour,
je n'arrive pas à effectuer l'ajustement automatique de la largeur d'une colonne dans ce cas particulier :
Dans la même cellule j'ai un texte avec des passages à la ligne suivante par Alt + Entrée (ou VbLf en VBA).
Ce qui positionne automatiquement la cellule en Mode "Renvoyer à la ligne automatiquement".
Avec Format -> Ajuster la Largeur des Colonnes, du fait du "Renvoyer à la ligne automatiquement", il n'y a pas d'ajustement de la largeur de la colonne.
Il en est de même en VBA avec des instructions comme Range("A1").Columns.AutoFit , Range("A1").EntireColumn.AutoFit,Range("A:A").AutoFit.
Par exemple dans le fichier joint en cellule A1
Quelqu'un aurait-il une solution ? Avec ou sans VBA
1734874856450.png
 

Pièces jointes

  • AjusterLargeurColonne.xlsx
    9.1 KB · Affichages: 9
Solution
@Phil69970 , as-tu lu mon post 3 ? J'ai dû faire l'EDIT après ta lecture, désolé !
Ma conclusion :
si avant l'autofit, la colonne est plus petite que la taille après autofit, l'autofit n'a aucun effet.
Il faudrait donc forcer la largeur de la colonne à une taille XXL (ce que j'ai fait avec le code ci-dessous) avant de faire l'Autofit.
C'est quand même tordu 🙃



VB:
CelluleO.ColumnWidth = 255 ' le maximum
    CelluleO.Columns.AutoFit
    Application.ScreenUpdating = True
    Set CelluleI = Nothing
    Set CelluleO = Nothing
End Sub

crocrocro

XLDnaute Impliqué
@Phil69970, très bizarre, çà ne marche pas 8 fois sur 10 en fonction de ce que j'ai fait avant.
C'est en essayant de le mettre en place sur le fichier que j'ai donné en pj sur la discussion Copie texte de word vers Excel dans le post 10 en ayant lancé plusieurs fois la macro par le bouton (actuellement, il n'y a a pas d'autofit de la colonne B2 ou cellule CelluleO.
Et de nouveaux essais en complétant la fin de Sub comme ceci n'a rien donné.
VB:
.....
    Application.ScreenUpdating = True
    'CelluleO.Columns.AutoFit
    Range("B1").Columns.AutoFit
    Set CelluleI = Nothing
    Set CelluleO = Nothing
End Sub
Si tu veux bien faire des essais de ton côté avec le fichier de l'autre discussion ... Merci
[EDIT] j'ai un début d'explication sur le pourquoi cela ne marche pas à tous les coups :
si avant l'autofit, la colonne est plus petite que la taille après autofit, l'autofit n'a aucun effet.
Il faudrait donc forcer la largeur de la colonne à une taille XXL avant de faire l'Autofit.
C'est quand même tordu 🙃
 
Dernière édition:

crocrocro

XLDnaute Impliqué
@Phil69970 , as-tu lu mon post 3 ? J'ai dû faire l'EDIT après ta lecture, désolé !
Ma conclusion :
si avant l'autofit, la colonne est plus petite que la taille après autofit, l'autofit n'a aucun effet.
Il faudrait donc forcer la largeur de la colonne à une taille XXL (ce que j'ai fait avec le code ci-dessous) avant de faire l'Autofit.
C'est quand même tordu 🙃



VB:
CelluleO.ColumnWidth = 255 ' le maximum
    CelluleO.Columns.AutoFit
    Application.ScreenUpdating = True
    Set CelluleI = Nothing
    Set CelluleO = Nothing
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 109
Messages
2 116 310
Membres
112 716
dernier inscrit
jean1234