XL 2016 Ajuster les lignes au Contenu

KTM

XLDnaute Impliqué
Bonjour chers tous
Jai une plage de données "A4:K2000"
La largeur de chaque colonnes est déjà fixée.
La hauteur des lignes est fixé à 45,1.
Je voudrais à laide d'une macro VBA ajuster les lignes au contenu si le texte déborde sinon maintenir les 45,1.
Jai élaboré un code mais il fonctionne pas comme je le souhaite.
Besoin d'aide....
VB:
Sub DimLigne()
Dim col As Range
Dim x As Long
x = 45.1
Application.ScreenUpdating = False
With ActiveSheet
For Each col In .Range("A4:K" & .Range("B" & Rows.Count).End(xlUp).Row + 1)
col.EntireRow.AutoFit
If col.RowHeight < x Then col.RowHeight = x
Next
End With
End Sub
 

fanch55

XLDnaute Barbatruc
Bonjour,
Testez le code ci-dessous :
VB:
Sub DimLigne()
Const x = 45.1
Application.ScreenUpdating = False
    With ActiveSheet.Range("A4:K" & ActiveSheet.Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row + 1)
        .Rows.AutoFit
        .WrapText = True
       'Il n'est pas utile de parcourir chaque cellule
        For Each Line In .Rows
            If Line.RowHeight < x Then Line.RowHeight = x
        Next
    End With
End Sub
 

piga25

XLDnaute Barbatruc
Bonjour,
Un essai avec cela
VB:
Sub HauteurLigneAuto()
    Dim I As Long
    Selection.Rows.AutoFit
    For I = 4 To 2000
        If Selection.Rows(I).RowHeight < 45,1 Then Selection.Rows(I).RowHeight = 45,1
    Next I
    Range("A1").Select
End Sub

Attention s'il y a un texte long dans une colonne après la colonne K, cela ajustera également la hauteur de ligne.
 

KTM

XLDnaute Impliqué
Bonjour,
Testez le code ci-dessous :
VB:
Sub DimLigne()
Const x = 45.1
Application.ScreenUpdating = False
    With ActiveSheet.Range("A4:K" & ActiveSheet.Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row + 1)
        .Rows.AutoFit
        .WrapText = True
       'Il n'est pas utile de parcourir chaque cellule
        For Each Line In .Rows
            If Line.RowHeight < x Then Line.RowHeight = x
        Next
    End With
End Sub
ok merci
 

KTM

XLDnaute Impliqué
Bonjour,
Un essai avec cela
VB:
Sub HauteurLigneAuto()
    Dim I As Long
    Selection.Rows.AutoFit
    For I = 4 To 2000
        If Selection.Rows(I).RowHeight < 45,1 Then Selection.Rows(I).RowHeight = 45,1
    Next I
    Range("A1").Select
End Sub

Attention s'il y a un texte long dans une colonne après la colonne K, cela ajustera également la hauteur de ligne.
Merci...
 

Discussions similaires

Réponses
2
Affichages
173

Statistiques des forums

Discussions
312 451
Messages
2 088 517
Membres
103 874
dernier inscrit
baraki